From 4cca308699dc565aaf164b9bbf3d3e535fef5bf4 Mon Sep 17 00:00:00 2001
From: nidapeng <jp@doumee.com>
Date: 星期四, 28 三月 2024 15:57:36 +0800
Subject: [PATCH] 提交一把

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java    |   14 
 company/src/views/business/shop.vue                                                          |    9 
 server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java                         |    5 
 company/.env.developmentCom                                                                  |   18 
 company/src/components/business/OperaInsuranceApplyShopWindow.vue                            |  899 ++++++++++++++++++++++++++++++++++++++++++++
 company/.env.developmentShop                                                                 |   18 
 company/src/views/business/insuranceApplyShop.vue                                            |   10 
 server/company/src/main/resources/application.yml                                            |    2 
 company/src/views/business/company.vue                                                       |  160 ++++----
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |    2 
 server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java   |    4 
 company/src/views/system/menuShop.vue                                                        |    2 
 server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java          |    1 
 company/package.json                                                                         |    2 
 14 files changed, 1,045 insertions(+), 101 deletions(-)

diff --git a/company/.env.developmentCom b/company/.env.developmentCom
new file mode 100644
index 0000000..fd0d4ea
--- /dev/null
+++ b/company/.env.developmentCom
@@ -0,0 +1,18 @@
+# 寮�鍙戠幆澧冮厤缃�
+NODE_ENV = 'development'
+
+# 鎺ュ彛鍓嶇紑
+# VUE_APP_API_PREFIX = '/yyb_web_api'
+
+# 浼佷笟绔�-浠佸悍
+# VUE_APP_API = 'http://192.168.0.186:10031/'
+# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/'
+
+# 骞冲彴绔�-浠佸悍
+# VUE_APP_API = 'http://192.168.0.186:10030/'
+VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
+
+# 骞冲彴绔�-钀嶅
+# VUE_APP_API = 'http://192.168.0.105:10023/'
+
+VUE_APP_API = 'http://localhost:10032/'
diff --git a/company/.env.developmentShop b/company/.env.developmentShop
new file mode 100644
index 0000000..9ea5a62
--- /dev/null
+++ b/company/.env.developmentShop
@@ -0,0 +1,18 @@
+# 寮�鍙戠幆澧冮厤缃�
+NODE_ENV = 'development'
+
+# 鎺ュ彛鍓嶇紑
+# VUE_APP_API_PREFIX = '/yyb_web_api'
+
+# 浼佷笟绔�-浠佸悍
+# VUE_APP_API = 'http://192.168.0.186:10031/'
+# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_web_api/'
+
+# 骞冲彴绔�-浠佸悍
+# VUE_APP_API = 'http://192.168.0.186:10030/'
+VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
+
+# 骞冲彴绔�-钀嶅
+# VUE_APP_API = 'http://192.168.0.105:10023/'
+
+VUE_APP_API = 'http://localhost:10031/'
diff --git a/company/package.json b/company/package.json
index 797990f..d631b5d 100644
--- a/company/package.json
+++ b/company/package.json
@@ -4,6 +4,8 @@
   "private": true,
   "scripts": {
     "serve": "vue-cli-service serve",
+    "serveshop": "vue-cli-service serve --mode developmentShop",
+    "servecom": "vue-cli-service serve --mode developmentCom",
     "build:pro": "vue-cli-service build",
     "build:pro_v2": "vue-cli-service build --mode production_v2",
     "build:dev": "vue-cli-service build --mode staging",
diff --git a/company/src/components/business/OperaInsuranceApplyShopWindow.vue b/company/src/components/business/OperaInsuranceApplyShopWindow.vue
new file mode 100644
index 0000000..8632eff
--- /dev/null
+++ b/company/src/components/business/OperaInsuranceApplyShopWindow.vue
@@ -0,0 +1,899 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        width="100%"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        <div class="desc">
+            <div class="desc_item">
+                <div class="desc_item_label" v-if="userInfo.type === 1 &&(model.statusCollect === 2 || model.statusCollect === 3)">
+                    <div class="desc_item_label_left">
+                        <span>淇濋櫓鍒版湡杩樻湁 <b style="color: #F95601;">{{model.loseEfficacyDays ? model.loseEfficacyDays : '-'}}</b> 澶�</span>
+                        <el-button type="primary" v-if="model.statusCollect === 2 || model.statusCollect === 3" @click="$refs.OperaInsuranceApply.open('缁繚', { id: dataId, type: 1 })">涓�閿画淇�</el-button>
+                        <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.additionSubtractionApplication.open('鍔犲噺淇濈敵璇�', { id: dataId })">鍔犲噺淇濈敵璇�</el-button>
+                        <el-button type="primary" v-if="model.statusCollect === 2" @click="$refs.factoryChange.open('鏇存崲娲鹃仯鍗曚綅鐢宠', { id: dataId })">鏇存崲娲鹃仯鍗曚綅鐢宠</el-button>
+                    </div>
+                </div>
+                <div class="desc_item_label">
+                    <div class="desc_item_label_left">
+                        <span>鎶曚繚浼佷笟锛歿{ model.companyName }}</span>
+                      <span>淇濆崟鐘舵�侊細<span  :class="'apply-status'+model.status" >{{ model.statusInfo }}</span></span>
+                        <span>鎻愪氦鏃堕棿锛歿{ model.createDate }}</span>
+                    </div>
+                  <div class="desc_item_label_right">
+                      <template v-if="userInfo.type === 1">
+                          <el-button v-if="[0, 2, 3, 10].includes(model.status)" type="danger" @click="$refs.applyReturn.open('鐢宠閫�鍥�', {id: dataId})">鐢宠閫�鍥�</el-button>
+                          <el-button v-if="model.status == 4" type="primary" @click="$refs.OperaInsuranceApply.open('鎶曚繚鐢宠', {id: dataId})">鍐嶆鎶曚繚</el-button>
+                          <el-button v-if="model.status == 4" type="primary" @click="closeOrder">鍏抽棴璁㈠崟</el-button>
+                          <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�',model,0)">瀵煎嚭璇﹀崟</el-button>
+                          <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">鏌ョ湅鎶曚繚鍗�</el-button>
+                          <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
+<!--                          goSign-->
+                          <el-button v-if="model.status == 2" type="primary" @click="$refs.operaverifyPhoneNumberWindew.open('楠岃瘉鎵嬫満鍙�')">绛剧讲鎶曚繚鍗�</el-button>
+                      </template>
+                    <template v-else>
+                      <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�',model,0)">瀵煎嚭璇﹀崟</el-button>
+                      <el-button v-if="[2, 3, 5, 7, 8].includes(model.status)" type="primary" @click="viewToubaodan">鏌ョ湅鎶曚繚鍗�</el-button>
+                      <el-button v-if="model.status == 5" type="primary" @click="viewBaoxiandan">鏌ョ湅淇濋櫓鍗�</el-button>
+                      <el-button v-if="[2,10].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶鎶曚繚鍗�',model,2)">涓婁紶鎶曚繚鍗�</el-button>
+                      <el-button v-if="model.status == 3 && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('涓婁紶淇濋櫓鍗�',model,3)">涓婁紶淇濋櫓鍗�</el-button>
+                      <el-button  v-if="[6,7,8,11].includes(model.status) && model.solutionType ==0" type="primary" @click="$refs.OperaInsuranceApplyCheckWindow.open('椹冲洖閫�鍥炵敵璇�',model,5)">椹冲洖閫�鍥炵敵璇�</el-button>
+                      <el-button v-if="model.status == 0 && model.solutionType ==0" type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚瀹℃牳',model,1)">鎶曚繚瀹℃牳</el-button>
+                      <el-button v-if="![1,4,,5].includes(model.status) && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('閫�鍥炴姇淇�',model,1)">閫�鍥炴姇淇�</el-button>
+                      <el-button v-if="model.status == 5  && model.solutionType ==0" type="danger" @click="$refs.OperaInsuranceApplyCheckWindow.open('淇敼淇濋櫓鍗�',model,4)">淇敼淇濋櫓鍗�</el-button>
+                    </template>
+                  </div>
+                </div>
+                <div class="desc_item_from">
+                    <el-table
+                        :data="tableData"
+                        border
+                        style="width: 100%">
+                        <el-table-column
+                            prop="code"
+                            align="center"
+                            label="淇濆崟鍙�">
+                        </el-table-column>
+                        <el-table-column
+                            prop="solutionsName"
+                            label="淇濋櫓鏂规"
+                            align="center"
+                            width="180">
+                        </el-table-column>
+                        <el-table-column
+                            prop="startTime"
+                            align="center"
+                            label="淇濋櫓鐢熸晥璧锋湡">
+                        </el-table-column>
+                        <el-table-column
+                            prop="endTime"
+                            align="center"
+                            label="淇濋櫓鐢熸晥姝㈡湡">
+                        </el-table-column>
+                        <el-table-column
+                            prop="insureNum"
+                            align="center"
+                            label="鎶曚繚浜烘暟">
+                        </el-table-column>
+                        <el-table-column
+                            prop="serviceDays"
+                            align="center"
+                            label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
+                        </el-table-column>
+                        <el-table-column
+                            prop="currentFee"
+                            align="center"
+                            label="宸蹭骇鐢熻垂鐢�(鍏�)">
+                        </el-table-column>
+                        <el-table-column
+                            prop="fee"
+                            align="center"
+                            label="鎬昏垂鐢�(鍏�)">
+                        </el-table-column>
+                    </el-table>
+                </div>
+                <div class="desc_item_cate">
+                    <el-tabs v-model="activeName" @tab-click="handleClick">
+                        <el-tab-pane label="鍦ㄤ繚浜哄憳" name="0" ></el-tab-pane>
+                        <el-tab-pane label="鍔�/鍑忎繚璁板綍"  name="1"></el-tab-pane>
+                        <el-tab-pane label="鏇存崲娲鹃仯鍗曚綅璁板綍" name="2"></el-tab-pane>
+                    </el-tabs>
+                </div>
+                <div class="desc_item_search">
+                    <el-form :inline="true" :model="formInline" ref="sou" class="demo-form-inline">
+                        <template v-if="activeName === '0'">
+                            <el-form-item label="鍦ㄤ繚鐘舵��" prop="applyStatus">
+                                <el-select v-model="formInline.applyStatus" @change="search" placeholder="璇烽�夋嫨">
+                                    <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="duId">
+                                <el-select v-model="formInline.duId" placeholder="璇烽�夋嫨" @change="search">
+                                    <el-option
+                                        v-for="item in dwList"
+                                        :key="item.id"
+                                        :label="item.name"
+                                        :value="item.id">
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
+                            <el-form-item label="鎵�灞炲伐绉�" prop="workTypeId">
+                                <el-select v-model="formInline.workTypeId" placeholder="璇烽�夋嫨" @change="search">
+                                    <el-option
+                                        v-for="item in gzList"
+                                        :key="item.id"
+                                        :label="item.name"
+                                        :value="item.id">
+                                    </el-option>
+                                </el-select>
+                            </el-form-item>
+                            <el-form-item label="鍛樺伐濮撳悕" prop="memberName">
+                                <el-input v-model="formInline.memberName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
+                            </el-form-item>
+                            <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="end">
+                                <el-date-picker
+                                    @change="changeStart"
+                                    v-model="formInline.end"
+                                    type="daterange"
+                                    format="yyyy 骞� MM 鏈� dd 鏃�"
+                                    value-format="yyyy-MM-dd"
+                                    range-separator="鑷�"
+                                    start-placeholder="寮�濮嬫棩鏈�"
+                                    end-placeholder="缁撴潫鏃ユ湡">
+                                </el-date-picker>
+                            </el-form-item>
+                            <el-form-item label="淇濋櫓鐢熸晥姝㈡湡" prop="start">
+                                <el-date-picker
+                                    @change="changeEnd"
+                                    v-model="formInline.start"
+                                    type="daterange"
+                                    format="yyyy 骞� MM 鏈� dd 鏃�"
+                                    value-format="yyyy-MM-dd"
+                                    range-separator="鑷�"
+                                    start-placeholder="寮�濮嬫棩鏈�"
+                                    end-placeholder="缁撴潫鏃ユ湡">
+                                </el-date-picker>
+                            </el-form-item>
+                        </template>
+                        <template v-else>
+                            <el-form-item label="鐘舵��" prop="applyStatus">
+                                <el-select v-model="formInline.applyStatus" @change="search" placeholder="璇烽�夋嫨">
+                                    <el-option label="鍏ㄩ儴" value=""></el-option>
+                                    <el-option label="寰呯缃�" value="0"></el-option>
+                                    <el-option label="寰呭鏍�" value="1"></el-option>
+                                    <el-option label="宸茬敓鏁�" value="2"></el-option>
+                                    <el-option label="鐢宠閫�鍥�" value="3"></el-option>
+                                    <el-option label="宸查��鍥�" value="5"></el-option>
+                                    <el-option label="宸插叧闂�" value="6"></el-option>
+                                </el-select>
+                            </el-form-item>
+                            <el-form-item label="鎵瑰崟鐢熸晥璧锋湡" prop="end">
+                                <el-date-picker
+                                    @change="changeStart"
+                                    v-model="formInline.end"
+                                    type="daterange"
+                                    format="yyyy 骞� MM 鏈� dd 鏃�"
+                                    value-format="yyyy-MM-dd"
+                                    range-separator="鑷�"
+                                    start-placeholder="寮�濮嬫棩鏈�"
+                                    end-placeholder="缁撴潫鏃ユ湡">
+                                </el-date-picker>
+                            </el-form-item>
+                        </template>
+                        <el-form-item>
+                            <el-button type="primary" style="width: 80px;" @click="search">鏌ヨ</el-button>
+                            <el-button @click="resetting" style="width: 80px;">閲嶇疆</el-button>
+                            <el-button type="primary" style="width: 80px;" @click="exportExcel" v-if="activeName === '0'">瀵煎嚭鍚嶅崟</el-button>
+                        </el-form-item>
+                    </el-form>
+                </div>
+                <div class="desc_item_from">
+                    <el-table
+                        :data="list"
+                        border
+                        ref="table"
+                        v-if="activeName === '0'"
+                        style="width: 100%">
+                        <el-table-column label="搴忓彿"
+                                         align="center">
+                            <template slot-scope="scope">
+                                <span>{{scope.$index + 1}}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="memberName"
+                            align="center"
+                            label="鍛樺伐濮撳悕">
+                        </el-table-column>
+                        <el-table-column
+                            align="center"
+                            :key="Math.random()"
+                            label="鎬у埆">
+                            <template slot-scope="{row}">
+                                <span v-if="row.sex === 0">鐢�</span>
+                                <span v-else>濂�</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="idcardNo"
+                            align="center"
+                            label="韬唤璇佸彿">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="duName"
+                            align="center"
+                            label="娲鹃仯鍗曚綅">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="workTypeName"
+                            align="center"
+                            label="鎵�灞炲伐绉�">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="startTime"
+                            align="center"
+                            label="淇濋櫓鐢熸晥璧锋湡">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="endTime"
+                            align="center"
+                            label="淇濋櫓鐢熸晥姝㈡湡">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            align="center"
+                            prop="fee"
+                            label="浜х敓璐圭敤">
+                        </el-table-column>
+                    </el-table>
+                    <el-table
+                        :data="list1"
+                        border
+                        ref="table"
+                        v-if="activeName === '1'"
+                        style="width: 100%">
+                        <el-table-column
+                            label="搴忓彿"
+                            align="center">
+                            <template slot-scope="scope">
+                                <span>{{scope.$index + 1}}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="淇濆崟鐘舵��" :key="Math.random()"
+                             align="center">
+                            <template slot-scope="{row}">
+                                <span :class="'change-status'+row.status" v-if="row.status === 0">寰呯缃�</span>
+                                <span :class="'change-status'+row.status" v-if="row.status === 1">寰呭鏍�</span>
+                                <span :class="'change-status'+row.status" v-if="row.status === 2">宸茬敓鏁�</span>
+                                <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">鐢宠閫�鍥�</span>
+                                <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">宸查��鍥�</span>
+                                <span :class="'change-status'+row.status" v-if="row.status === 6">宸插叧闂�</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="applyCode"
+                            align="center"
+                            label="鎵瑰崟鍙�">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="addNum"
+                            align="center"
+                            label="澧炲姞浜烘暟锛堜汉锛�">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="delNum"
+                            align="center"
+                            label="鍑忓皯浜烘暟锛堜汉锛�">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="createDate"
+                            align="center"
+                            label="鎻愪氦鏃堕棿">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="applyStartTime"
+                            align="center"
+                            label="鎵瑰崟鐢熸晥璧锋湡">
+                        </el-table-column>
+                        <el-table-column
+                            align="center"
+                            :key="Math.random()"
+                            label="鎿嶄綔">
+                            <template slot-scope="{row}">
+                                <el-button type="text" @click="$refs.OperaApplyChangeDetailWindow.open('鍔犲噺淇濊鎯�', row)">鏌ョ湅璇︽儏</el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                    <el-table
+                        :data="list2"
+                        border
+                        ref="table"
+                        v-if="activeName === '2'"
+                        style="width: 100%">
+                        <el-table-column label="搴忓彿"
+                                         align="center">
+                            <template slot-scope="scope">
+                                <span>{{scope.$index + 1}}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            align="center" label="淇濆崟鐘舵��" :key="Math.random()">
+                            <template slot-scope="{row}">
+                                <span :class="'change-status'+row.status" v-if="row.status === 0">寰呯缃�</span>
+                                <span :class="'change-status'+row.status" v-if="row.status === 1">寰呭鏍�</span>
+                                <span :class="'change-status'+row.status" v-if="row.status === 2">宸茬敓鏁�</span>
+                                <span :class="'change-status'+row.status" v-if="row.status === 3 || row.status === 4">鐢宠閫�鍥�</span>
+                                <span :class="'change-status'+row.status" v-if="row.status === 5 || row.status === 8">宸查��鍥�</span>
+                                <span :class="'change-status'+row.status" v-if="row.status === 6">宸插叧闂�</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            align="center"
+                            prop="applyCode"
+                            label="鎵瑰崟鍙�">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="changeNum"
+                            align="center"
+                            label="鏇存崲娲鹃仯鍗曚綅浜烘暟">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="createDate"
+                            align="center"
+                            label="鎻愪氦鏃堕棿">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            prop="applyStartTime"
+                            align="center"
+                            label="鎵瑰崟鐢熸晥璧锋湡">
+                        </el-table-column>
+                        <el-table-column
+                            :key="Math.random()"
+                            align="center"
+                            label="鎿嶄綔">
+                            <template slot-scope="{row}">
+                                <el-button type="text" @click="$refs.OperaApplyChangeUnitDetailWindow.open('鏇存崲娲鹃仯鍗曚綅璇︽儏', row)">鏌ョ湅璇︽儏</el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                    <div class="desc_item_from_page">
+                        <el-pagination
+                            @current-change="handleCurrentChange"
+                            :current-page="currentPage"
+                            :page-size="10"
+                            layout="total, prev, pager, next, jumper"
+                            :total="total">
+                        </el-pagination>
+                    </div>
+                </div>
+                <div class="desc_item_review">
+                    <div class="desc_item_review_label">瀹℃牳娴佺▼</div>
+                  <el-timeline :reverse="reverse">
+                    <el-timeline-item
+                        v-for="(activity, index) in activities"
+                        :key="index">
+                      <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, 11, 22].includes(activity.objType)">
+                              {{activity.content}}
+                            </span>
+                        </span>
+                        <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
+                            鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.creatorType == 1 ? activity.companyName: "骞冲彴绔�"}}锛墈{activity.createDate}}
+                        </span>
+                      </div>
+                    </el-timeline-item>
+                  </el-timeline>
+                </div>
+            </div>
+        </div>
+        <InsuranceDetails ref="InsuranceDetails" @success="successEvent" />
+        <OperaInsuranceApplyCheckWindow ref="OperaInsuranceApplyCheckWindow" @success="successEvent" />
+        <!--    浼佷笟鐢宠閫�鍥�    -->
+        <applyReturn ref="applyReturn" @success="successEvent" />
+        <!--    鏂板鎶曚繚    -->
+        <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
+        <!--    鍔犲噺淇濈敵璇�    -->
+        <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" />
+        <!--    鏇存崲娲鹃仯鍗曚綅鐢宠    -->
+        <factoryChange ref="factoryChange" @success="successEvent" />
+        <!-- 鍔犲噺淇濊鎯� -->
+        <OperaApplyChangeDetailWindow ref="OperaApplyChangeDetailWindow" @success="successEvent"/>
+        <!-- 鏇存崲娲鹃仯鍗曚綅璇︽儏 -->
+        <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/>
+        <!--    楠岃瘉鎵嬫満鍙�    -->
+        <operaverifyPhoneNumberWindew ref="operaverifyPhoneNumberWindew" @success="goSign" />
+        <template v-slot:footer>
+            <el-button @click="visible=false">杩斿洖</el-button>
+        </template>
+    </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import InsuranceDetails from '@/components/business/InsuranceDetails'
+import OperaInsuranceApplyCheckWindow from '@/components/business/OperaInsuranceApplyCheckWindow'
+import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
+import factoryChange from '@/components/enterprise/factoryChange'
+import operaverifyPhoneNumberWindew from '@/components/business/operaverifyPhoneNumberWindew'
+import OperaApplyChangeDetailWindow from '@/components/business/OperaApplyChangeDetailWindow'
+import OperaApplyChangeUnitDetailWindow from '@/components/business/OperaApplyChangeUnitDetailWindow'
+
+import applyReturn from '@/components/enterprise/applyReturn'
+import { getDetail, getSignLink, applyDetailPage, applyChagneDetailPage, exportExcel, applyChagneDetailExcel, applyOpt } from "@/api/business/insuranceApply";
+import { findListByDTO } from "@/api/business/dispatchUnit";
+import { fetchList } from "@/api/business/applyChange";
+import { findListByDTO as worktypeFindListByDTO } from "@/api/business/worktype";
+import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyWindow'
+import { mapState } from 'vuex'
+
+export default {
+  name: 'OperaInsuranceApplyWindow1',
+  extends: BaseOpera,
+  components: {
+      GlobalWindow,
+      InsuranceDetails,
+      OperaInsuranceApplyCheckWindow,
+      applyReturn,
+      OperaInsuranceApply,
+      additionSubtractionApplication,
+      factoryChange,
+      OperaApplyChangeDetailWindow,
+      OperaApplyChangeUnitDetailWindow,
+      operaverifyPhoneNumberWindew
+  },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      dataId:null,
+      model: {},
+      form: {
+          id: null,
+          editDate: ''
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+      },
+      formInline: {
+          applyStatus: '',
+          duId: '',
+          workTypeId: '',
+          memberName: '',
+          end: [],
+          start: [],
+          endTimeE: '',
+          endTimeS: '',
+          startTimeE: '',
+          startTimeS: '',
+          type: ''
+      },
+      visible1: false,
+      visible2: false,
+      visible3: false,
+      visible4: false,
+      visible5: false,
+      reverse: false,
+      radio: 0,
+      activities: [],
+      tableData: [],
+        list: [],
+        list1: [],
+        list2: [],
+        dwList: [],
+        gzList: [],
+      activeName: '0',
+        total: 0,
+      currentPage: 1
+    }
+  },
+  created () {
+      this.config({
+          api: '/business/insuranceApply',
+          'field.id': 'id'
+      })
+  },
+    computed: {
+      ...mapState(['userInfo'])
+    },
+  methods: {
+     open(title,target){
+        this.visible = true;
+        this.title = title
+        this.model = {}
+        this.dataId = null
+        this.dataId = target.id
+        this.formInline.applyStatus = ''
+        this.formInline.duId = ''
+        this.formInline.workTypeId = ''
+        this.formInline.memberName = ''
+        this.formInline.end = ''
+        this.formInline.start = ''
+        this.formInline.endTimeE = ''
+        this.formInline.endTimeS = ''
+        this.formInline.startTimeE = ''
+        this.formInline.startTimeS = ''
+        this.formInline.type = ''
+        this.activeName = '0'
+        this.getDetail()
+        this.getList()
+        this.getDW()
+        this.getGZ()
+     },
+      // 鍏抽棴璁㈠崟
+      closeOrder () {
+          this.$confirm('纭鍏抽棴姝よ鍗曞悧?', '鎻愮ず', {
+              confirmButtonText: '纭畾',
+              cancelButtonText: '鍙栨秷',
+              type: 'warning'
+          }).then(() => {
+              applyOpt({
+                  applyId: this.dataId,
+                  optType: 2
+              }).then(res => {
+                  this.getDetail()
+              })
+          }).catch(() => {
+
+          });
+      },
+      // 娲鹃仯鍗曚綅
+      getDW() {
+          findListByDTO({ applyId: this.dataId })
+            .then(res => {
+                this.dwList = res
+            })
+      },
+      // 宸ョ
+      getGZ() {
+          worktypeFindListByDTO({
+              id: this.dataId,
+              queryType: 2
+          }).then(res => {
+              this.gzList = res
+          })
+      },
+      resetting() {
+         if (this.activeName === '0') {
+             this.formInline.applyStatus = '0'
+         } else {
+             this.formInline.applyStatus = ''
+         }
+         this.formInline.start = ''
+          this.formInline.startTimeE = ''
+          this.formInline.endTimeE = ''
+         this.list = []
+          this.list1 = []
+          this.list2 = []
+          this.formInline.duId = ''
+          this.formInline.workTypeId = ''
+          this.formInline.memberName = ''
+            this.formInline.end = []
+            this.formInline.end = []
+            this.formInline.endTimeE = ''
+            this.formInline.endTimeS = ''
+            this.formInline.startTimeE = ''
+            this.formInline.startTimeS = ''
+            this.search()
+      },
+      search() {
+          this.currentPage = 1
+          this.getList()
+      },
+      changeStart(e) {
+            if (e.length > 0) {
+                this.formInline.startTimeS = e[0]
+                this.formInline.startTimeE = e[1]
+            } else {
+                this.formInline.startTimeS = ''
+                this.formInline.startTimeE = ''
+            }
+            this.search()
+      },
+      changeEnd(e) {
+         if (e.length > 0) {
+             this.formInline.endTimeS = e[0]
+             this.formInline.endTimeE = e[1]
+         } else {
+             this.formInline.endTimeS = ''
+             this.formInline.endTimeE = ''
+         }
+          this.search()
+      },
+      exportExcel() {
+          if (this.activeName === '0') {
+              exportExcel({
+                  capacity: 10,
+                  page: this.currentPage,
+                  model: {
+                      solutionName: this.tableData[0].solutionsName,
+                      applyId: this.dataId,
+                      applyStatus: this.formInline.applyStatus,
+                      duId: this.formInline.duId,
+                      workTypeId: this.formInline.workTypeId,
+                      memberName: this.formInline.memberName,
+                      endTimeE: this.formInline.endTimeE,
+                      endTimeS: this.formInline.endTimeS,
+                      startTimeE: this.formInline.startTimeE,
+                      startTimeS: this.formInline.startTimeS
+                  }
+              }).then(response => {
+                  this.download(response)
+              })
+          } else {
+              applyChagneDetailExcel({
+                  capacity: 10,
+                  page: this.currentPage,
+                  model: {
+                      applyId: this.dataId,
+                      applyStatus: this.formInline.applyStatus,
+                      duId: this.formInline.duId,
+                      workTypeId: this.formInline.workTypeId,
+                      memberName: this.formInline.memberName,
+                      endTimeE: this.formInline.endTimeE,
+                      endTimeS: this.formInline.endTimeS,
+                      startTimeE: this.formInline.startTimeE,
+                      startTimeS: this.formInline.startTimeS,
+                      type: this.formInline.type
+                  }
+              }).then(response => {
+                  this.download(response)
+              })
+          }
+      },
+      getList() {
+         if (this.activeName === '0') {
+             applyDetailPage({
+                 capacity: 10,
+                 page: this.currentPage,
+                 model: {
+                     applyId: this.dataId,
+                     applyStatus: this.formInline.applyStatus,
+                     duId: this.formInline.duId,
+                     workTypeId: this.formInline.workTypeId,
+                     memberName: this.formInline.memberName,
+                     endTimeE: this.formInline.endTimeE,
+                     endTimeS: this.formInline.endTimeS,
+                     startTimeE: this.formInline.startTimeE,
+                     startTimeS: this.formInline.startTimeS
+                 }
+             }).then(res => {
+                 this.list = res.records
+                 this.total = res.total
+                 this.$nextTick(() => {
+                     console.log(this.$refs.table)
+                     if (this.$refs.table && this.$refs.table.doLayout) {
+                         this.$refs.table.doLayout();
+                     }
+                 });
+             })
+         } else {
+             fetchList({
+                 capacity: 10,
+                 page: this.currentPage,
+                 model: {
+                     applyId: this.dataId,
+                     status: this.formInline.applyStatus,
+                     endTimeE: this.formInline.endTimeS,
+                     endTimeS: this.formInline.startTimeS,
+                     type: this.formInline.type
+                 }
+             }).then(res => {
+                 if (this.activeName === '1') {
+                     this.list1 = res.records
+                 } else if (this.activeName === '2') {
+                     this.list2 = res.records
+                 }
+                 this.total = res.total
+                 this.$nextTick(() => {
+                     console.log(this.$refs.table)
+                     if (this.$refs.table && this.$refs.table.doLayout) {
+                         this.$refs.table.doLayout();
+                     }
+                 });
+             })
+         }
+      },
+      handleClick(e) {
+            this.activeName = e.index
+            if (e.index === '1') {
+                this.formInline.type = 0
+            } else if (e.index === '2') {
+                this.formInline.type = 1
+            }
+            this.resetting()
+      },
+    goSign(){
+      getSignLink(this.dataId).then(res => {
+        setTimeout(() => {
+          window.open(res)
+        }, 500);
+      }).catch(err => {
+       this.$tip.apiFailed(err)
+      })
+    },
+    viewToubaodan(){
+       if(this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull){
+         setTimeout(() => {
+           window.open(this.model.toubaodanSignedFile.fileurlFull)
+         }, 500);
+
+       } else if(this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull){
+         setTimeout(() => {
+           window.open(this.model.toubaodanFile.fileurlFull)
+             },500)
+       }
+    },
+    viewBaoxiandan(){
+      if(this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull){
+        window.open(this.model.baoxiandanFile.fileurlFull)
+      }
+    },
+    handleSizeChange(val){
+        console.log(val)
+    },
+    handleCurrentChange(val){
+        console.log(val)
+        this.currentPage = val
+        this.getList()
+    },
+    onSubmit(){
+
+    },
+     getDetail(){
+      getDetail(this.dataId).then(res => {
+        this.model = res
+        this.tableData = new Array()
+        this.tableData.push(res)
+        console.log(this.tableData)
+        this.activities = res.applyLogList
+      }).catch(err => {
+      })
+    },
+    successEvent(){
+       // this.visible=false
+      this.getDetail()
+      this.$emit('success')
+    }
+  }
+}
+</script>
+<style scoped>
+ ::v-deep .el-tabs__item{
+    font-weight: 600;
+ }
+</style>
+<style lang="scss" scoped>
+    .form {
+        width: 100%;
+        display: flex;
+        align-items: center;
+        flex-direction: column;
+        .form_span {
+            width: 100%;
+            display: flex;
+            align-items: start;
+            flex-direction: column;
+            margin-bottom: 20px;
+            span {
+                font-size: 14px;
+                &:nth-child(1) {
+                    color: black;
+                    margin-bottom: 5px;
+                }
+                &:nth-child(2) {
+                    color: #8c939d;
+                }
+            }
+        }
+        .form_item {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            margin-bottom: 20px;
+            &:last-child {
+                margin: 0 !important;
+            }
+            .form_item_label {
+                flex-shrink: 0;
+                width: 170px;
+                color: black;
+                font-size: 14px;
+                span {
+                    color: red;
+                    font-size: 14px;
+                }
+            }
+            .form_item_val {
+                flex: 1;
+                /*height: 40px;*/
+                margin-left: 20px;
+                textarea {
+                    width: 100%;
+                    height: 70px;
+                    border: 1px solid #cbcbcb;
+                    padding: 10px;
+                    outline: none;
+                    box-sizing: border-box;
+                }
+                input {
+                    width: 100%;
+                    height: 40px;
+                    outline: none;
+                    border-radius: 5px;
+                    border: 1px solid #cbcbcb;
+                    padding: 0 20px;
+                    box-sizing: border-box;
+                }
+            }
+        }
+    }
+    .desc {
+        width: 100%;
+        .desc_item {
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            .desc_item_label {
+                width: 100%;
+                display: flex;
+                align-items: center;
+                justify-content: space-between;
+                margin-bottom: 10px;
+                span {
+                    font-size: 14px;
+                    color: black;
+                    margin-right: 30px;
+                }
+            }
+            .desc_item_from {
+                width: 100%;
+                margin-bottom: 10px;
+                .desc_item_from_page {
+                    width: 100%;
+                    display: flex;
+                    align-items: center;
+                    justify-content: end;
+                    margin-top: 10px;
+                }
+            }
+            .desc_item_cate {
+                width: 100%;
+                margin-bottom: 10px;
+            }
+            .desc_item_search {
+                width: 100%;
+                margin-bottom: 20px;
+            }
+            .desc_item_review {
+                width: 100%;
+                .desc_item_review_label {
+                    font-size: 20px;
+                    color: black;
+                    font-weight: bold;
+                    margin-bottom: 15px;
+                }
+            }
+        }
+    }
+</style>
diff --git a/company/src/views/business/company.vue b/company/src/views/business/company.vue
index 9e85ac0..79e42f3 100644
--- a/company/src/views/business/company.vue
+++ b/company/src/views/business/company.vue
@@ -77,85 +77,85 @@
 </template>
 
 <script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaCompanyWindow from '@/components/business/OperaCompanyWindow'
