k94314517
2024-06-18 64fd3303e672c002ebdbf572e641301343702c5b
Merge remote-tracking branch 'origin/1.0.1' into 1.0.1
已添加1个文件
已修改35个文件
已重命名1个文件
744 ■■■■ 文件已修改
company/.env.development 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.developmentCom 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.developmentShop 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/README.md 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/package-lock.json 113 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/InsuranceDetails.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/InsuranceDetailsWtb.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OpearaUnionApply.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OpearaUnionChange.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OpearaUnionChangeUnit.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeDetailWindow.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaApplyChangeUnitDetailWindow.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaInsuranceApplyShopWindow.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaInsuranceApplyWindow.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaPdfViewerWindow.vue 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaSettleClaimsWindow.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaSolutionsDescWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaSolutionsWindow.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaUnionApplyCheckWindow.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/OperaWtbApplyShopWindow.vue 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/detailsEntrustedInsurance.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/business/detailsPolicyholder.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/OperaInsuranceApplyAddWindowNew.vue 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/additionSubtractionApplication.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/editFactoryChange.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/factoryChange.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/reinsurance.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/components/enterprise/renewalInsurance.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/insuranceApply.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/insuranceApplyShop.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/policyList.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/solutions.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/business/unionApply.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/enterprise/insuranceApply.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/src/views/enterprise/myPolicy.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
company/.env.development
@@ -11,5 +11,5 @@
#VUE_APP_API = 'http://localhost:10030/'
#VUE_APP_API = 'http://192.168.0.143:10030/'
VUE_APP_API = 'https://www.yyb.red/yyb_admin_api/'
VUE_APP_API = 'http://192.168.0.135:10030/'
#VUE_APP_API = 'https://www.yyb.red/yyb_admin_api/'
company/.env.developmentCom
@@ -9,6 +9,6 @@
# VUE_APP_API = 'https://dmtest.ahapp.net/yyb_admin_api/'
#VUE_APP_API = 'http://localhost:10031/'
#VUE_APP_API = 'http://192.168.0.143:10031/'
VUE_APP_API = 'http://192.168.0.135:10031/'
VUE_APP_API = 'https://www.yyb.red/yyb_web_api/'
#VUE_APP_API = 'https://www.yyb.red/yyb_web_api/'
company/.env.developmentShop
@@ -7,8 +7,8 @@
VUE_APP_SYSTEM_TITLE = '云易保客户服务系统-商户端'
#VUE_APP_API = 'https://www.yyb.red/yyb_shop_api/'
# VUE_APP_API = 'http://192.168.0.143:10032/'
 VUE_APP_API = 'http://192.168.0.135:10032/'
#VUE_APP_API = 'http://localhost:10032/'
VUE_APP_API = 'https://www.yyb.red/yyb_shop_api/'
#VUE_APP_API = 'https://www.yyb.red/yyb_shop_api/'
company/README.md
@@ -38,3 +38,14 @@
      console.log('调用失败', e)
    })