-    import OperaCompanyDescWindow from '@/components/business/OperaCompanyDescWindow'
-    import { updateStatus, getById } from '@/api/business/company'
-    export default {
-        name: 'Company',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaCompanyWindow, OperaCompanyDescWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    name: '',
-                    username: '',
-                    type:0
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '浼佷笟淇℃伅琛�',
-                api: '/business/company',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        },
-        methods: {
-            edit(row) {
-                getById(row.id)
-                    .then(res => {
-                        let form = res;
-                        form.type = 1
-                        form.file = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        form.file1 = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        form.file2 = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        form.file3 = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        form.file.imgurl = res.businessImg.fileurl
-                        form.file.imgurlfull = res.businessImg.fileurlFull
-                      if( res.idcardImgList ==null){
-                        res.idcardImgList = new Array();
-                      }
-                      if( res.idcardImgList && res.idcardImgList.length>0){
-                        form.file1.imgurl = res.idcardImgList[0].fileurl
-                        form.file1.imgurlfull = res.idcardImgList[0].fileurlFull
-                      }
-                      if( res.idcardImgList && res.idcardImgList.length>1){
-                        form.file2.imgurl =  res.idcardImgList[1].fileurl
-                        form.file2.imgurlfull = res.idcardImgList[1].fileurlFull
-                      }
-                        form.file3.imgurl = res.signImg.fileurl
-                        form.file3.imgurlfull = res.signImg.fileurlFull
-                        this.$refs.operaCompanyWindow.open('缂栬緫浼佷笟', form)
-                    })
-            },
-            // 淇敼鐘舵��
-            changeStatus(status, row) {
-                updateStatus({ id: row.id, status })
-                    .then(res => {
-                        this.search()
-                    })
-                    .catch(err => {
-                        row.status = row.status === 0 ? 1 : 0
-                    })
-            }
-        }
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaCompanyWindow from '@/components/business/OperaCompanyWindow'
+import OperaCompanyDescWindow from '@/components/business/OperaCompanyDescWindow'
+import { updateStatus, getById } from '@/api/business/company'
+export default {
+  name: 'Company',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OperaCompanyWindow, OperaCompanyDescWindow },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        name: '',
+        username: '',
+        type: 0
+      }
     }
+  },
+  created () {
+    this.config({
+      module: '浼佷笟淇℃伅琛�',
+      api: '/business/company',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  },
+  methods: {
+    edit (row) {
+      getById(row.id)
+        .then(res => {
+          const form = res
+          form.type = 1
+          form.file = {
+            imgurl: '',
+            imgurlfull: ''
+          }
+          form.file1 = {
+            imgurl: '',
+            imgurlfull: ''
+          }
+          form.file2 = {
+            imgurl: '',
+            imgurlfull: ''
+          }
+          form.file3 = {
+            imgurl: '',
+            imgurlfull: ''
+          }
+          form.file.imgurl = res.businessImg ? res.businessImg.fileurl : null
+          form.file.imgurlfull = res.businessImg ? res.businessImg.fileurlFull : null
+          if (res.idcardImgList == null) {
+            res.idcardImgList = new Array()
+          }
+          if (res.idcardImgList && res.idcardImgList.length > 0) {
+            form.file1.imgurl = res.idcardImgList[0].fileurl
+            form.file1.imgurlfull = res.idcardImgList[0].fileurlFull
+          }
+          if (res.idcardImgList && res.idcardImgList.length > 1) {
+            form.file2.imgurl = res.idcardImgList[1].fileurl
+            form.file2.imgurlfull = res.idcardImgList[1].fileurlFull
+          }
+          form.file3.imgurl = res.signImg ? res.signImg.fileurl : null
+          form.file3.imgurlfull = res.signImg ? res.signImg.fileurlFull : null
+          this.$refs.operaCompanyWindow.open('缂栬緫浼佷笟', form)
+        })
+    },
+    // 淇敼鐘舵��
+    changeStatus (status, row) {
+      updateStatus({ id: row.id, status })
+        .then(res => {
+          this.search()
+        })
+        .catch(err => {
+          row.status = row.status === 0 ? 1 : 0
+        })
+    }
+  }
+}
 </script>
diff --git a/company/src/views/business/insuranceApplyShop.vue b/company/src/views/business/insuranceApplyShop.vue
index 32b2380..4b46513 100644
--- a/company/src/views/business/insuranceApplyShop.vue
+++ b/company/src/views/business/insuranceApplyShop.vue
@@ -79,7 +79,7 @@
                     fixed="right"
                 >
                     <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.operaInsuranceApplyWindow.open('鎶曚繚璇︽儏', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
+                        <el-button type="text" @click="$refs.operaInsuranceApplyShopWindow.open('濮旀墭鎶曚繚璇︽儏', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -91,7 +91,7 @@
             </pagination>
         </template>
         <!-- 鏂板缓/淇敼 -->
-        <OperaInsuranceApplyWindow ref="operaInsuranceApplyWindow" @success="handlePageChange"/>
+        <OperaInsuranceApplyShopWindow ref="operaInsuranceApplyShopWindow" @success="handlePageChange"/>
     </TableLayout>
 </template>
 
@@ -101,11 +101,11 @@
 import Pagination from '@/components/common/Pagination'
 import { all as solutionAll } from '@/api/business/solutions'
 import { pageAll as companyAll } from '@/api/business/company'
-import OperaInsuranceApplyWindow from '@/components/business/OperaInsuranceApplyWindow'
+import OperaInsuranceApplyShopWindow from '@/components/business/OperaInsuranceApplyShopWindow'
 export default {
   name: 'InsuranceApply',
   extends: BaseTable,
-  components: { TableLayout, Pagination, OperaInsuranceApplyWindow },
+  components: { TableLayout, Pagination, OperaInsuranceApplyShopWindow },
   data () {
     return {
       // 鎼滅储
@@ -114,7 +114,7 @@
         createTimeE: '',
         time: [],
         baseSolutionId: '',
-        solutionType: null,
+        solutionType: 1,
         companyId: '',
         statusCollect: ''
       },
diff --git a/company/src/views/business/shop.vue b/company/src/views/business/shop.vue
index 8840c68..8ef3299 100644
--- a/company/src/views/business/shop.vue
+++ b/company/src/views/business/shop.vue
@@ -122,8 +122,9 @@
             imgurl: '',
             imgurlfull: ''
           }
-          form.file.imgurl = res.businessImg.fileurl
-          form.file.imgurlfull = res.businessImg.fileurlFull
+
+          form.file.imgurl = res.businessImg? res.businessImg.fileurl:null
+          form.file.imgurlfull = res.businessImg?res.businessImg.fileurlFull:null
           if (res.idcardImgList == null) {
             res.idcardImgList = new Array()
           }
@@ -135,8 +136,8 @@
             form.file2.imgurl = res.idcardImgList[1].fileurl
             form.file2.imgurlfull = res.idcardImgList[1].fileurlFull
           }
-          form.file3.imgurl = res.signImg.fileurl
-          form.file3.imgurlfull = res.signImg.fileurlFull
+          form.file3.imgurl = res.signImg?res.signImg.fileurl:null
+          form.file3.imgurlfull = res.signImg?res.signImg.fileurlFull:null
           this.$refs.operaShopWindow.open('缂栬緫鍟嗘埛', form)
         })
     },