```
#解决vuepdf不显示章印问题
#找到 node_modules/pdfjs-dist/es5/build/pdf.worker.js è¿™ä¸ªç›®å½•
```javascript
if (data.fieldType === "Sig") {
data.fieldValue = null;
//pdf预览不显示红章问题
// _this3.setFlags(_util.AnnotationFlag.HIDDEN);//将这一行注释掉
}
```
company/package-lock.json
@@ -2374,7 +2374,6 @@
      "version": "6.12.6",
      "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1621023838921&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz",
      "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=",
      "dev": true,
      "requires": {
        "fast-deep-equal": "^3.1.1",
        "fast-json-stable-stringify": "^2.0.0",
@@ -2391,8 +2390,7 @@
    "ajv-keywords": {
      "version": "3.5.2",
      "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz?cache=0&sync_timestamp=1616882441894&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fajv-keywords%2Fdownload%2Fajv-keywords-3.5.2.tgz",
      "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=",
      "dev": true
      "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0="
    },
    "alphanum-sort": {
      "version": "1.0.2",
@@ -2811,6 +2809,11 @@
        "@babel/helper-define-polyfill-provider": "^0.2.0"
      }
    },
    "babel-plugin-syntax-dynamic-import": {
      "version": "6.18.0",
      "resolved": "https://registry.npmmirror.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
      "integrity": "sha512-MioUE+LfjCEz65Wf7Z/Rm4XCP5k2c+TbMd2Z2JKc7U9uwjBhAfNPE48KC4GTGKhppMeYVepwDBNO/nGY6NYHBA=="
    },
    "babel-runtime": {
      "version": "6.26.0",
      "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz",
@@ -2929,8 +2932,7 @@
    "big.js": {
      "version": "5.2.2",
      "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz?cache=0&sync_timestamp=1620132748267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbig.js%2Fdownload%2Fbig.js-5.2.2.tgz",
      "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=",
      "dev": true
      "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg="
    },
    "binary-extensions": {
      "version": "2.2.0",
@@ -5184,8 +5186,7 @@
    "emojis-list": {
      "version": "3.0.0",
      "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz",
      "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=",
      "dev": true
      "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang="
    },
    "encodeurl": {
      "version": "1.0.2",
@@ -6220,8 +6221,7 @@
    "fast-deep-equal": {
      "version": "3.1.3",
      "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz?cache=0&sync_timestamp=1591599697571&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-deep-equal%2Fdownload%2Ffast-deep-equal-3.1.3.tgz",
      "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=",
      "dev": true
      "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU="
    },
    "fast-glob": {
      "version": "2.2.7",
@@ -6263,8 +6263,7 @@
    "fast-json-stable-stringify": {
      "version": "2.1.0",
      "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1576340291001&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz",
      "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=",
      "dev": true
      "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM="
    },
    "fast-levenshtein": {
      "version": "2.0.6",
@@ -8066,8 +8065,7 @@
    "json-schema-traverse": {
      "version": "0.4.1",
      "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1607999852153&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz",
      "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=",
      "dev": true
      "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA="
    },
    "json-stable-stringify-without-jsonify": {
      "version": "1.0.1",
@@ -8091,7 +8089,6 @@
      "version": "2.2.0",
      "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz",
      "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=",
      "dev": true,
      "requires": {
        "minimist": "^1.2.5"
      }
@@ -8672,7 +8669,6 @@
      "version": "1.4.0",
      "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz?cache=0&sync_timestamp=1584445207623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-utils%2Fdownload%2Floader-utils-1.4.0.tgz",
      "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=",
      "dev": true,
      "requires": {
        "big.js": "^5.2.2",
        "emojis-list": "^3.0.0",
@@ -8683,7 +8679,6 @@
          "version": "1.0.1",
          "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz",
          "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=",
          "dev": true,
          "requires": {
            "minimist": "^1.2.0"
          }
@@ -9227,8 +9222,7 @@
    "minimist": {
      "version": "1.2.5",
      "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz",
      "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=",
      "dev": true
      "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI="
    },
    "minipass": {
      "version": "3.1.3",
@@ -10207,6 +10201,11 @@
        "sha.js": "^2.4.8"
      }
    },
    "pdfjs-dist": {
      "version": "2.6.347",
      "resolved": "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-2.6.347.tgz",
      "integrity": "sha512-QC+h7hG2su9v/nU1wEI3SnpPIrqJODL7GTDFvR74ANKGq1AFJW16PH8VWnhpiTi9YcLSFV9xLeWSgq+ckHLdVQ=="
    },
    "performance-now": {
      "version": "2.1.0",
      "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz",
@@ -11086,8 +11085,7 @@
    "punycode": {
      "version": "2.1.1",
      "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz",
      "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=",
      "dev": true
      "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew="
    },
    "q": {
      "version": "1.5.1",
@@ -11170,6 +11168,42 @@
        "http-errors": "1.7.2",
        "iconv-lite": "0.4.24",
        "unpipe": "1.0.0"
      }
    },
    "raw-loader": {
      "version": "4.0.2",
      "resolved": "https://registry.npmmirror.com/raw-loader/-/raw-loader-4.0.2.tgz",
      "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==",
      "requires": {
        "loader-utils": "^2.0.0",
        "schema-utils": "^3.0.0"
      },
      "dependencies": {
        "@types/json-schema": {
          "version": "7.0.15",
          "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz",
          "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="
        },
        "loader-utils": {
          "version": "2.0.4",
          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
          "requires": {
            "big.js": "^5.2.2",
            "emojis-list": "^3.0.0",
            "json5": "^2.1.2"
          }
        },
        "schema-utils": {
          "version": "3.3.0",
          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
          "requires": {
            "@types/json-schema": "^7.0.8",
            "ajv": "^6.12.5",
            "ajv-keywords": "^3.5.2"
          }
        }
      }
    },
    "read-pkg": {
@@ -13483,7 +13517,6 @@
      "version": "4.4.1",
      "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237624359&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz",
      "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=",
      "dev": true,
      "requires": {
        "punycode": "^2.1.0"
      }
@@ -13708,6 +13741,24 @@
          "dev": true
        }
      }
    },
    "vue-pdf": {
      "version": "4.3.0",
      "resolved": "https://registry.npmmirror.com/vue-pdf/-/vue-pdf-4.3.0.tgz",
      "integrity": "sha512-zd3lJj6CbtrawgaaDDciTDjkJMUKiLWtbEmBg5CvFn9Noe9oAO/GNy/fc5c59qGuFCJ14ibIV1baw4S07e5bSQ==",
      "requires": {
        "babel-plugin-syntax-dynamic-import": "^6.18.0",
        "loader-utils": "^1.4.0",
        "pdfjs-dist": "2.6.347",
        "raw-loader": "^4.0.2",
        "vue-resize-sensor": "^2.0.0",
        "worker-loader": "^2.0.0"
      }
    },
    "vue-resize-sensor": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/vue-resize-sensor/-/vue-resize-sensor-2.0.0.tgz",
      "integrity": "sha512-W+y2EAI/BxS4Vlcca9scQv8ifeBFck56DRtSwWJ2H4Cw1GLNUYxiZxUHHkuzuI5JPW/cYtL1bPO5xPyEXx4LmQ=="
    },
    "vue-router": {
      "version": "3.5.1",
@@ -14519,6 +14570,26 @@
        "errno": "~0.1.7"
      }
    },
    "worker-loader": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/worker-loader/-/worker-loader-2.0.0.tgz",
      "integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==",
      "requires": {
        "loader-utils": "^1.0.0",
        "schema-utils": "^0.4.0"
      },
      "dependencies": {
        "schema-utils": {
          "version": "0.4.7",
          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-0.4.7.tgz",
          "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
          "requires": {
            "ajv": "^6.1.0",
            "ajv-keywords": "^3.1.0"
          }
        }
      }
    },
    "wrap-ansi": {
      "version": "7.0.0",
      "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz",
company/package.json
@@ -26,6 +26,7 @@
    "umy-ui": "^1.1.6",
    "vue": "^2.6.11",
    "vue-clipboard2": "^0.3.1",
    "vue-pdf": "^4.3.0",
    "vue-router": "^3.5.1",
    "vuescroll": "^4.17.3",
    "vuex": "^3.4.0"
company/src/components/business/InsuranceDetails.vue
@@ -16,7 +16,7 @@
              <div class="box_table_head_item">保险方案</div>
              <div class="box_table_head_item">保险生效起期</div>
              <div class="box_table_head_item">保险生效止期</div>
              <div class="box_table_head_item">投保人数</div>
              <div class="box_table_head_item">在保/投保人数</div>
              <div class="box_table_head_item">总费用(元)</div>
            </div>
            <div class="box_table_content "  >
@@ -24,7 +24,7 @@
              <div class="box_table_content_item box_table_content_header">{{ model.solutionsName }}</div>
              <div class="box_table_content_item box_table_content_header">{{ model.startTime }}</div>
              <div class="box_table_content_item box_table_content_header">{{ model.endTime }}</div>
              <div class="box_table_content_item box_table_content_header">{{ model.insureNum }}</div>
              <div class="box_table_content_item box_table_content_header">{{ model.guaranteeNum }} / {{ model.insureNum }}</div>
              <div class="box_table_content_item box_table_content_header">{{model.fee!=null?model.fee:'-'}}</div>
            </div>
          </div>
@@ -70,7 +70,6 @@
            <el-button type="primary"  :loading="isWorking.export" @click="exportDetail">导出详单</el-button>
            <el-button @click="visible=false">取消</el-button>
        </template>
      </div>
    </GlobalWindow>
</template>
@@ -119,7 +118,8 @@
              this.getDetailListDo()
            },
           getDetailListDo(){
              getDetailList({applyId: this.model.id}).then(res => {
              getDetailList({applyId: this.model.id,
                isExcel:1}).then(res => {
                this.detailList = res
              }).catch(err => {
              })
@@ -128,7 +128,9 @@
            this.$dialog.exportConfirm('确认导出详单吗?')
                .then(() => {
                  this.isWorking = true
                  exportDetailExcel({ id: this.model.id })
                  exportDetailExcel({
                      isExcel:1,
                      id: this.model.id })
                      .then(response => {
                        this.download(response)
                      })
company/src/components/business/InsuranceDetailsWtb.vue
@@ -17,7 +17,7 @@
              <div class="box_table_head_item">保险方案</div>
              <div class="box_table_head_item">保险生效起期</div>
              <div class="box_table_head_item">保险生效止期</div>
              <div class="box_table_head_item">投保人数</div>
              <div class="box_table_head_item">在保/投保人数</div>
              <div class="box_table_head_item">总费用(元)</div>
            </div>
            <div class="box_table_content "  >
@@ -26,7 +26,7 @@
              <div class="box_table_content_item box_table_content_header">{{ model.solutionName }}</div>
              <div class="box_table_content_item box_table_content_header">{{ model.startTime }}</div>
              <div class="box_table_content_item box_table_content_header">{{ model.endTime }}</div>
              <div class="box_table_content_item box_table_content_header">{{ model.insureNum }}</div>
              <div class="box_table_content_item box_table_content_header">{{ model.guaranteeNum }} / {{ model.insureNum }}</div>
              <div class="box_table_content_item box_table_content_header">{{model.fee!=null?model.fee:'-'}}</div>
            </div>
          </div>
company/src/components/business/OpearaUnionApply.vue
@@ -87,6 +87,10 @@
                label="投保人数">
            </el-table-column>
            <el-table-column
                prop="guaranteeNum"
                label="在保人数">
            </el-table-column>
            <el-table-column
                prop="fee"
                label="总费用">
            </el-table-column>
company/src/components/business/OpearaUnionChange.vue
@@ -134,6 +134,7 @@
          <el-table-column prop="code" label="保单号" min-width="100px"></el-table-column>
          <el-table-column prop="solutionName" label="保险方案" min-width="100px"></el-table-column>
          <el-table-column prop="insureNum" label="投保人数" min-width="100px"></el-table-column>
          <el-table-column prop="guaranteeNum" label="在保人数" min-width="100px"></el-table-column>
          <el-table-column prop="addApplyNum" label="申请单数" min-width="100px"></el-table-column>
          <el-table-column prop="fee" label="总费用(元)" min-width="100px"></el-table-column>
          <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column>
company/src/components/business/OpearaUnionChangeUnit.vue
@@ -130,6 +130,7 @@
          <el-table-column prop="code" label="保单号" min-width="100px"></el-table-column>
          <el-table-column prop="solutionName" label="保险方案" min-width="100px"></el-table-column>
          <el-table-column prop="insureNum" label="投保人数" min-width="100px"></el-table-column>
          <el-table-column prop="guaranteeNum" label="在保人数" min-width="100px"></el-table-column>
          <el-table-column prop="changeApplyNum" label="申请单数" min-width="100px"></el-table-column>
          <el-table-column prop="fee" label="总费用(元)" min-width="100px"></el-table-column>
          <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column>
company/src/components/business/OperaApplyChangeDetailWindow.vue
@@ -211,6 +211,7 @@
        <OperaInsuranceApply ref="OperaInsuranceApply" @success="successEvent" />
        <!--    åŠ å‡ä¿ç”³è¯·    -->
        <reinsurance ref="reinsurance" @success="successEvent" />
      <OperaPdfViewerWindow ref="OperaPdfViewerWindow" />
        <!--    æ›´æ¢æ´¾é£å•位申请    -->
        <factoryChange ref="factoryChange" @success="successEvent" />
        <!--    æŠ•保详情    -->
@@ -268,6 +269,7 @@
import OperaInsuranceApply from '@/components/enterprise/OperaInsuranceApplyAddWindow'
import { mapState } from 'vuex'
import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
export default {
  name: 'OperaApplyChangeDetailWindow1',
  extends: BaseOpera,
@@ -278,6 +280,7 @@
      add_subtract_return,
      OperaInsuranceApply,
      reinsurance,
      OperaPdfViewerWindow,
      factoryChange,
      insuranceApplyDetails: () => import ('@/components/business/OperaInsuranceApplyWindow')
  },
@@ -439,12 +442,14 @@
      },
    viewApplyFile(){
       if(this.model.applyFile && this.model.applyFile.fileurlFull){
        window.open(this.model.applyFile.fileurlFull)
         this.$refs.OperaPdfViewerWindow.open('查看申请单',this.model.applyFile.fileurlFull)
        // window.open(this.model.applyFile.fileurlFull)
       }
    },
    viewPidan(){
      if(this.model.pidanFile && this.model.pidanFile.fileurlFull){
        window.open(this.model.pidanFile.fileurlFull)
        this.$refs.OperaPdfViewerWindow.open('查看批单',this.model.pidanFile.fileurlFull)
        // window.open(this.model.pidanFile.fileurlFull)
      }
    },
    handleSizeChange(val){
company/src/components/business/OperaApplyChangeUnitDetailWindow.vue
@@ -225,6 +225,7 @@
        <editFactoryChange ref="editFactoryChange" @success="successEvent" />
        <!--    æŠ•保详情    -->
        <insuranceApplyDetails ref="insuranceApplyDetails" @success="successEvent" />
        <OperaPdfViewerWindow ref="OperaPdfViewerWindow" />
      <template v-slot:footer>
        <el-button @click="visible=false">返回</el-button>
      </template>
@@ -242,6 +243,7 @@
import applyReturn from '@/components/enterprise/applyReturn'
import add_subtract_return from '@/components/enterprise/add_subtract_return'
// import insuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
import {
  getDetail,
  getChangeDetail,
@@ -258,6 +260,7 @@
  extends: BaseOpera,
  components: {
    GlobalWindow,
    OperaPdfViewerWindow,
    ApplyChangeUnitDetails,
    OperaApplyChangeUnitCheckWindow,
    applyReturn,
@@ -429,14 +432,16 @@
        this.$tip.apiFailed(err)
      })
    },
    viewApplyFile () {
      if (this.model.applyUnitFile && this.model.applyUnitFile.fileurlFull) {
        window.open(this.model.applyUnitFile.fileurlFull)
    viewApplyFile(){
      if(this.model.applyUnitFile && this.model.applyUnitFile.fileurlFull){
        this.$refs.OperaPdfViewerWindow.open('查看申请单',this.model.applyUnitFile.fileurlFull)
        // window.open(this.model.applyFile.fileurlFull)
      }
    },
    viewPidan () {
      if (this.model.pidanFile && this.model.pidanFile.fileurlFull) {
        window.open(this.model.pidanFile.fileurlFull)
    viewPidan(){
      if(this.model.pidanFile && this.model.pidanFile.fileurlFull){
        this.$refs.OperaPdfViewerWindow.open('查看批单',this.model.pidanFile.fileurlFull)
        // window.open(this.model.pidanFile.fileurlFull)
      }
    },
    handleSizeChange (val) {
company/src/components/business/OperaInsuranceApplyShopWindow.vue
@@ -78,6 +78,11 @@
                            label="投保人数">
                        </el-table-column>
                        <el-table-column
                            prop="guaranteeNum"
                            align="center"
                            label="在保人数">
                        </el-table-column>
                        <el-table-column
                            prop="serviceDays"
                            align="center"
                            label="保单时长(天)">
company/src/components/business/OperaInsuranceApplyWindow.vue
@@ -466,6 +466,7 @@
        <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/>
        <!--    éªŒè¯æ‰‹æœºå·    -->
        <operaverifyPhoneNumberWindew ref="operaverifyPhoneNumberWindew" @success="goSign" />
        <OperaPdfViewerWindow ref="OperaPdfViewerWindow" />
        <template v-slot:footer>
            <el-button @click="visible=false">返回</el-button>
        </template>
@@ -491,11 +492,13 @@
import OperaInsuranceApplyAddWindow from '@/components/enterprise/OperaInsuranceApplyAddWindow'
import { mapState } from 'vuex'
import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
export default {
  name: 'OperaInsuranceApplyWindow1',
  extends: BaseOpera,
  components: {
      GlobalWindow,
    OperaPdfViewerWindow,
      InsuranceDetails,
      OperaInsuranceApplyCheckWindow,
      applyReturn,
@@ -782,18 +785,21 @@
    viewToubaodan(){
       if(this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull){
         setTimeout(() => {
           window.open(this.model.toubaodanSignedFile.fileurlFull)
           this.$refs.OperaPdfViewerWindow.open('查看投保单',this.model.toubaodanSignedFile.fileurlFull)
           // window.open(this.model.toubaodanSignedFile.fileurlFull)
         }, 500);
       } else if(this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull){
         setTimeout(() => {
           window.open(this.model.toubaodanFile.fileurlFull)
           this.$refs.OperaPdfViewerWindow.open('查看投保单',this.model.toubaodanFile.fileurlFull)
           // window.open(this.model.toubaodanFile.fileurlFull)
             },500)
       }
    },
    viewBaoxiandan(){
      if(this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull){
        window.open(this.model.baoxiandanFile.fileurlFull)
        this.$refs.OperaPdfViewerWindow.open('查看保险单',this.model.baoxiandanFile.fileurlFull)
        // window.open(this.model.baoxiandanFile.fileurlFull)
      }
    },
    handleSizeChange(val){
company/src/components/business/OperaPdfViewerWindow.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,275 @@
<template>
  <GlobalWindow
      :title="title"
      width="100%"
      :visible.sync="visible"
      :confirm-working="isWorking"
      @confirm="confirm"
  >
  <div class="pdfView">
    <div class="show">
      <!--分页显示-->
      <pdf
          ref="pdf"
          :src="pdfUrl"
          :page="pageNum"
          :rotate="pageRotate"
          @password="password"
          @progress="loadedRatio = $event"
          @loaded="onLoadSuccess"
          @page-loaded="pageLoaded($event)"
          @num-pages="pageTotalNum = $event"
          @error="pdfError($event)"
          @link-clicked="page = $event"
      >
      </pdf>
    </div>
    <div class="pdf_footer">
      <div class="info">
        <div>当前页数/总页数:{{ pageNum }}/{{ pageTotalNum }}</div>
        <!-- <div>进度:{{ loadedRatio }}</div> -->
        <!-- <div>页面加载成功: {{ curPageNum }}</div> -->
      </div>
    </div>
  </div>
    <template  v-slot:footer>
      <el-button-group>
        <el-button type="primary" icon="el-icon-arrow-left" style="border-radius: 30px 0 0 30px" @click.stop="prePage">上一页</el-button>
        <el-button type="primary" @click.stop="nextPage" style="border-radius: 0 30px 30px 0">下一页<i class="el-icon-arrow-right el-icon&#45;&#45;right"></i></el-button>
      </el-button-group>
      <el-button-group style="margin-left: 30px">
        <el-button type="primary" style="border-radius: 30px 0 0 30px" @click="scaleD">放大</el-button>
        <el-button type="primary" style="border-radius: 0 30px 30px 0" @click="scaleX">缩小</el-button>
      </el-button-group>
      <el-button-group style="margin-left: 30px">
        <el-button type="primary" style="border-radius: 30px 0 0 30px" @click="download(pdfUrl)">下载</el-button>
        <el-button @click="visible=false"  style="border-radius: 0 30px 30px 0" >关闭</el-button>
      </el-button-group>
    </template>
  </GlobalWindow>
</template>
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import pdf from 'vue-pdf'
export default {
  name: 'OperaPdsViewerWindow',
  extends: BaseOpera,
  components: {
    GlobalWindow,
    pdf
  },
  data () {
    return {
      pdfUrl: '',
      // æ€»é¡µæ•°
      pageTotalNum: 1,
      // å½“前页数
      pageNum: 1,
      // åŠ è½½è¿›åº¦
      loadedRatio: 0,
      // é¡µé¢åŠ è½½å®Œæˆ
      curPageNum: 0,
      // æ”¾å¤§ç³»æ•° é»˜è®¤ç™¾åˆ†ç™¾
      scale: 100,
      // æ—‹è½¬è§’度 â€˜90’的倍数才有效
      pageRotate: 0,
      // å•击内部链接时触发 (目前我没有遇到使用场景)
      page: 0,
      // å½“前页数
      numPages: 1,
      // é¢„览路径
      localUrl: '',
      loading: true
    }
  },
  methods: {
    open (title, target) {
      this.pdfUrl = target
      this.title = title
      this.localUrl = ''
      this.localUrl = this.pdfUrl
      console.log(this.pdfUrl)
      const loadingTask = pdf.createLoadingTask(this.localUrl)
      loadingTask.promise.then(pdf => {
        this.numPages = pdf.numPages
        this.loading = false
      }).catch((err) => {
        this.$message.error('文件加载失败,可尝试下载文件查看!')
      })
      this.visible = true
    },
    onLoadSuccess (pdf) {
      // PDF加载成功后,可以将初始页码设置为第一页
      this.pageNum = 1
    },
    download (url) {
      const link = document.createElement('a')
      // è¿™é‡Œæ˜¯å°†é“¾æŽ¥åœ°å€url转成blob地址,
      fetch(url)
        .then((res) => res.blob())
        .then((blob) => {
          link.href = URL.createObjectURL(blob)
          // ä¸‹è½½æ–‡ä»¶çš„名称及文件类型后缀
          link.download = this.title
          document.body.appendChild(link)
          link.click()
          // åœ¨èµ„源下载完成后 æ¸…除 å ç”¨çš„缓存资源
          window.URL.revokeObjectURL(link.href)
          document.body.removeChild(link)
        })
    },
    // ä¸‹è½½PDF
    fileDownload (data, fileName) {
      const blob = new Blob([data], {
        // type类型后端返回来的数据中会有,根据自己实际进行修改
        type: 'application/pdf'
      })
      const filename = fileName || 'pdf.pdf'
      if (typeof window.navigator.msSaveBlob !== 'undefined') {
        window.navigator.msSaveBlob(blob, filename)
      } else {
        var blobURL = URL.createObjectURL(blob)
        // åˆ›å»ºéšè—<a>标签进行下载
        var tempLink = document.createElement('a')
        tempLink.style.display = 'none'
        tempLink.href = blobURL
        tempLink.setAttribute('download', filename)
        if (typeof tempLink.download === 'undefined') {
          tempLink.setAttribute('target', '_blank')
        }
        document.body.appendChild(tempLink)
        tempLink.click()
        document.body.removeChild(tempLink)
        window.URL.revokeObjectURL(blobURL)
      }
    },
    // æ‰“印
    pdfPrintAll () {
      this.$refs.pdf.print()
    },
    // æ”¾å¤§
    scaleD () {
      this.scale += 5
      this.$refs.pdf.$el.style.width = parseInt(this.scale) + '%'
    },
    // ç¼©å°
    scaleX () {
      // scale æ˜¯ç™¾åˆ†ç™¾å±•示 ä¸å»ºè®®ç¼©æ”¾
      if (this.scale == 100) {
        return
      }
      this.scale += -5
      console.log(parseInt(this.scale) + '%')
      this.$refs.pdf.$el.style.width = parseInt(this.scale) + '%'
    },
    // åˆ‡æ¢ä¸Šä¸€é¡µ
    prePage () {
      var p = this.pageNum
      p = p > 1 ? p - 1 : this.pageTotalNum
      this.pageNum = p
    },
    // åˆ‡æ¢ä¸‹ä¸€é¡µ
    nextPage () {
      var p = this.pageNum
      p = p < this.pageTotalNum ? p + 1 : 1
      this.pageNum = p
    },
    // pdf æœ‰å¯†ç  åˆ™éœ€è¦è¾“入秘密
    password (updatePassword, reason) {
      updatePassword(prompt('password is "test"'))
      console.log('...reason...')
      console.log(reason)
      console.log('...reason...')
    },
    // é¡µé¢åŠ è½½æˆåŠŸ  å½“前页数
    pageLoaded (e) {
      console.log('pageLoaded', e)
      this.$emit('current', e)
      this.curPageNum = e
    },
    // å¼‚常监听
    pdfError (error) {
      console.error('异常监听', error)
    }
    // getNumPages() {
    //   let loadingTask = pdf.createLoadingTask(this.pdfUrl);
    //   loadingTask.promise.then(pdf => {
    //     this.numPages = pdf.numPages;
    //     console.log('this.numPages', this.numPages)
    //   }).catch((err) => {
    //     console.error('pdf加载失败')
    //   })
    // },
  }
}
</script>
<style lang="scss" scoped>
.pdfView {
  padding: 20px;
  .show {
    overflow: auto;
    margin: auto;
    max-width: 100%;
    //height: 80vh;
    max-height: 100%;
    border: 2px solid #eee;
    border-radius: 6px;
    background-color: #eeeeee;
    // æ»šåŠ¨æ¡æ ·å¼
    &::-webkit-scrollbar {
      width: 10px;
    }
    &::-webkit-scrollbar-thumb {
      background-color: #999;
      border-radius: 6px;
    }
    &::-webkit-scrollbar-track {
      background-color: transparent;
      border-radius: 6px;
    }
  }
  .pdf_footer {
    position: fixed;
    bottom: 10px;
    font-size: 14px;
    //left: 0;
    right: 50px;
    text-align: right;
    //width: 50%;
    padding: 10px 0;
    background-color: rgba(255, 255, 255, 0.5);
    .info {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-around;
      div {
        //width: 30%;
      }
    }
    .operate {
      margin: 10px 0 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      div {
        // width: 80px;
        text-align: center;
        font-size: 15px;
      }
      .btn {
        cursor: pointer;
        margin: 5px 10px;
        width: 120px;
        border-radius: 10px;
        padding: 5px;
        color: #fff;
        background-color: #3dcbbc;
      }
    }
  }
}
</style>
company/src/components/business/OperaSettleClaimsWindow.vue
@@ -157,6 +157,10 @@
                    <div class="desc_list_item_val">  {{model.informantPhone}} </div>
                </div>
                <div class="desc_list_item" style="width: 100%;">
                    <div class="desc_list_item_label"> è¢«ä¿é™©äººï¼š </div>
                    <div class="desc_list_item_val">{{model.companyName}}</div>
                </div>
                <div class="desc_list_item" style="width: 100%;">
                    <div class="desc_list_item_label"> äº‹æ•…描述: </div>
                    <div class="desc_list_item_val">{{model.content}}</div>
                </div>
company/src/components/business/OperaSolutionsDescWindow.vue
@@ -36,7 +36,7 @@
                    <div class="info_list_item_val">{{form.minAge}}至{{form.maxAge}}</div>
                </div>
                <div class="info_list_item">
                    <div class="info_list_item_label" v-if="form.type !=1">保险费用:</div>
                    <div class="info_list_item_label" v-if="form.type !=1">方案费用:</div>
                    <div class="info_list_item_label" v-else>服务费用:</div>
                    <div class="info_list_item_val">
                        {{form.price}}元/人/
company/src/components/business/OperaSolutionsWindow.vue
@@ -44,7 +44,7 @@
                    </el-select>
                </div>
            </el-form-item>
            <el-form-item label="保险费用" prop="price">
            <el-form-item label="方案费用" prop="price">
                <div style="display: flex; align-items: center;">
                    <el-input v-model="form.price" style="flex: 1;" placeholder="请输入" v-trim/>
                    <span style="margin: 0 30px;">元/人</span>
@@ -96,14 +96,14 @@
              </el-radio-group>
            </div>
          </el-form-item>
          <el-form-item label="批增生效(天数)" prop="addValidDays">
          <el-form-item label="批增生效(天数)" prop="addValidDays" v-if="form.delOnlyReplace != 1">
            <div style="width: 100%; display: flex; align-items: center;">
              <el-input style="margin-left: 20px;" type="number" v-model="form.addValidDays"   placeholder="请输入批增生效时间(天数)" ></el-input>
              <el-input style="margin-left: 0px;" type="number" v-model="form.addValidDays"   placeholder="请输入批增生效时间(天数)" ></el-input>
            </div>
          </el-form-item>
          <el-form-item label="批减生效(天数)" prop="delValidDays">
            <div style="width: 100%; display: flex; align-items: center;">
              <el-input style="margin-left: 20px;" type="number" v-model="form.delValidDays"   placeholder="请输入批减生效时间(天数)" ></el-input>
              <el-input style="margin-left: 0px;" type="number" v-model="form.delValidDays"   placeholder="请输入批减生效时间(天数)" ></el-input>
            </div>
          </el-form-item>
            <el-form-item label="投保类型" prop="type">
@@ -259,7 +259,7 @@
          { required: true, message: '请选择投保年龄' }
        ],
        price: [
          { required: true, message: '请输入保险费用' }
          { required: true, message: '请输入方案费用' }
        ],
        insureCycleUnit: [
          { required: true, message: '请输入批改计费单位' }
company/src/components/business/OperaUnionApplyCheckWindow.vue
@@ -60,14 +60,14 @@
          <div class="box_table_head">
            <div class="box_table_head_item">序号</div>
            <div class="box_table_head_item">被保险人</div>
            <div  class="box_table_head_item">投保人数</div>
            <div  class="box_table_head_item">在保/投保人数</div>
            <div class="box_table_head_item">操作</div>
            <div class="box_table_head_item">服务费(当前保单)</div>
          </div>
          <div class="box_table_content" v-for="(item, index) in model.applyList" :key="index">
            <div class="box_table_content_item">{{index + 1}}</div>
            <div class="box_table_content_item" >{{ item.companyName }}</div>
            <div class="box_table_content_item">{{ item.insureNum }}</div>
            <div class="box_table_content_item">{{item.guaranteeNum}} / {{ item.insureNum }}</div>
            <div class="box_table_content_item">
              <el-form-item label="" prop="bxdMultifileList[index]">
                <UploadFileLink   @remove="deleIndex(1,index)" :uploadData="{ folder: 'apply',fileType:'.pdf' }" :fileIndex="index" :showTips="showTips" :fileList="model.applyList[index].fileList1" @uploadSuccess="baoxianFileUploaded2" />
company/src/components/business/OperaWtbApplyShopWindow.vue
@@ -85,6 +85,7 @@
                            align="center"
                            label="投保人数">
                        </el-table-column>
                      <el-table-column prop="guaranteeNum"  align="center" label="在保人数" ></el-table-column>
                        <el-table-column
                            prop="serviceDays"
                            align="center"
@@ -460,7 +461,7 @@
        <!--    ä¼ä¸šç”³è¯·é€€å›ž    -->
        <applyReturn ref="applyReturn" @success="successEvent" />
        <!--    æ–°å¢žæŠ•保    -->
        <OperaInsuranceApplyAddWindow ref="OperaInsuranceApplyAddWindow" @success="successEvent" />
        <OperaInsuranceApplyAddWindowNew ref="OperaInsuranceApplyAddWindow" @success="successEvent" />
        <!--    åŠ å‡ä¿ç”³è¯·    -->
        <additionSubtractionApplication ref="additionSubtractionApplication" @success="successEvent" />
        <!--    æ›´æ¢æ´¾é£å•位申请    -->
@@ -470,6 +471,7 @@
        <!-- æ›´æ¢æ´¾é£å•位详情 -->
        <OperaApplyChangeUnitDetailWindow ref="OperaApplyChangeUnitDetailWindow" @success="successEvent"/>
        <!--    éªŒè¯æ‰‹æœºå·    -->
        <OperaPdfViewerWindow ref="OperaPdfViewerWindow"  />
        <operaverifyPhoneNumberWindew ref="operaverifyPhoneNumberWindew" @success="goSign" />
        <template v-slot:footer>
            <el-button @click="visible=false">返回</el-button>
@@ -506,10 +508,11 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import OperaInsuranceApplyAddWindow from '@/components/enterprise/OperaInsuranceApplyAddWindow'
import OperaInsuranceApplyAddWindowNew from '@/components/enterprise/OperaInsuranceApplyAddWindowNew'
import GlobalWindow from '@/components/common/GlobalWindow'
import InsuranceDetails from '@/components/business/InsuranceDetails'
import OperaWtbApplyCheckWindow from '@/components/business/OperaWtbApplyCheckWindow'
import OperaPdfViewerWindow from '@/components/business/OperaPdfViewerWindow'
import additionSubtractionApplication from '@/components/enterprise/additionSubtractionApplication'
import factoryChange from '@/components/enterprise/factoryChange'
import operaverifyPhoneNumberWindew from '@/components/business/operaverifyPhoneNumberWindew'
@@ -537,9 +540,10 @@
  components: {
    GlobalWindow,
    InsuranceDetails,
    OperaPdfViewerWindow,
    OperaWtbApplyCheckWindow,
    applyReturn,
    OperaInsuranceApplyAddWindow,
    OperaInsuranceApplyAddWindowNew,
    additionSubtractionApplication,
    factoryChange,
    OperaApplyChangeDetailWindow,
@@ -793,7 +797,7 @@
    exportExcel () {
      if (this.activeName === '0') {
        exportExcel({
          capacity: 10,
          capacity: 60000,
          page: this.currentPage,
          model: {
            solutionName: this.tableData[0].solutionsName,
@@ -812,7 +816,7 @@
        })
      } else {
        applyChagneDetailExcel({
          capacity: 10,
          capacity: 60000,
          page: this.currentPage,
          model: {
            applyId: this.dataId,
@@ -905,27 +909,34 @@
    viewToubaodan () {
      if (this.model.toubaodanSignedFile && this.model.toubaodanSignedFile.fileurlFull) {
        setTimeout(() => {
          window.open(this.model.toubaodanSignedFile.fileurlFull)
          this.$refs.OperaPdfViewerWindow.open('查看投保单',this.model.toubaodanSignedFile.fileurlFull)
          // window.open(this.model.toubaodanSignedFile.fileurlFull)
        }, 500)
      } else if (this.model.toubaodanFile && this.model.toubaodanFile.fileurlFull) {
        setTimeout(() => {
          window.open(this.model.toubaodanFile.fileurlFull)
          this.$refs.OperaPdfViewerWindow.open('查看投保单',this.model.toubaodanFile.fileurlFull)
          // window.open(this.model.toubaodanFile.fileurlFull)
        }, 500)
      }
    },
    viewBaoxiandan () {
      if (this.model.baoxiandanFile && this.model.baoxiandanFile.fileurlFull) {
        window.open(this.model.baoxiandanFile.fileurlFull)
        this.$refs.OperaPdfViewerWindow.open('查看保险单',this.model.baoxiandanFile.fileurlFull)
        // window.open(this.model.baoxiandanFile.fileurlFull)
      }
    },
    viewFanganshu () {
      if (this.model.fanganFile && this.model.fanganFile.fileurlFull) {
        window.open(this.model.fanganFile.fileurlFull)
        this.$refs.OperaPdfViewerWindow.open('查看方案确认书',this.model.fanganFile.fileurlFull)
        // window.open(this.model.fanganFile.fileurlFull)
      }
    },
    viewShenqingdan () {
      if (this.model.shenqingdanFile && this.model.shenqingdanFile.fileurlFull) {
        window.open(this.model.shenqingdanFile.fileurlFull)
      if (this.model.shenqingdanFile && this.model.shenqingdanFile.fileurlFull){
        this.$refs.OperaPdfViewerWindow.open('查看申请单',this.model.shenqingdanFile.fileurlFull)
        // window.open(this.model.shenqingdanFile.fileurlFull)
      }
    },
    handleSizeChange (val) {
company/src/components/business/detailsEntrustedInsurance.vue
@@ -62,6 +62,7 @@
                align="center"
                label="投保人数">
            </el-table-column>
            <el-table-column prop="guaranteeNum"  align="center" label="在保人数" ></el-table-column>
            <el-table-column
                prop="serviceDays"
                align="center"
company/src/components/business/detailsPolicyholder.vue
@@ -16,7 +16,7 @@
                    <div class="box_table_head_item"  style="flex:2">保险方案</div>
                    <div class="box_table_head_item" style="flex:2">保险生效起期</div>
                    <div class="box_table_head_item" style="flex:2">保险生效止期</div>
                    <div class="box_table_head_item">投保人数</div>
                    <div class="box_table_head_item">在保/投保人数</div>
                    <div class="box_table_head_item">总费用(元)</div>
                </div>
                <div class="box_table_content "  >
@@ -24,7 +24,7 @@
                    <div class="box_table_content_item box_table_content_header" style="flex:2"><span>{{ model.solutionName }}</span></div>
                    <div class="box_table_content_item box_table_content_header" style="flex:2">{{ model.applyStartTime }}</div>
                    <div class="box_table_content_item box_table_content_header" style="flex:2">{{ model.applyEndTime }}</div>
                    <div class="box_table_content_item box_table_content_header">{{ model.insureNum }}</div>
                    <div class="box_table_content_item box_table_content_header">{{ model.guaranteeNum }} / {{ model.insureNum }}</div>
                    <div class="box_table_content_item box_table_content_header"  >{{model.solutionType==0?model.totalPrice:model.totalPrice}}</div>
                </div>
            </div>
company/src/components/enterprise/OperaInsuranceApplyAddWindow.vue
@@ -168,10 +168,10 @@
    <confirmJobType ref="confirmJobType" @result="getUser" />
    <!--    æŸ¥çœ‹è¯¦å•    -->
    <detailsPolicyholder ref="detailsPolicyholder" @success="successEvent" />
<!--    &lt;!&ndash;    ç›´ä¿æŠ•保详情    &ndash;&gt;
    <!--    ç›´ä¿æŠ•保详情    -->
    <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" />
    &lt;!&ndash;    å§”托投保详情    &ndash;&gt;
    <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" />-->
    <!--    å§”托投保详情    -->
    <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" />
  </GlobalWindow>
</template>
@@ -183,8 +183,8 @@
import importEmployees from '@/components/enterprise/importEmployees'
import confirmJobType from '@/components/enterprise/confirmJobType'
import detailsPolicyholder from '@/components/business/detailsPolicyholder'
// import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
// import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
import { all, getNewVersion } from '@/api/business/solutions'
import { mapState } from 'vuex'
import { create, getCountCyclePriceVO, getDetail, findList, updateData } from '@/api/business/insuranceApply'
@@ -192,11 +192,11 @@
// Vue.component(UTable.name, UTable);
// Vue.component(UTableColumn.name, UTableColumn);
export default {
  name: 'OperaInsuranceApplyAddWindow',
  name: 'OperaInsuranceApplyAddWindowNew',
  extends: BaseOpera,
  components: {
    GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, detailsPolicyholder, UTable, UTableColumn
    // ,  OperaWtbApplyShopWindow, OperaInsuranceApplyDetails
    ,  OperaWtbApplyShopWindow, OperaInsuranceApplyDetails
  },
  data () {
    return {
@@ -264,11 +264,11 @@
        console.log(res)
        this.visible = false
        if (this.item.type == 1) {
          // this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: res })
          this.$emit('success', 1, { id: res })
          this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: res })
        } else {
          // this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: res })
          this.$emit('success', 1, { id: res })
          this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: res })
        }
        this.$tip.apiSuccess('操作成功')
        // this.$emit('success','委托投保详情', { id: res })
company/src/components/enterprise/OperaInsuranceApplyAddWindowNew.vue
ÎļþÃû´Ó company/src/components/enterprise/OperaInsuranceApplyAddWindow2.vue ÐÞ¸Ä
@@ -48,17 +48,17 @@
              placeholder="选择日期">
          </el-date-picker>
        </el-form-item>
        <el-form-item label="投保年龄" v-if="item">
<!--        <el-form-item label="投保年龄" v-if="item && item.id !=null">
          <span>{{item.minAge}} è‡³ {{item.maxAge}}</span>
        </el-form-item>
        <el-form-item label="费用" v-if="item && item.type ==0">
        <el-form-item label="费用" v-if="item && item.id !=null">
          <span>{{item.price}}元</span>
          <span v-if="item.timeUnit === 0">/天</span>
          <span v-if="item.timeUnit === 1">/半月</span>
          <span v-if="item.timeUnit === 2">/月</span>
          <span v-if="item.timeUnit === 3">/å¹´</span>
          <span>/人</span>
        </el-form-item>
        </el-form-item>-->
      </el-form>
    </div>
    <div class="btns">
@@ -69,35 +69,52 @@
        <el-button type="danger" @click="deleItem">删除</el-button>
      </div>
      <div class="btns_item">
        <div style="display: inline-block;margin-right: 30px;font-size: 14px" v-if="item && item.id !=null">
          <span>投保年龄:</span>
          <span>{{item.minAge}} è‡³ {{item.maxAge}}周岁</span>
          <span style="margin-left: 20px">费用:</span>
          <span>{{item.price}}元</span>
          <span v-if="item.timeUnit === 0">/天</span>
          <span v-if="item.timeUnit === 1">/半月</span>
          <span v-if="item.timeUnit === 2">/月</span>
          <span v-if="item.timeUnit === 3">/å¹´</span>
          <span>/人</span>
        </div>
        <div style="display: inline-block;margin-right: 30px;font-size: 14px"><span>合计费用:</span>
        <span style="font-weight: bold;color: red">{{sumFee}}</span>元
        </div>
        <el-button type="primary" @click="sele">选取派遣单位</el-button>
      </div>
    </div>
    <el-table
<!--    show-summary
    :summary-method="getSummaries"-->
    <u-table
        :data="tableData"
        border
        show-summary
        :summary-method="getSummaries"
        use-virtual
        :row-height="30"
        :height="680"
        ref="multipleTable"
        @selection-change="handleSelectionChange"
        style="width: 100%;margin-bottom: 15px;">
      <el-table-column
      <u-table-column
          type="selection"
          width="55">
      </el-table-column>
      <el-table-column label="序号" width="80px">
      </u-table-column>
      <u-table-column label="序号" width="80px">
        <template slot-scope="scope">
          <span>{{scope.$index + 1}}</span>
        </template>
      </el-table-column>
      <el-table-column
      </u-table-column>
      <u-table-column
          prop="memberName"
          label="姓名">
      </el-table-column>
      <el-table-column
      </u-table-column>
      <u-table-column
          prop="idCard"
          label="身份证号">
      </el-table-column>
      <el-table-column
      </u-table-column>
      <u-table-column
          label="年龄">
        <template slot-scope="{row}">
          <template v-if="item">
@@ -105,37 +122,37 @@
            <span v-else>{{ getAgeByIdCard(row.idCard) }}</span>
          </template>
        </template>
      </el-table-column>
      <el-table-column
      </u-table-column>
      <u-table-column
          prop="duName"
          label="派遣单位">
      </el-table-column>
      <el-table-column
      </u-table-column>
      <u-table-column
          prop="workTypeName"
          label="所属工种">
      </el-table-column>
      <el-table-column
      </u-table-column>
      <u-table-column
          prop="fee"
          label="费用">
        <template slot-scope="{row}">
          {{item.type==1?row.fee:row.fee}}
          {{row.fee}}
        </template>
      </el-table-column>
      <el-table-column
      </u-table-column>
      <u-table-column
          prop="remark"
          align="center"
          label="备注">
        <template slot-scope="{row}">
          <el-input v-model="row.remark" placeholder="请输入"></el-input>
        </template>
      </el-table-column>
      <el-table-column
      </u-table-column>
      <u-table-column
          label="操作">
        <template slot-scope="scope">
          <el-button type="text" style="color: red;" @click="dele(scope.$index)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
      </u-table-column>
    </u-table>
    <div class="info" v-if="item">
      <span v-if="item.specialAgreement"  v-html="item.specialAgreement"></span>
      <span v-if="item.specialInfo" v-html="item.specialInfo"> </span>
@@ -151,10 +168,10 @@
    <confirmJobType ref="confirmJobType" @result="getUser" />
    <!--    æŸ¥çœ‹è¯¦å•    -->
    <detailsPolicyholder ref="detailsPolicyholder" @success="successEvent" />
<!--    &lt;!&ndash;    ç›´ä¿æŠ•保详情    &ndash;&gt;
    <!--    ç›´ä¿æŠ•保详情    -->
    <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" />
    &lt;!&ndash;    å§”托投保详情    &ndash;&gt;
    <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" />-->
    <!--    å§”托投保详情    -->
    <OperaWtbApplyShopWindow ref="OperaWtbApplyShopWindow" />
  </GlobalWindow>
</template>
@@ -166,20 +183,24 @@
import importEmployees from '@/components/enterprise/importEmployees'
import confirmJobType from '@/components/enterprise/confirmJobType'
import detailsPolicyholder from '@/components/business/detailsPolicyholder'
// import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
// import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
import OperaInsuranceApplyDetails from '@/components/business/OperaInsuranceApplyWindow'
import OperaWtbApplyShopWindow from '@/components/business/OperaWtbApplyShopWindow'
import { all, getNewVersion } from '@/api/business/solutions'
import { mapState } from 'vuex'
import { create, getCountCyclePriceVO, getDetail, findList, updateData } from '@/api/business/insuranceApply'
import { UTable, UTableColumn } from 'umy-ui'
// Vue.component(UTable.name, UTable);
// Vue.component(UTableColumn.name, UTableColumn);
export default {
  name: 'OperaInsuranceApplyAddWindow',
  name: 'OperaInsuranceApplyAddWindowNew',
  extends: BaseOpera,
  components: {
    GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, detailsPolicyholder
    // ,  OperaWtbApplyShopWindow, OperaInsuranceApplyDetails
    GlobalWindow, selectEmployees, addEmployee, importEmployees, confirmJobType, detailsPolicyholder, UTable, UTableColumn
    ,  OperaWtbApplyShopWindow, OperaInsuranceApplyDetails
  },
  data () {
    return {
      sumFee:0,
      form: {
        id: null,
        ID: null,
@@ -215,6 +236,17 @@
  computed: {
    ...mapState(['userInfo'])
  },
  watch: {
    // ç›‘听tableData的变化
    tableData: {
      deep: true,
      handler(newVal, oldVal) {
        // æ•°æ®å˜åŒ–时的处理逻辑
        this.getSummaries2()
        console.log(this.tableData.length)
      }
    }
  },
  methods: {
    successEvent () {
      const arr = JSON.parse(JSON.stringify(this.tableData))
@@ -232,11 +264,11 @@
        console.log(res)
        this.visible = false
        if (this.item.type == 1) {
          // this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: res })
          this.$emit('success', 1, { id: res })
          this.$refs.OperaWtbApplyShopWindow.open('委托投保详情', { id: res })
        } else {
          // this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: res })
          this.$emit('success', 1, { id: res })
          this.$refs.OperaInsuranceApplyDetails.open('投保详情', { id: res })
        }
        this.$tip.apiSuccess('操作成功')
        // this.$emit('success','委托投保详情', { id: res })
@@ -316,25 +348,37 @@
          this.changeSolution1(res.solutionId)
        })
    },
    getSummaries (param) {
      const { columns, data } = param
    getSummaries ({ columns, data }) {
      const sums = []
      // this.currentData = data; //记录当前页数据;
      columns.forEach((column, index) => {
        if (index === 0) {
        if (index == 0) {
          sums[index] = '总价'
        } else if (index === 7) {
          if (this.item || this.item.type == 1) {
            sums[index] = '-'
          } else {
            let total = 0
            this.tableData.forEach(item => {
              total += item.fee
            })
            sums[index] = total.toFixed(2)
          }
        } else if (index == 7) {
          // if (this.item || this.item.type == 1) {
          //   sums[index] = '-'
          // } else {
          let total = 0
          this.tableData.forEach(item => {
            total += item.fee
          })
          sums[index] = total.toFixed(2)
          // }
        }else {
          sums[index] = ''
        }
      })
      console.log(sums)
      return sums
    },
    getSummaries2 () {
      this.sumFee = 0;
      if(this.tableData&&this.tableData.length){
        this.tableData.forEach((column, index) => {
          this.sumFee = parseFloat(this.sumFee) + parseFloat(column.fee)
        })
        this.sumFee = (this.sumFee || 0).toFixed(2)
      }
    },
    deleItem () {
      if (this.seleData.length === 0) {
@@ -348,6 +392,7 @@
          }
        })
      })
      // this.getSummaries2()
    },
    confirm () {
      this.$refs.form.validate((valid) => {
@@ -447,14 +492,15 @@
    },
    // åˆ‡æ¢æ–¹æ¡ˆ
    changeSolution (e) {
      this.sumFee =0;
      this.form.applyEndTime = ''
      this.form.applyStartTime = ''
      if (!this.form.id) {
        this.tableData = []
      } else {
        this.price = ''
        this.price = 0
        this.tableData.forEach(item => {
          item.fee = ''
          item.fee = 0
          item.duName = ''
          item.duId = ''
          item.workTypeName = ''
@@ -463,11 +509,11 @@
      }
      this.company.forEach(item => {
        if (item.id === e) {
          // this.price = item.price
          this.price = item.price
          this.item = item
         /* if (this.item && this.item.type == 1) {
            this.item.fee = 0
          }*/
          // if (this.item && this.item.type == 1) {
          //   this.item.fee = 0
          // }
          this.updatePickerOptions()
        }
      })
@@ -482,23 +528,21 @@
          this.form.solutionId = res.id
          this.company.forEach(item => {
            if (item.id === res.id) {
              // this.price = item.price
              this.price = item.price
              this.item = item
              if (this.item && this.item.type == 1) {
                this.item.fee = 0
              }
              this.updatePickerOptions()
            }
          })
        })
      this.tableData.forEach(item => {
        if(this.item.type != 0){
        // if (this.item.type != 0) {
          item.fee = this.price
        }
        // }
      })
    },
    dele (index) {
      this.tableData.splice(index, 1)
      // this.getSummaries2()
    },
    getUser (obj) {
      this.seleData.forEach(id => {
@@ -562,6 +606,7 @@
    },
    getValue (list) {
      this.tableData.push(...list)
      this.getSummaries2()
    }
  }
}
company/src/components/enterprise/additionSubtractionApplication.vue
@@ -71,6 +71,11 @@
                    label="投保人数">
                </el-table-column>
                <el-table-column
                    prop="guaranteeNum"
                    align="center"
                    label="在保人数">
                </el-table-column>
                <el-table-column
                    prop="serviceDays"
                    align="center"
                    label="保单时长(天)">
company/src/components/enterprise/editFactoryChange.vue
@@ -69,6 +69,7 @@
                        align="center"
                        label="投保人数">
                </el-table-column>
              <el-table-column prop="guaranteeNum"  align="center" label="在保人数" ></el-table-column>
                <el-table-column
                        prop="serviceDays"
                        align="center"
company/src/components/enterprise/factoryChange.vue
@@ -69,6 +69,7 @@
                    align="center"
                    label="投保人数">
                </el-table-column>
              <el-table-column prop="guaranteeNum"  align="center" label="在保人数" ></el-table-column>
                <el-table-column
                    prop="serviceDays"
                    align="center"
company/src/components/enterprise/reinsurance.vue
@@ -70,6 +70,7 @@
                        align="center"
                        label="投保人数">
                </el-table-column>
              <el-table-column prop="guaranteeNum"  align="center" label="在保人数" ></el-table-column>
                <el-table-column
                        prop="serviceDays"
                        align="center"
company/src/components/enterprise/renewalInsurance.vue
@@ -27,6 +27,7 @@
                </template>
            </el-table-column>
            <el-table-column prop="insureNum" label="投保人数"></el-table-column>
          <el-table-column prop="guaranteeNum" label="在保人数" ></el-table-column>
            <el-table-column label="投保时长(天)">
                <template slot-scope="{row}">
                    <span>{{row.serviceDays < 0 ? `-` : row.serviceDays}}</span>
company/src/views/business/insuranceApply.vue
@@ -70,6 +70,7 @@
                <el-table-column prop="companyName" label="投保企业" min-width="100px"></el-table-column>
                <el-table-column prop="solutionsName" label="保险方案" min-width="100px"></el-table-column>
                <el-table-column prop="insureNum" label="投保人数" min-width="100px"></el-table-column>
              <el-table-column prop="guaranteeNum" label="在保人数" min-width="100px"></el-table-column>
                <el-table-column prop="fee" label="总费用(元)" min-width="100px"></el-table-column>
                <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column>
                <el-table-column
company/src/views/business/insuranceApplyShop.vue
@@ -70,6 +70,7 @@
                <el-table-column prop="companyName" label="投保企业" min-width="100px"></el-table-column>
                <el-table-column prop="solutionsName" label="保险方案" min-width="100px"></el-table-column>
                <el-table-column prop="insureNum" label="投保人数" min-width="100px"></el-table-column>
              <el-table-column prop="guaranteeNum" label="在保人数" min-width="100px"></el-table-column>
                <el-table-column prop="fee" label="总费用(元)" min-width="100px"></el-table-column>
                <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column>
                <el-table-column
company/src/views/business/policyList.vue
@@ -74,6 +74,7 @@
        <el-table-column prop="solutionsName" label="保险方案"  align="center" min-width="100px"></el-table-column>
        <el-table-column prop="code" label="保单号" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="insureNum" label="投保人数" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="guaranteeNum" label="在保人数" align="center" min-width="100px"></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" label="总费用(元)" align="center" min-width="100px"></el-table-column>
company/src/views/business/solutions.vue
@@ -54,7 +54,7 @@
                </el-table-column>
<!--                <el-table-column prop="addValidDays"  label="批增生效时间" min-width="100px">   </el-table-column>
                <el-table-column prop="delValidDays"  label="批减生效时间" min-width="100px">   </el-table-column>-->
                <el-table-column label="保险费用" min-width="100px">
                <el-table-column label="方案费用" min-width="100px">
                    <template slot-scope="{row}">
                        <span>{{row.price}}元/人/</span>
                        <span v-if="row.timeUnit === 0">天</span>
@@ -65,7 +65,7 @@
                        <span v-if="row.timeUnit === 5">å¹´</span>
                    </template>
                </el-table-column>
                <el-table-column label="委托类型" min-width="120px" align="center">
                <el-table-column label="投保类型" min-width="120px" align="center">
                    <template slot-scope="{row}">
                        <span v-if="row.type === 0">直保</span>
                        <span v-if="row.type === 1">委托<div style="color: blue;display:  block" >{{row.shopName||'-'}}</div></span>
company/src/views/business/unionApply.vue
@@ -59,6 +59,7 @@
                </el-table-column>
                <el-table-column prop="solutionName" label="保险方案" min-width="100px"></el-table-column>
                <el-table-column prop="insureNum" label="投保人数" min-width="100px"></el-table-column>
              <el-table-column prop="guaranteeNum" label="在保人数"></el-table-column>
                <el-table-column prop="fee" label="总费用(元)" min-width="100px"></el-table-column>
                <el-table-column prop="createDate" label="提交时间" min-width="100px"></el-table-column>
                <el-table-column
company/src/views/enterprise/insuranceApply.vue
@@ -69,6 +69,7 @@
                  </template>
                </el-table-column>
                <el-table-column prop="insureNum" label="投保人数"></el-table-column>
                <el-table-column prop="guaranteeNum" label="在保人数"></el-table-column>
                <el-table-column label="投保时长(天)">
                    <template slot-scope="{row}">
                        <span>{{(row.serviceDays - row.loseEfficacyDays) < 0 ? `-` : row.serviceDays - row.loseEfficacyDays}}</span>
@@ -112,7 +113,6 @@
        <OperaInsuranceApplyDetails ref="OperaInsuranceApplyDetails" @success="handlePageChange" />
    </TableLayout>
</template>
<script>
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
company/src/views/enterprise/myPolicy.vue
@@ -100,6 +100,7 @@
                    </template>
                </el-table-column>
                <el-table-column prop="insureNum" label="投保人数"></el-table-column>
                <el-table-column prop="guaranteeNum" label="在保人数"></el-table-column>
                <el-table-column label="投保时长(天)">
                    <template slot-scope="{row}">
                        <span>{{(row.serviceDays - row.loseEfficacyDays) < 0 ? `-` : row.serviceDays - row.loseEfficacyDays}}</span>