diff --git a/company/src/views/system/menuShop.vue b/company/src/views/system/menuShop.vue
index 9432a36..f32ddf5 100644
--- a/company/src/views/system/menuShop.vue
+++ b/company/src/views/system/menuShop.vue
@@ -19,7 +19,7 @@
                 @selection-change="handleSelectionChange"
             >
                 <el-table-column type="selection" width="55" fixed="left"></el-table-column>
-                <el-table-column prop="name" label="鑿滃崟鍚嶇О"  fixed="left" min-width="160px"></el-table-column>
+                <el-table-column prop="name" label="鑿滃崟鍚嶇О"  fixed="left" min-width="180px"></el-table-column>
                 <el-table-column prop="icon" label="鍥炬爣" min-width="80px" class-name="table-column-icon">
                     <template slot-scope="{row}">
                         <i v-if="row.icon != null && row.icon !== ''" :class="{[row.icon]: true}"></i>
diff --git a/server/company/src/main/resources/application.yml b/server/company/src/main/resources/application.yml
index 83ded24..68dd011 100644
--- a/server/company/src/main/resources/application.yml
+++ b/server/company/src/main/resources/application.yml
@@ -6,7 +6,7 @@
 #  env: production
 server:
 #  port: 10022
-  port: 10031
+  port: 10032
 
 spring:
 #  application:git
diff --git a/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java b/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
index 00a3c2c..8b7994d 100644
--- a/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
+++ b/server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
@@ -107,8 +107,7 @@
         List<SystemPermission> permissions =null;
         // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
          if(authenticationToken.getUserType() == 0){
-             roles =   systemRoleService.findByUserId(user.getId());
-
+            roles =   systemRoleService.findByUserId(user.getId());
             CompanyPermission c = new CompanyPermission();
             c.setUserId(user.getId());
             c.setIsdeleted(Constants.ZERO);
@@ -121,7 +120,7 @@
                     user.getCompanyIdList().add(cc.getCompanyId());
                 }
             }
-             permissions =  systemPermissionService.findByUserId(user.getId());
+            permissions =  systemPermissionService.findByUserId(user.getId());
         }else{
             Company company = companyService.findById(user.getCompanyId());
             if(company == null){
diff --git a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
index 920ce43..613fb08 100644
--- a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
+++ b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -124,7 +124,6 @@
 
     void updateApplyCurrentFee(Integer id);
 
-
     String getSignLink(Integer id);
 
     void dealSignResult(NotifyDataReq data);
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index 1398edb..fc49dfe 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -1456,7 +1456,7 @@
                 .selectAs(Company::getName,ApplyChange::getCompanyName)
                 .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 0  )",ApplyChange::getAddNum)
                 .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 1  )",ApplyChange::getDelNum)
-                .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2  )",ApplyChange::getChangeNum)
+                 .select("( select count(1) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID and ad.TYPE = 2  )",ApplyChange::getChangeNum)
                 .select("( select ifnull(sum(ad.FEE),0) from apply_chagne_detail ad where t.id = ad.APPLY_CHANGE_ID  )",ApplyChange::getChangeMoney)
                 .leftJoin(InsuranceApply.class,InsuranceApply::getId,ApplyChange::getApplyId)
                 .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
@@ -1468,7 +1468,7 @@
                         Constants.ApplyChangeStatus.RETURN_APPLY_SIGNATURE.getKey())
 //                .eq(!Objects.isNull(model.getCompanyId()),InsuranceApply::getCompanyId,model.getCompanyId())
 //                .eq(!Objects.isNull(model.getSolutionsId()),ApplyChange::getSolutionsId,model.getSolutionsId())
-                .eq(!Objects.isNull(model.getType()),Solutions::getType,model.getSolutionType())
+                .eq(!Objects.isNull(model.getSolutionType()),Solutions::getType,model.getSolutionType())
                 .eq(!Objects.isNull(model.getApplyId()),ApplyChange::getApplyId,model.getApplyId())
                 .eq(!Objects.isNull(model.getBaseSolutionsId()),Solutions::getBaseId,model.getBaseSolutionsId())
                 .ge(StringUtils.isNotBlank(model.getCreateDateS()),ApplyChange::getCreateDate, model.getCreateDateS()+" 00:00:00" )
@@ -1477,6 +1477,16 @@
         //浼佷笟浜哄憳鏌ョ湅鏈紒涓氭暟鎹�
         if(loginUserInfo.getType().equals(Constants.ONE)){
             queryWrapper.eq(InsuranceApply::getCompanyId, loginUserInfo.getCompanyId());
+        }else if(loginUserInfo.getType().equals(Constants.TWO)){
+            //濡傛灉鏄晢鎴锋煡鐪�
+            if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==0){
+                queryWrapper.exists("select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId());
+            }else if(pageWrap.getModel().getSolutionType()!=null && pageWrap.getModel().getSolutionType() ==1){
+                queryWrapper.eq(Solutions::getShopId,loginUserInfo.getCompanyId());
+            }else{
+                queryWrapper.apply("((t1.type=0 and exists(select cs.id from company_solution cs where cs.isdeleted=0 and cs.company_id=t1.company_id and cs.shop_id="+loginUserInfo.getCompanyId()+")) or (" +
+                        "t2.type=1 and t2.shop_id="+loginUserInfo.getCompanyId()+"))") ;
+            }
         }else{
             if(loginUserInfo.getCompanyIdList()!=null && loginUserInfo.getCompanyIdList().size()>0){
                 queryWrapper.in(InsuranceApply::getCompanyId, loginUserInfo.getCompanyIdList());
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
index cfd12aa..e090617 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -102,10 +102,9 @@
         dispatchUnitMapper.updateById(update);
         if(Constants.equalsInteger(param.getWorktypeStatus(),Constants.ONE)){
             //瀹℃牳閫氳繃锛屼慨鏀圭姸鎬侊紝浜х敓鍘嗗彶鐗堟湰
-            newVersionData(dispatchUnitMapper.selectById(param.getId()),update,false);
+            newVersionData(model,update,false);
             //瀛樺偍鎿嶄綔鍘嗗彶
             this.saveDuLog(update,Constants.DispatchUnitLogType.WORK_TYPE_AUDIT_PASS,update.getCheckInfo());
-
         }else{
             //鏇存柊鏄庣粏鏁版嵁涓哄鏍稿け璐�
             duSolutionMapper.update(null,new UpdateWrapper<DuSolution>().lambda()
@@ -376,7 +375,6 @@
                 duWorktypeMapper.insert(duWorktype);
             }
         }
-
 
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
index e12b11b..6b79eb3 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -572,8 +572,8 @@
                 .selectAll(InsuranceApply.class)
                 .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
                 .selectAs(Solutions::getEmail,InsuranceApply::getSolutionEmail)
+                        .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                 .selectAs(Company::getName,InsuranceApply::getCompanyName)
-                .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
                 .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
                 .eq(InsuranceApply::getStatus,Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())
                 .isNotNull(InsuranceApply::getSignApplyNo));

--
Gitblit v1.9.3