Explorar el Código

Merge branch 'dev' of http://www.baoxianzhanggui.com:8090/sxzgd/vue-insagent-pc into dev

# Conflicts:
#	config/dev.env.js
haizhouwang hace 2 años
padre
commit
453be487b9

+ 2 - 2
config/dev.env.js

@@ -5,10 +5,10 @@ const prodEnv = require('./prod.env')
 module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
   ENV_CONFIG:'"dev"',
-  BASE_URL: '"http://39.98.239.48/web-api"',//测试服务器
+  // BASE_URL: '"http://39.98.239.48/web-api"',//测试服务器
   // BASE_URL:'"http://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
   // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
-  // BASE_URL: '"http:///192.168.0.253:8082/"',//田智
+  BASE_URL: '"http:///192.168.0.253:8082/"',//田智
   // BASE_URL: '"http:///192.168.0.36:8080/"',//靖燕龙
 })
 

+ 2 - 12
src/views/Core/PersonalPanel.vue

@@ -77,7 +77,7 @@
     <!-- 修改密码 -->
     <psdreset ref="psdresetDialog" @afterRestore="afterReset"></psdreset>
     <!-- 闪电增员 -->
-    <Recruiting ref="recruitingDialog" :type="recruitingType"></Recruiting>
+    <Recruiting ref="recruitingDialog" ></Recruiting>
 
   </div>
 </template>
@@ -122,7 +122,6 @@ export default {
   data() {
     return {
       avatar: require("@/assets/user.png"),
-      recruitingType:''
     }
   },
   created(){
@@ -140,16 +139,7 @@ export default {
 
     //闪电增员
     recruiting() {
-      this.$api.user.recruitinQqueryType().then((res) => {
-        if(res.code==200){
-          this.recruitingType=res.data
-          this.$refs.recruitingDialog.setBackupVisible(true)
-        }
-        else{
-          this.$message.error(res.msg)
-        }
-          }).catch(function (res) {
-          })
+      this.$refs.recruitingDialog.setBackupVisible(true)
     },
     // 清除缓存
     clearCache(){

+ 879 - 21
src/views/FinancialManagement/CarInsurance/CompanySettlement/DocGenerate.vue

@@ -92,7 +92,8 @@
     </div>
     <el-main ref="elMain" style="padding: 0px">
       <kt-common-table
-        :showOperation="false"
+      :operationWidth="150"
+        :showOperation="true"
         permsDelete="sys:user:delete"
         :showBatchDelete="false"
         :showBatchSettled="true"
@@ -107,6 +108,10 @@
         settledName="批量生成"
         @handleSettled="handleTableSettled"
         @handlePrint="handlePrint"
+        button1Name="查看详细"
+        button1Background="#E6A23C"
+        @handleButton1="exDetails"
+        button1Icon=""
       >
       </kt-common-table>
     </el-main>
@@ -120,8 +125,264 @@
         title="生成成功"
         :subTitle="'结算单号:' + docOrderid"
       >
+      <template slot="extra">
+        <el-button type="primary" size="small" @click="dialogVisible=false">关闭</el-button>
+      </template>
       </el-result>
     </el-dialog>
+    <el-dialog
+      title="提示"
+      :visible.sync="dialogVisible11"
+      width="30%">
+      <span>
+        选择结算月份:
+      </span>
+      <el-date-picker size="small"
+      v-model="monthvalue"
+      type="month"
+      value-format="yyyy-MM-dd"
+      placeholder="选择月">
+    </el-date-picker>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisible11 = false">取 消</el-button>
+        <el-button size="small" type="primary" @click="jiesuanminrt()"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
+    <el-dialog title="报价详情" :visible.sync="quotedetailsdialogVisible" width="90%">
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">报价信息</span>
+          </div>
+        </div>
+        <div style="padding:20px;font-weight:bold;font-size:20px;">
+          <span>总保费</span>
+          <span style="color:#ff7612;">¥{{ orderInfo.sumpremium }}</span>
+        </div>
+        <div class="headers headers_Custom" style="padding:20px;">
+          <div v-show="orderInfo.jqpremium">
+            交强险金额:
+            <span>
+              ¥{{
+                orderInfo.jqpremium }}
+            </span>
+          </div>
+          <div v-show="orderInfo.sypremium">
+            商业险金额:
+            <span>¥{{ orderInfo.sypremium }}</span>
+          </div>
+          <div v-show="orderInfo.taxamount">
+            车船税:
+            <span>¥{{ orderInfo.taxamount }}</span>
+          </div>
+          <div v-show="orderInfo.jypremium">
+            驾意险:
+            <span>¥{{ orderInfo.jypremium }}</span>
+          </div>
+          <div v-show="orderInfo.jqstartdate">
+            交强险起保日期:
+            <span>{{ orderInfo.jqstartdate }}</span>
+          </div>
+          <div v-show="orderInfo.systartdate">
+            商业险起保日期:
+            <span>{{ orderInfo.systartdate }}</span>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">保费因素</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="评分">{{ orderInfo.extendInfo.score }}</el-descriptions-item>
+          <el-descriptions-item label="出险信息">{{ orderInfo.extendInfo.accidentInfoStr }}</el-descriptions-item>
+          <el-descriptions-item label="商业险折扣比例">{{ orderInfo.extendInfo.nirrratio }}</el-descriptions-item>
+          <el-descriptions-item label="交强险折扣比例">{{ orderInfo.extendInfo.nirrratioCI }}</el-descriptions-item>
+          <el-descriptions-item label="自主定价系数">{{ orderInfo.extendInfo.pricingAdjustValue }}</el-descriptions-item>
+          <el-descriptions-item label="业务员交强险销售费用浮动率">
+            {{ orderInfo.extendInfo.jqFeeSaleChangeRateA4
+            }}
+          </el-descriptions-item>
+          <el-descriptions-item label="交强深度定价分档">{{ orderInfo.extendInfo.deepPriceGradeCI }}</el-descriptions-item>
+          <el-descriptions-item label="业务员商业险销售费用浮动率">
+            {{ orderInfo.extendInfo.syFeeSaleChangeRateA4
+            }}
+          </el-descriptions-item>
+          <el-descriptions-item label="商业深度定价分档">{{ orderInfo.extendInfo.deepPriceGradeBI }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">车辆信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="车牌号">{{ orderInfo.carinfo.licenseNo }}</el-descriptions-item>
+          <el-descriptions-item label="车辆识别代码">{{ orderInfo.carinfo.vinNo }}</el-descriptions-item>
+          <el-descriptions-item label="品牌型号">{{ orderInfo.carinfo.modelcname }}</el-descriptions-item>
+          <el-descriptions-item label="发动机号">{{ orderInfo.carinfo.engineNo }}</el-descriptions-item>
+          <el-descriptions-item label="年款">{{ orderInfo.carinfo.caryear }}</el-descriptions-item>
+          <el-descriptions-item label="座位数">{{ orderInfo.carinfo.seatCount }}</el-descriptions-item>
+          <el-descriptions-item label="新车购置价">{{ orderInfo.carinfo.purchasePrice }}</el-descriptions-item>
+          <el-descriptions-item label="使用性质">
+            {{ orderInfo.carinfo.carnature == '01' ? '营业' : ''
+            }}
+          </el-descriptions-item>
+          <el-descriptions-item label="注册日期">{{ orderInfo.carinfo.registerDate }}</el-descriptions-item>
+          <el-descriptions-item label="发证日期">{{ orderInfo.carinfo.issueDate }}</el-descriptions-item>
+          <el-descriptions-item label="是否过户">
+            {{ orderInfo.carinfo.transferFlag == true ? '是' : '否'
+            }}
+          </el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">车主信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="车主姓名">{{ orderInfo.ownerinfo.name }}</el-descriptions-item>
+          <el-descriptions-item label="证件类型"> {{ orderInfo.ownerinfo.identifyType}}</el-descriptions-item>
+          <el-descriptions-item label="身份证号">{{ orderInfo.ownerinfo.identifyNumber }}</el-descriptions-item>
+          <el-descriptions-item label="手机号">{{ orderInfo.ownerinfo.mobile }}</el-descriptions-item>
+          <el-descriptions-item label="地址">{{ orderInfo.ownerinfo.addr }}</el-descriptions-item>
+          <el-descriptions-item label="电子邮箱">{{ orderInfo.ownerinfo.email }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">投保人信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="投保人姓名">{{ orderInfo.applyinfo.name }}</el-descriptions-item>
+          <el-descriptions-item label="证件类型"> {{ orderInfo.applyinfo.identifyType}}</el-descriptions-item>
+          <el-descriptions-item label="身份证号">{{ orderInfo.applyinfo.identifyNumber }}</el-descriptions-item>
+          <el-descriptions-item label="手机号">{{ orderInfo.applyinfo.mobile }}</el-descriptions-item>
+          <el-descriptions-item label="地址">{{ orderInfo.applyinfo.addr }}</el-descriptions-item>
+          <el-descriptions-item label="电子邮箱">{{ orderInfo.applyinfo.email }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">被保人信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="被保人姓名">{{ orderInfo.insureinfo.name }}</el-descriptions-item>
+          <el-descriptions-item label="证件类型"> {{ orderInfo.insureinfo.identifyType}}</el-descriptions-item>
+          <el-descriptions-item label="身份证号">{{ orderInfo.insureinfo.identifyNumber }}</el-descriptions-item>
+          <el-descriptions-item label="手机号">{{ orderInfo.insureinfo.mobile }}</el-descriptions-item>
+          <el-descriptions-item label="地址">{{ orderInfo.insureinfo.addr }}</el-descriptions-item>
+          <el-descriptions-item label="电子邮箱">{{ orderInfo.insureinfo.email }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">险种信息</span>
+          </div>
+        </div>
+        <div style="font-size:12px">
+          <div class="headers kindinfocss" style="justify-content: space-around">
+            <span>商业险险别</span>
+            <span>保额(元)</span>
+            <span>保费(元)</span>
+          </div>
+          <div class="headers kindinfocss" style="color:rgb(255, 118, 18); justify-content:space-around;"
+            v-for="(kindinfoitem, kindinfoindex) in orderInfo.kindinfo" :key="kindinfoindex">
+            <template v-if="kindinfoitem.coveragePremium">
+              <span>{{ kindinfoitem.kindName }}</span>
+              <span v-if="['D4', 'SY_FJ_YBW2'].includes(kindinfoitem.kindCode)">{{ kindinfoitem.unitAmount }}</span>
+              <span v-else-if="['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(kindinfoitem.kindCode)">
+                {{
+                  kindinfoitem.deductibleRate
+                }}
+              </span>
+              <span v-else>{{ kindinfoitem.amount }}</span>
+              <span>{{ kindinfoitem.coveragePremium }}</span>
+            </template>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo.accidentInfo&&orderInfo.accidentInfo.length>0">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">驾意险</span>
+          </div>
+        </div>
+        <div style="font-size:12px"  >
+          <div class="jyxStyle" style=" font-weight: bold;color: #333;">
+            <span style="width:50%;margin-left:50px">产品</span>
+            <span style="width:20%">份数</span>
+            <span style="width:20%">价格</span>
+          </div>
+          <div  v-for="(kindinfoitem, kindinfoindex) in orderInfo.accidentInfo" :key="kindinfoindex">
+            <div style="margin-top:20px" class="jyxStyle">
+              <span style="width:50%;margin-left:50px">{{ kindinfoitem.projectName }}</span>
+              <span style="width:20%">{{ kindinfoitem.quantity ?kindinfoitem.quantity:'1' }}</span>
+              <span style="width:20%">{{ kindinfoitem.actualPremium}}/份</span>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">欠税明细</span>
+          </div>
+        </div>
+        <div style="font-size:12px">
+          <div class="headers kindinfocss" style="justify-content: space-around;">
+            <span>日期</span>
+            <span>欠费(元)</span>
+            <span>滞纳金(元)</span>
+          </div>
+          <div class="headers kindinfocss" style="color:rgb(255, 118, 18); justify-content:space-around;"
+            v-for="(taxArrearsitem, taxArrearsindex) in orderInfo.taxArrears" :key="taxArrearsindex">
+            <span>{{ taxArrearsitem.years }}</span>
+            <span>{{ taxArrearsitem.taxDefault }}</span>
+            <span>{{ taxArrearsitem.lateFee }}</span>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">投保单号</span>
+          </div>
+        </div>
+        <el-descriptions size="small" :column="2">
+          <el-descriptions-item label="交强险投保单号">{{ orderInfo.jqapplyno }}</el-descriptions-item>
+          <el-descriptions-item label="商业险投保单号">{{ orderInfo.syapplyno }}</el-descriptions-item>
+          <el-descriptions-item label="交强险保单号">{{ orderInfo.jqpolicyno }}</el-descriptions-item>
+          <el-descriptions-item label="商业险保单号">{{ orderInfo.sypolicyno }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <span slot="footer" class="dialog-footer" style="display: flex; justify-content: center;align-items: center;">
+        <el-button size="small" type="primary" style="background-color: #DE504C; border: 1px solid #DE504C;" @click="quotedetailsdialogVisible = false">关 闭</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -140,6 +401,18 @@ export default {
       mdcell: 12,
       smcell: 24,
       xscell: 24,
+      quotedetailsdialogVisible:false,
+      orderInfo: {
+        //选中的订单
+        ownerinfo: {},
+        carinfo: {},
+        applyinfo: {},
+        insureinfo: {},
+        kindinfo: [],
+        riskinfo: [],
+        ownerinfo: {},
+        extendInfo:{}
+      },
       pageRequest: {
         //查询的默认条件
         pageNum: 1,
@@ -153,7 +426,10 @@ export default {
       companyList: [],
       institutionOptions: [],
       dialogVisible: false,
+      dialogVisible11:false,
+      monthvalue:"",
       docOrderid: "",
+      plyNoList:[],
       // 右侧列表查询数据Start
       pageResult: [],
       columns: [
@@ -162,7 +438,6 @@ export default {
         { prop: "policyno", label: "保单号", minWidth: 160 },
         { prop: "deptId", label: "机构", minWidth: 160 },
         { prop: "riskcode", label: "险种", minWidth: 100 },
-
         {
           prop: "companyName",
           label: "保险公司",
@@ -189,15 +464,35 @@ export default {
     };
   },
   created() {
-    let monthtime=this.lastMonth();
-    this.pageRequest.startDate=monthtime[0];
-    this.pageRequest.endDate=monthtime[1];
-    this.dateTime=monthtime;
+    // let monthtime=this.lastMonth();
+    // this.pageRequest.startDate=monthtime[0];
+    // this.pageRequest.endDate=monthtime[1];
+    // this.dateTime=monthtime;
     this.companyquery(); //公司数据
     this.deptQuery(); //机构数据
   },
   mounted() {},
   methods: {
+    handleTableSettled(ids) {
+      this.plyNoList=ids;
+      this.dialogVisible11=true;
+    },
+    jiesuanminrt(){
+      let params={
+        companyId:this.pageRequest.companyId,
+        deptId:this.pageRequest.deptId,
+        plyNoList:this.plyNoList,
+        settleMonth:this.monthvalue
+      }
+      this.$api.settlement.docGenerate(params).then((res) => {
+        if (res.code == "200") {
+          this.docOrderid = res.msg;
+          this.dialogVisible11=false;
+          this.dialogVisible = true;
+          this.onSubmit();
+        }
+      });
+    },
     //查询
     onSubmit() {
       this.$api.settlement
@@ -311,6 +606,41 @@ export default {
         })
         .then(data != null ? data.callback : "");
     },
+    exDetails({ row, index }) {
+      let params = {
+        orderNo: row.orderno,
+      }
+      this.$api.task.feeDetail(params).then((res) => {
+        if (res.code == 200) {
+          res.data.kindinfo.map((ele, index) => {
+            switch (ele.kindCode) {
+              case "A":
+                ele.amount = "投保";
+                break;
+              case "D4":
+              case "SY_FJ_YBW2":
+                ele.unitAmount = this.toChinesNum(ele.unitAmount);
+                break;
+              case "MJ1":
+              case "MJ2":
+              case "MJ3":
+              case "MJ4":
+                ele.deductibleRate = ele.deductibleRate + "%";
+                break;
+              default:
+                ele.amount = this.toChinesNum(ele.amount);
+            }
+            return ele;
+          });
+          this.orderInfo = res.data
+          this.quotedetailsdialogVisible = true;
+        } else {
+          this.$message.error("订单获取失败");
+        }
+
+      });
+
+    },
     transformTime(date) {
       var d = new Date(date);
       var strYear = d.getFullYear();
@@ -348,14 +678,49 @@ export default {
         Seconds;
       return datetime;
     },
-    handleTableSettled(ids) {
-      this.$api.settlement.docGenerate(ids).then((res) => {
-        if (res.code == "200") {
-          this.docOrderid = res.msg;
-          this.dialogVisible = true;
-          this.onSubmit();
+    toChinesNum(num) {
+      let changeNum = [
+        "零", "1", "2", "3", "4", "5", "6", "7", "8", "9"
+      ];
+      let unit = ["", "0", "00", "000", "0000"];
+      num = parseInt(num);
+      let getWan = temp => {
+        let strArr = temp
+          .toString()
+          .split("")
+          .reverse();
+        let newNum = "";
+        let newArr = [];
+        strArr.forEach((item, index) => {
+          newArr.unshift(
+            item === "0" ? changeNum[item] : changeNum[item] + unit[index]
+          );
+        });
+        let numArr = [];
+        newArr.forEach((m, n) => {
+          if (m !== "零") numArr.push(n);
+        });
+        if (newArr.length > 1) {
+          newArr.forEach((m, n) => {
+            if (newArr[newArr.length - 1] === "零") {
+              if (n <= numArr[numArr.length - 1]) {
+                newNum += m;
+              }
+            } else {
+              newNum += m;
+            }
+          });
+        } else {
+          newNum = newArr[0];
         }
-      });
+        return newNum;
+      };
+      let overWan = Math.floor(num / 10000);
+      let noWan = num % 10000;
+      if (noWan.toString().length < 4) {
+        noWan = "0" + noWan;
+      }
+      return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num);
     },
     lastMonth() {
       // 获取当前日期
@@ -383,22 +748,515 @@ export default {
         formatNumber(month + 1) +
         "-" +
         formatNumber(lastDayOfLastMonth.getDate());
-        return [startDate,endDate]
+      return [startDate, endDate];
     },
   },
 };
 </script>
+<style lang="scss" scoped>
+/deep/ {
+  .el-table .row-expand-cover .cell .el-table__expand-icon {
+    display: none;
+  }
+  .el-descriptions__body {
+    padding: 10px 50px;
+    box-sizing: border-box;
+    color: rgb(226, 118, 10);
+  }
+  .el-descriptions-item__label {
+    &:not(.is-bordered-label) {
+      color: #333;
+    }
+  }
+  .saomazhifucodeClass .el-dialog__body,
+  .saomazhifucodeClass .el-dialog__header {
+    padding: 0;
+  }
 
+  .el-input.is-disabled .el-input__inner {
+    color: #333;
+  }
+}
 
-<style lang="scss" scoped>
-.widths {
-  width: 230px;
+.ORcodebody {
+  width: 100%;
+  height: auto;
+  box-sizing: border-box;
+}
+
+.code_title {
+  width: 100%;
+  height: 50px;
+  background-color: #fdcb08;
+  justify-content: center;
 }
-.widths1 {
+
+.code_title>span {
+  font-size: 22px;
+  color: #000;
+  font-weight: bold;
+}
+
+.ORcode {
+  width: 100%;
+  background: #fff;
+  height: auto;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 30px;
+  box-sizing: border-box;
+  border-bottom: 6px dotted #fdcb08;
+}
+
+.ORcode>div {
+  width: 180px;
+  height: 180px;
+  border: 1px solid #000;
+  border-radius: 5px;
+}
+
+.ORtitle {
+  background: #fff;
+  width: 100%;
+  padding: 20px;
+  box-sizing: border-box;
+  border-bottom: 1px solid #f2f2f2;
+}
+
+.ORtitle>div {
+  width: 100%;
+  margin: 10px 0;
+  font-weight: bold;
+  font-size: 14px;
+  display: flex;
+  align-items: center;
+}
+
+.ORtitle>div>span:nth-child(1) {
+  color: #979797;
+  text-align: end;
+  width: 150px;
+}
+
+.ORtitle>div>span:nth-child(2) {
+  color: #000;
+  margin-left: 10px;
+}
+</style>
+<style scoped>
+
+#qqq {
+  background-color: #111;
   width: 300px;
+  height: 300px;
+  margin: 0 auto;
+  /*水平居中*/
+  position: relative;
+}
+
+#qrCode {
+  display: inline-block;
+  margin: 0 auto;
+  /*水平居中*/
+  position: relative;
+  top: 15%;
+}
+
+#qrCode img {
+  width: 200px;
+  height: 200px;
+  background-color: #fff;
+  padding: 6px;
+}
+
+.leftContainer {
+  width: 80px;
+  position: fixed;
+  top: 79px;
+  left: 30px;
+}
+
+.leftContainer .el-col {
+  width: 80px;
+  height: 80px;
+  border-bottom: 1px solid #4d5c6f;
+  background: #526176;
+  cursor: pointer;
+  color: #a6aeb9;
+  border-radius: 0;
+}
+
+.leftContainer .el-col a {
+  display: block;
+  color: #a6aeb9;
+  text-decoration: none;
 }
-/deep/ .saomazhifucodeClass .el-dialog__body,
-.saomazhifucodeClass .el-dialog__header {
-  padding: 0;
+
+.leftContainer .el-col a:hover {
+  color: #fff;
+}
+
+.leftContainer .el-col a.active {
+  color: #fff;
+}
+
+.leftContainer .el-col i {
+  font-size: 30px;
+  margin: 15px 0px 5px;
+}
+
+.rightContainer {
+  width: calc(100vw - 160px);
+  margin-left: 100px;
+}
+
+.rightContainer .header .el-col {
+  font-size: 18px;
+  font-weight: bold;
+}
+
+.rightContainer .bodyTitle {
+  height: 40px;
+  background: #f3f3f3;
+  border: 1px solid #dddddd;
+}
+
+.rightContainer .bodyTitle>label {
+  margin: 0px 15px;
+  font-weight: bold;
+}
+
+.rightContainer #demo2 .body,
+.rightContainer #demo6 .body {
+  border: 1px solid #ddd;
+  padding: 15px;
+  border-top: none;
+}
+
+.rightContainer .el-card {
+  margin-bottom: 15px;
+}
+
+
+
+.body .el-row .el-col label {
+  text-align: right;
+  width: 80px;
+  font-size: 14px;
+  width: 100%;
+  line-height: 36px;
+  display: inline-block;
+  box-sizing: border-box;
+}
+
+.disabledInput {
+  width: 80% !important;
+  background-color: #f5f7fa;
+  text-align: center !important;
+  max-width: 200px;
+  border: 1px solid #e4e7ed;
+  color: #c0c4cc;
+  cursor: not-allowed;
+  border-radius: 4px;
+  box-sizing: border-box;
+  padding: 0px 10px;
+  height: 36px;
+  margin: 20px 10%;
+}
+
+/* 上传图片样式Start */
+.avatar-uploader .el-upload {
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+
+.avatar-uploader .el-upload:hover {
+  border-color: #409eff;
+}
+
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 100px;
+  height: 100px;
+  line-height: 100px;
+  text-align: center;
+  border: 1px dashed #d9d9d9;
+}
+
+.avatar {
+  border: 1px dashed #d9d9d9;
+  padding: 5px;
+  border-radius: 6px;
+  width: 100px;
+  height: 100px;
+  display: block;
+}
+
+.imageStyle {
+  display: inline-block;
+  width: 100px;
+  height: 100px;
+  box-shadow: #ddd 0px 0px 5px;
+  margin-right: 20px;
+}
+
+/* 上传图片样式End */
+
+.dis {
+  display: flex;
+}
+
+.align {
+  align-items: center;
+}
+
+.jus {
+  justify-content: space-between;
+}
+
+.display {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 10px;
+  box-sizing: border-box;
+}
+
+.block {
+  margin-top: 10px;
+}
+
+.page {
+  padding: 14px;
+  box-sizing: border-box;
+}
+
+.el-select--medium {
+  vertical-align: bottom !important;
+}
+
+.widths {
+  width: 220px;
+}
+
+.demo-table-expand {
+  width: 100%;
+  height: auto;
+  padding: 10px 50px;
+  font-size: 14px;
+}
+
+.demo-table-expand-time {
+  width: 600px;
+}
+
+.demo-table-expand-time>div {
+  margin: 0 10px;
+}
+.icon-img {
+  display: block;
+  width: 30px;
+  height: 30px;
+}
+.Enclosure {
+  width: 100%;
+  background-color: #fff;
+  padding: 20px;
+  box-sizing: border-box;
+  margin-bottom: 15px;
+  border-radius: 6px;
+  border: 1px solid #ebeef5;
+  transition: all 0.2s ease-in-out;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+}
+
+.headers {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  flex-wrap: wrap;
+  margin: 5px 0;
+  font-weight: bold;
+  color: #333;
+}
+/* 内容待定 */
+.headers_Custom >div{
+  padding: 20px 40px;
+  font-size: 16px;
+}
+.headers_Custom >div>span {
+  color: rgb(226, 118, 10);
+}
+
+  .back {
+  color: #303133;
+  font-weight: 700;
+}
+.u-f-ac {
+  -webkit-box-align: center;
+  align-items: center;
+  /* padding: 10px; */
+}
+
+.bodyTitle {
+  height: 40px;
+  background: #f3f3f3;
+  border: 1px solid #dddddd;
+  line-height: 40px;
+  padding: 0 20px;
+  box-sizing: border-box;
+}
+.bjdbody {
+  width: 100%;
+  height: auto;
+  background-color: rgb(199, 20, 45);
+  padding: 20px 10px 0 10px;
+  box-sizing: border-box;
+  border-radius: 8px;
+}
+
+.bjdCarMessage,
+.bjdCarSum {
+  width: 100%;
+  height: auto;
+  background-color: #fff;
+  border-radius: 8px;
+  margin-bottom: 10px;
+  padding-bottom: 10px;
+}
+
+.bjdfooter {
+  border-top: 1px solid #fff;
+  padding: 10px;
+  box-sizing: border-box;
+  color: #fff;
+}
+
+.bjdCarSum >div{
+    width: 100%;
+    padding: 15px 20px;
+    box-sizing: border-box;
+    font-weight: bold;
+    color: #000;
+    border-bottom: 1px solid #f2f2f2;
+}
+
+.bjdCarMessage1 {
+  height: 80px;
+  padding: 16px;
+  box-sizing: border-box;
+  border-bottom: 1px solid #f2f2f2;
+  display: flex;
+  align-items: center;
+  color: #000;
+
+
+}
+.bjdCarMessage1 > .f-c >span:nth-child(1){
+        font-size: 18px;
+        font-weight: bold;
+  }
+.bjdCarMessage1>img,
+.bjdfooter>img {
+  margin-right: 30px;
+}
+
+.bjdCarMessage1 .f-c>span:nth-child(2),
+.bjdCarMessage1 .f-c>span:nth-child(3) {
+  font-size: 12px;
+  margin-top: 5px;
+}
+
+.bjdCarMessage2_car >span:nth-child(1) {
+      color: #000;
+      font-weight: bold;
+}
+.bjdCarMessage2_car >span:nth-child(2) {
+  color: #999;
+}
+.bjdCarMessage2 >ul>li {
+      margin: 20px 0;
+}
+.Risk {
+  width: 100%;
+  height: auto;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  font-size: 12px;
+}
+
+.Risk_title {
+  width: 100%;
+  height: 40px;
+}
+.Risk_title>div {
+    background: rgb(199, 20, 45);
+    color: rgb(255, 255, 255);
+    height: 100%;
+    font-weight: 500;
+    width: 33.3%;
+    padding: 10px 20px;
+    box-sizing: border-box;
+    border: #fff solid 1px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    border-bottom: none;
+
+}
+.Risk_title>div:nth-child(1) {
+}
+
+.Risk_title>div:nth-child(2) {
+  border-left: none;
+      border-right: none;
+}
+
+.Risk_data {
+  width: 100%;
+  height: 40px;
+}
+.Risk_data >div {
+    background: #fbf6f7;
+    color: rgb(51, 51, 51);
+    height: 100%;
+    font-weight: 500;
+    width: 33.3%;
+    padding: 10px 20px;
+    box-sizing: border-box;
+    border: #fff solid 1px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    border-bottom: none;
+  }
+.Risk_data >div :nth-child(2) {
+  border-left: none;
+      border-right: none;
+}
+.Risk_title>div :nth-child(3) {
+  border-top-right-radius: 10px;
+}
+.jyxStyle>span{
+  display: inline-block;
+  text-align: center;
+}
+.FeeEnclosure  /deep/ table {
+  width: 100% !important;
+}
+
+.FeeEnclosure  /deep/ .cell {
+  text-align: center;
+}
+
+.FeeEnclosure /deep/ .el-table__empty-block{
+  width: 100% !important;
 }
 </style>
+

+ 860 - 31
src/views/FinancialManagement/CarInsurance/CompanySettlement/DocQuery.vue

@@ -20,7 +20,7 @@
               <el-select
                 v-model="pageRequest.companyId"
                 filterable
-                class="widths"
+                class="widths" style="width: 220px;"
                 clearable
               >
                 <el-option
@@ -42,6 +42,7 @@
             <el-form-item label="机构:">
               <el-cascader
                 class="widths"
+                style="width: 220px;"
                 :options="institutionOptions"
                 v-model="pageRequest.deptId"
                 :props="{
@@ -64,6 +65,7 @@
             <el-form-item label="结算月份:">
               <el-date-picker
                 class="widths"
+                style="width: 220px;"
                 v-model="dateTime"
                 type="month"
                 @change="DateChange"
@@ -99,6 +101,7 @@
             <el-form-item label="结算状态:">
               <el-select
                 class="widths"
+                style="width: 220px;"
                 v-model="pageRequest.status"
                 placeholder="请选择结算单状态"
               >
@@ -213,6 +216,7 @@
           label="总费用"
           align="center"
         ></el-table-column>
+
         <el-table-column
           prop="noTaxPremium"
           label="不含税保费"
@@ -238,21 +242,15 @@
           label="其他费用金额"
           align="center"
         ></el-table-column>
-        <el-table-column
-          prop="doingFeeValue"
-          label="正在结算费用"
-          align="center"
-        ></el-table-column>
-        <el-table-column
-          prop="finalFeeValue"
-          label="已结算费用"
-          align="center"
-        ></el-table-column>
-        <el-table-column prop="createTime" label="插入时间" align="center">
-          <template slot-scope="scope">
-            <span>{{ transformTime(scope.row.createTime) }}</span>
-          </template>
-        </el-table-column>
+           <el-table-column
+      fixed="right"
+      label="操作"
+      align="center"
+      width="100">
+      <template slot-scope="scope">
+        <el-button @click="exDetails(scope.row)" type="text" size="small">查看详细</el-button>
+      </template>
+    </el-table-column>
       </el-table>
     </el-dialog>
     <el-dialog title="核销" :visible.sync="writeOffVisible" width="70%">
@@ -279,7 +277,6 @@
           >
             <el-option label="手续费" value="S"></el-option>
             <el-option label="其他费用" value="O"></el-option>
-            <el-option label="手续费+其他费用" value="A"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="核销金额:" prop="amount">
@@ -333,6 +330,18 @@
       </span>
     </el-dialog>
     <el-dialog title="核销明细" :visible.sync="writeDetialsVisible" width="90%">
+      <div class="f-c flex" style="color: red; font-size: 16px">
+        <span
+          >总费用:{{ docExplanation.allFeeValue }}元&nbsp;&nbsp; 手续费:{{
+            docExplanation.commissionFeevalue
+          }}元 &nbsp;&nbsp; 其他费用:{{ docExplanation.otherFeevalue }}元</span
+        >
+        <span
+          >已核销总费用:{{ docExplanation.hxamount }}元 &nbsp;&nbsp; 已核销手续费:{{
+            docExplanation.commissionHxamount
+          }}元 &nbsp;&nbsp; 已核销其他费用:{{ docExplanation.otherHxamount }}元</span
+        >
+      </div>
       <el-table
         size="small"
         :data="writeOffDetailslist"
@@ -362,11 +371,6 @@
           label="发票号"
           align="center"
         ></el-table-column>
-        <el-table-column
-          prop="dirid"
-          label="附件id"
-          align="center"
-        ></el-table-column>
         <el-table-column prop="feeType" label="核销费用类型" align="center">
           <template slot-scope="scope">
             <span v-if="scope.row.feeType == 'S'">手续费</span>
@@ -403,6 +407,239 @@
         </el-table-column>
       </el-table>
     </el-dialog>
+    <el-dialog title="报价详情" :visible.sync="quotedetailsdialogVisible" width="90%">
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">报价信息</span>
+          </div>
+        </div>
+        <div style="padding:20px;font-weight:bold;font-size:20px;">
+          <span>总保费</span>
+          <span style="color:#ff7612;">¥{{ orderInfo.sumpremium }}</span>
+        </div>
+        <div class="headers headers_Custom" style="padding:20px;">
+          <div v-show="orderInfo.jqpremium">
+            交强险金额:
+            <span>
+              ¥{{
+                orderInfo.jqpremium }}
+            </span>
+          </div>
+          <div v-show="orderInfo.sypremium">
+            商业险金额:
+            <span>¥{{ orderInfo.sypremium }}</span>
+          </div>
+          <div v-show="orderInfo.taxamount">
+            车船税:
+            <span>¥{{ orderInfo.taxamount }}</span>
+          </div>
+          <div v-show="orderInfo.jypremium">
+            驾意险:
+            <span>¥{{ orderInfo.jypremium }}</span>
+          </div>
+          <div v-show="orderInfo.jqstartdate">
+            交强险起保日期:
+            <span>{{ orderInfo.jqstartdate }}</span>
+          </div>
+          <div v-show="orderInfo.systartdate">
+            商业险起保日期:
+            <span>{{ orderInfo.systartdate }}</span>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">保费因素</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="评分">{{ orderInfo.extendInfo.score }}</el-descriptions-item>
+          <el-descriptions-item label="出险信息">{{ orderInfo.extendInfo.accidentInfoStr }}</el-descriptions-item>
+          <el-descriptions-item label="商业险折扣比例">{{ orderInfo.extendInfo.nirrratio }}</el-descriptions-item>
+          <el-descriptions-item label="交强险折扣比例">{{ orderInfo.extendInfo.nirrratioCI }}</el-descriptions-item>
+          <el-descriptions-item label="自主定价系数">{{ orderInfo.extendInfo.pricingAdjustValue }}</el-descriptions-item>
+          <el-descriptions-item label="业务员交强险销售费用浮动率">
+            {{ orderInfo.extendInfo.jqFeeSaleChangeRateA4
+            }}
+          </el-descriptions-item>
+          <el-descriptions-item label="交强深度定价分档">{{ orderInfo.extendInfo.deepPriceGradeCI }}</el-descriptions-item>
+          <el-descriptions-item label="业务员商业险销售费用浮动率">
+            {{ orderInfo.extendInfo.syFeeSaleChangeRateA4
+            }}
+          </el-descriptions-item>
+          <el-descriptions-item label="商业深度定价分档">{{ orderInfo.extendInfo.deepPriceGradeBI }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">车辆信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="车牌号">{{ orderInfo.carinfo.licenseNo }}</el-descriptions-item>
+          <el-descriptions-item label="车辆识别代码">{{ orderInfo.carinfo.vinNo }}</el-descriptions-item>
+          <el-descriptions-item label="品牌型号">{{ orderInfo.carinfo.modelcname }}</el-descriptions-item>
+          <el-descriptions-item label="发动机号">{{ orderInfo.carinfo.engineNo }}</el-descriptions-item>
+          <el-descriptions-item label="年款">{{ orderInfo.carinfo.caryear }}</el-descriptions-item>
+          <el-descriptions-item label="座位数">{{ orderInfo.carinfo.seatCount }}</el-descriptions-item>
+          <el-descriptions-item label="新车购置价">{{ orderInfo.carinfo.purchasePrice }}</el-descriptions-item>
+          <el-descriptions-item label="使用性质">
+            {{ orderInfo.carinfo.carnature == '01' ? '营业' : ''
+            }}
+          </el-descriptions-item>
+          <el-descriptions-item label="注册日期">{{ orderInfo.carinfo.registerDate }}</el-descriptions-item>
+          <el-descriptions-item label="发证日期">{{ orderInfo.carinfo.issueDate }}</el-descriptions-item>
+          <el-descriptions-item label="是否过户">
+            {{ orderInfo.carinfo.transferFlag == true ? '是' : '否'
+            }}
+          </el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">车主信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="车主姓名">{{ orderInfo.ownerinfo.name }}</el-descriptions-item>
+          <el-descriptions-item label="证件类型"> {{ orderInfo.ownerinfo.identifyType}}</el-descriptions-item>
+          <el-descriptions-item label="身份证号">{{ orderInfo.ownerinfo.identifyNumber }}</el-descriptions-item>
+          <el-descriptions-item label="手机号">{{ orderInfo.ownerinfo.mobile }}</el-descriptions-item>
+          <el-descriptions-item label="地址">{{ orderInfo.ownerinfo.addr }}</el-descriptions-item>
+          <el-descriptions-item label="电子邮箱">{{ orderInfo.ownerinfo.email }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">投保人信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="投保人姓名">{{ orderInfo.applyinfo.name }}</el-descriptions-item>
+          <el-descriptions-item label="证件类型"> {{ orderInfo.applyinfo.identifyType}}</el-descriptions-item>
+          <el-descriptions-item label="身份证号">{{ orderInfo.applyinfo.identifyNumber }}</el-descriptions-item>
+          <el-descriptions-item label="手机号">{{ orderInfo.applyinfo.mobile }}</el-descriptions-item>
+          <el-descriptions-item label="地址">{{ orderInfo.applyinfo.addr }}</el-descriptions-item>
+          <el-descriptions-item label="电子邮箱">{{ orderInfo.applyinfo.email }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">被保人信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="被保人姓名">{{ orderInfo.insureinfo.name }}</el-descriptions-item>
+          <el-descriptions-item label="证件类型"> {{ orderInfo.insureinfo.identifyType}}</el-descriptions-item>
+          <el-descriptions-item label="身份证号">{{ orderInfo.insureinfo.identifyNumber }}</el-descriptions-item>
+          <el-descriptions-item label="手机号">{{ orderInfo.insureinfo.mobile }}</el-descriptions-item>
+          <el-descriptions-item label="地址">{{ orderInfo.insureinfo.addr }}</el-descriptions-item>
+          <el-descriptions-item label="电子邮箱">{{ orderInfo.insureinfo.email }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">险种信息</span>
+          </div>
+        </div>
+        <div style="font-size:12px">
+          <div class="headers kindinfocss" style="justify-content: space-around">
+            <span>商业险险别</span>
+            <span>保额(元)</span>
+            <span>保费(元)</span>
+          </div>
+          <div class="headers kindinfocss" style="color:rgb(255, 118, 18); justify-content:space-around;"
+            v-for="(kindinfoitem, kindinfoindex) in orderInfo.kindinfo" :key="kindinfoindex">
+            <template v-if="kindinfoitem.coveragePremium">
+              <span>{{ kindinfoitem.kindName }}</span>
+              <span v-if="['D4', 'SY_FJ_YBW2'].includes(kindinfoitem.kindCode)">{{ kindinfoitem.unitAmount }}</span>
+              <span v-else-if="['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(kindinfoitem.kindCode)">
+                {{
+                  kindinfoitem.deductibleRate
+                }}
+              </span>
+              <span v-else>{{ kindinfoitem.amount }}</span>
+              <span>{{ kindinfoitem.coveragePremium }}</span>
+            </template>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo.accidentInfo&&orderInfo.accidentInfo.length>0">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">驾意险</span>
+          </div>
+        </div>
+        <div style="font-size:12px"  >
+          <div class="jyxStyle" style=" font-weight: bold;color: #333;">
+            <span style="width:50%;margin-left:50px">产品</span>
+            <span style="width:20%">份数</span>
+            <span style="width:20%">价格</span>
+          </div>
+          <div  v-for="(kindinfoitem, kindinfoindex) in orderInfo.accidentInfo" :key="kindinfoindex">
+            <div style="margin-top:20px" class="jyxStyle">
+              <span style="width:50%;margin-left:50px">{{ kindinfoitem.projectName }}</span>
+              <span style="width:20%">{{ kindinfoitem.quantity ?kindinfoitem.quantity:'1' }}</span>
+              <span style="width:20%">{{ kindinfoitem.actualPremium}}/份</span>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">欠税明细</span>
+          </div>
+        </div>
+        <div style="font-size:12px">
+          <div class="headers kindinfocss" style="justify-content: space-around;">
+            <span>日期</span>
+            <span>欠费(元)</span>
+            <span>滞纳金(元)</span>
+          </div>
+          <div class="headers kindinfocss" style="color:rgb(255, 118, 18); justify-content:space-around;"
+            v-for="(taxArrearsitem, taxArrearsindex) in orderInfo.taxArrears" :key="taxArrearsindex">
+            <span>{{ taxArrearsitem.years }}</span>
+            <span>{{ taxArrearsitem.taxDefault }}</span>
+            <span>{{ taxArrearsitem.lateFee }}</span>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">投保单号</span>
+          </div>
+        </div>
+        <el-descriptions size="small" :column="2">
+          <el-descriptions-item label="交强险投保单号">{{ orderInfo.jqapplyno }}</el-descriptions-item>
+          <el-descriptions-item label="商业险投保单号">{{ orderInfo.syapplyno }}</el-descriptions-item>
+          <el-descriptions-item label="交强险保单号">{{ orderInfo.jqpolicyno }}</el-descriptions-item>
+          <el-descriptions-item label="商业险保单号">{{ orderInfo.sypolicyno }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <span slot="footer" class="dialog-footer" style="display: flex; justify-content: center;align-items: center;">
+        <el-button size="small" type="primary" style="background-color: #DE504C; border: 1px solid #DE504C;" @click="quotedetailsdialogVisible = false">关 闭</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -416,6 +653,7 @@ export default {
   },
   data() {
     return {
+      docExplanation: {},
       imgList1: [],
       loading: false,
       xlcell: 8,
@@ -423,6 +661,18 @@ export default {
       mdcell: 12,
       smcell: 24,
       xscell: 24,
+      quotedetailsdialogVisible:false,
+      orderInfo: {
+        //选中的订单
+        ownerinfo: {},
+        carinfo: {},
+        applyinfo: {},
+        insureinfo: {},
+        kindinfo: [],
+        riskinfo: [],
+        ownerinfo: {},
+        extendInfo:{}
+      },
       docDetialsVisible: false,
       writeOffVisible: false,
       writeDetialsVisible: false,
@@ -435,8 +685,6 @@ export default {
         settleMonth: "", //月份
         status: "", //状态
         companyId: "",
-        startDate: "",
-        endDate: "",
       },
       writeOffRequest: {
         settleno: "", //结算单号
@@ -490,6 +738,13 @@ export default {
         { prop: "commissionFeevalue", label: "手续费费用", minWidth: 160 },
         { prop: "otherFeevalue", label: "其他费用", minWidth: 160 },
         { prop: "allFeeValue", label: "总费用", minWidth: 160 },
+        {
+          prop: "commissionHxamount",
+          label: "手续费用(已核销)",
+          minWidth: 160,
+        },
+        { prop: "otherHxamount", label: "其他费用(已核销)", minWidth: 160 },
+        { prop: "hxamount", label: "总费用(已核销)", minWidth: 160 },
         {
           prop: "status",
           label: "状态",
@@ -543,12 +798,12 @@ export default {
     writedownload(id) {
       this.$api.settlement.filesdownload(id).then((res) => {
         let url = process.env.BASE_URL + res.data.url;
-        let name=res.data.fileName
+        let name = res.data.fileName;
         const a = document.createElement("a");
         a.style.display = "none";
         a.href = url;
         a.target = "_ blank";
-        a.download =name; // 下载文件的名字
+        a.download = name; // 下载文件的名字
         document.body.appendChild(a);
         a.click();
       });
@@ -586,8 +841,7 @@ export default {
       });
     },
     DateChange(e) {
-      this.pageRequest.startDate = e;
-      this.pageRequest.endDate = e.slice(0, 8) + "31";
+      this.pageRequest.settleMonth = e;
     },
     docDetails({ row, index }) {
       let settleno = row.settleno;
@@ -601,6 +855,7 @@ export default {
       this.writeOffVisible = true;
     },
     writeOffDetails({ row, index }) {
+      this.docExplanation = row;
       let settleno = row.settleno;
       this.$api.settlement
         .WriteOffDetails({ settleno: settleno })
@@ -609,6 +864,85 @@ export default {
           this.writeDetialsVisible = true;
         });
     },
+    exDetails(row) {
+      let params = {
+        orderNo: row.orderno,
+      }
+      this.$api.task.feeDetail(params).then((res) => {
+        if (res.code == 200) {
+          res.data.kindinfo.map((ele, index) => {
+            switch (ele.kindCode) {
+              case "A":
+                ele.amount = "投保";
+                break;
+              case "D4":
+              case "SY_FJ_YBW2":
+                ele.unitAmount = this.toChinesNum(ele.unitAmount);
+                break;
+              case "MJ1":
+              case "MJ2":
+              case "MJ3":
+              case "MJ4":
+                ele.deductibleRate = ele.deductibleRate + "%";
+                break;
+              default:
+                ele.amount = this.toChinesNum(ele.amount);
+            }
+            return ele;
+          });
+          this.orderInfo = res.data
+          this.quotedetailsdialogVisible = true;
+        } else {
+          this.$message.error("订单获取失败");
+        }
+
+      });
+
+    },
+     toChinesNum(num) {
+      let changeNum = [
+        "零", "1", "2", "3", "4", "5", "6", "7", "8", "9"
+      ];
+      let unit = ["", "0", "00", "000", "0000"];
+      num = parseInt(num);
+      let getWan = temp => {
+        let strArr = temp
+          .toString()
+          .split("")
+          .reverse();
+        let newNum = "";
+        let newArr = [];
+        strArr.forEach((item, index) => {
+          newArr.unshift(
+            item === "0" ? changeNum[item] : changeNum[item] + unit[index]
+          );
+        });
+        let numArr = [];
+        newArr.forEach((m, n) => {
+          if (m !== "零") numArr.push(n);
+        });
+        if (newArr.length > 1) {
+          newArr.forEach((m, n) => {
+            if (newArr[newArr.length - 1] === "零") {
+              if (n <= numArr[numArr.length - 1]) {
+                newNum += m;
+              }
+            } else {
+              newNum += m;
+            }
+          });
+        } else {
+          newNum = newArr[0];
+        }
+        return newNum;
+      };
+      let overWan = Math.floor(num / 10000);
+      let noWan = num % 10000;
+      if (noWan.toString().length < 4) {
+        noWan = "0" + noWan;
+      }
+      return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num);
+    },
     writeOffsubmit(formName) {
       this.$refs[formName].validate((valid) => {
         if (valid) {
@@ -757,14 +1091,509 @@ export default {
   },
 };
 </script>
+<style lang="scss" scoped>
+/deep/ {
+  .el-table .row-expand-cover .cell .el-table__expand-icon {
+    display: none;
+  }
+  .el-descriptions__body {
+    padding: 10px 50px;
+    box-sizing: border-box;
+    color: rgb(226, 118, 10);
+  }
+  .el-descriptions-item__label {
+    &:not(.is-bordered-label) {
+      color: #333;
+    }
+  }
+  .saomazhifucodeClass .el-dialog__body,
+  .saomazhifucodeClass .el-dialog__header {
+    padding: 0;
+  }
+
+  .el-input.is-disabled .el-input__inner {
+    color: #333;
+  }
+}
 
+.ORcodebody {
+  width: 100%;
+  height: auto;
+  box-sizing: border-box;
+}
+
+.code_title {
+  width: 100%;
+  height: 50px;
+  background-color: #fdcb08;
+  justify-content: center;
+}
+
+.code_title>span {
+  font-size: 22px;
+  color: #000;
+  font-weight: bold;
+}
+
+.ORcode {
+  width: 100%;
+  background: #fff;
+  height: auto;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 30px;
+  box-sizing: border-box;
+  border-bottom: 6px dotted #fdcb08;
+}
+
+.ORcode>div {
+  width: 180px;
+  height: 180px;
+  border: 1px solid #000;
+  border-radius: 5px;
+}
+
+.ORtitle {
+  background: #fff;
+  width: 100%;
+  padding: 20px;
+  box-sizing: border-box;
+  border-bottom: 1px solid #f2f2f2;
+}
 
+.ORtitle>div {
+  width: 100%;
+  margin: 10px 0;
+  font-weight: bold;
+  font-size: 14px;
+  display: flex;
+  align-items: center;
+}
+
+.ORtitle>div>span:nth-child(1) {
+  color: #979797;
+  text-align: end;
+  width: 150px;
+}
+
+.ORtitle>div>span:nth-child(2) {
+  color: #000;
+  margin-left: 10px;
+}
+</style>
 <style scoped>
+
+#qqq {
+  background-color: #111;
+  width: 300px;
+  height: 300px;
+  margin: 0 auto;
+  /*水平居中*/
+  position: relative;
+}
+
+#qrCode {
+  display: inline-block;
+  margin: 0 auto;
+  /*水平居中*/
+  position: relative;
+  top: 15%;
+}
+
+#qrCode img {
+  width: 200px;
+  height: 200px;
+  background-color: #fff;
+  padding: 6px;
+}
+
+.leftContainer {
+  width: 80px;
+  position: fixed;
+  top: 79px;
+  left: 30px;
+}
+
+.leftContainer .el-col {
+  width: 80px;
+  height: 80px;
+  border-bottom: 1px solid #4d5c6f;
+  background: #526176;
+  cursor: pointer;
+  color: #a6aeb9;
+  border-radius: 0;
+}
+
+.leftContainer .el-col a {
+  display: block;
+  color: #a6aeb9;
+  text-decoration: none;
+}
+
+.leftContainer .el-col a:hover {
+  color: #fff;
+}
+
+.leftContainer .el-col a.active {
+  color: #fff;
+}
+
+.leftContainer .el-col i {
+  font-size: 30px;
+  margin: 15px 0px 5px;
+}
+
+.rightContainer {
+  width: calc(100vw - 160px);
+  margin-left: 100px;
+}
+
+.rightContainer .header .el-col {
+  font-size: 18px;
+  font-weight: bold;
+}
+
+.rightContainer .bodyTitle {
+  height: 40px;
+  background: #f3f3f3;
+  border: 1px solid #dddddd;
+}
+
+.rightContainer .bodyTitle>label {
+  margin: 0px 15px;
+  font-weight: bold;
+}
+
+.rightContainer #demo2 .body,
+.rightContainer #demo6 .body {
+  border: 1px solid #ddd;
+  padding: 15px;
+  border-top: none;
+}
+
+.rightContainer .el-card {
+  margin-bottom: 15px;
+}
+
+
+
+.body .el-row .el-col label {
+  text-align: right;
+  width: 80px;
+  font-size: 14px;
+  width: 100%;
+  line-height: 36px;
+  display: inline-block;
+  box-sizing: border-box;
+}
+
+.disabledInput {
+  width: 80% !important;
+  background-color: #f5f7fa;
+  text-align: center !important;
+  max-width: 200px;
+  border: 1px solid #e4e7ed;
+  color: #c0c4cc;
+  cursor: not-allowed;
+  border-radius: 4px;
+  box-sizing: border-box;
+  padding: 0px 10px;
+  height: 36px;
+  margin: 20px 10%;
+}
+
+/* 上传图片样式Start */
+.avatar-uploader .el-upload {
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+
+.avatar-uploader .el-upload:hover {
+  border-color: #409eff;
+}
+
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 100px;
+  height: 100px;
+  line-height: 100px;
+  text-align: center;
+  border: 1px dashed #d9d9d9;
+}
+
+.avatar {
+  border: 1px dashed #d9d9d9;
+  padding: 5px;
+  border-radius: 6px;
+  width: 100px;
+  height: 100px;
+  display: block;
+}
+
+.imageStyle {
+  display: inline-block;
+  width: 100px;
+  height: 100px;
+  box-shadow: #ddd 0px 0px 5px;
+  margin-right: 20px;
+}
+
+/* 上传图片样式End */
+
+.dis {
+  display: flex;
+}
+
+.align {
+  align-items: center;
+}
+
+.jus {
+  justify-content: space-between;
+}
+
+.display {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 10px;
+  box-sizing: border-box;
+}
+
+.block {
+  margin-top: 10px;
+}
+
+.page {
+  padding: 14px;
+  box-sizing: border-box;
+}
+
+.el-select--medium {
+  vertical-align: bottom !important;
+}
+
 .widths {
-  width: 230px;
+  width: 220px;
 }
 
-.widths1 {
-  width: 300px;
+.demo-table-expand {
+  width: 100%;
+  height: auto;
+  padding: 10px 50px;
+  font-size: 14px;
+}
+
+.demo-table-expand-time {
+  width: 600px;
+}
+
+.demo-table-expand-time>div {
+  margin: 0 10px;
+}
+.icon-img {
+  display: block;
+  width: 30px;
+  height: 30px;
+}
+.Enclosure {
+  width: 100%;
+  background-color: #fff;
+  padding: 20px;
+  box-sizing: border-box;
+  margin-bottom: 15px;
+  border-radius: 6px;
+  border: 1px solid #ebeef5;
+  transition: all 0.2s ease-in-out;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+}
+
+.headers {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  flex-wrap: wrap;
+  margin: 5px 0;
+  font-weight: bold;
+  color: #333;
+}
+/* 内容待定 */
+.headers_Custom >div{
+  padding: 20px 40px;
+  font-size: 16px;
+}
+.headers_Custom >div>span {
+  color: rgb(226, 118, 10);
+}
+
+  .back {
+  color: #303133;
+  font-weight: 700;
+}
+.u-f-ac {
+  -webkit-box-align: center;
+  align-items: center;
+  /* padding: 10px; */
+}
+
+.bodyTitle {
+  height: 40px;
+  background: #f3f3f3;
+  border: 1px solid #dddddd;
+  line-height: 40px;
+  padding: 0 20px;
+  box-sizing: border-box;
+}
+.bjdbody {
+  width: 100%;
+  height: auto;
+  background-color: rgb(199, 20, 45);
+  padding: 20px 10px 0 10px;
+  box-sizing: border-box;
+  border-radius: 8px;
+}
+
+.bjdCarMessage,
+.bjdCarSum {
+  width: 100%;
+  height: auto;
+  background-color: #fff;
+  border-radius: 8px;
+  margin-bottom: 10px;
+  padding-bottom: 10px;
+}
+
+.bjdfooter {
+  border-top: 1px solid #fff;
+  padding: 10px;
+  box-sizing: border-box;
+  color: #fff;
+}
+
+.bjdCarSum >div{
+    width: 100%;
+    padding: 15px 20px;
+    box-sizing: border-box;
+    font-weight: bold;
+    color: #000;
+    border-bottom: 1px solid #f2f2f2;
+}
+
+.bjdCarMessage1 {
+  height: 80px;
+  padding: 16px;
+  box-sizing: border-box;
+  border-bottom: 1px solid #f2f2f2;
+  display: flex;
+  align-items: center;
+  color: #000;
+
+
+}
+.bjdCarMessage1 > .f-c >span:nth-child(1){
+        font-size: 18px;
+        font-weight: bold;
+  }
+.bjdCarMessage1>img,
+.bjdfooter>img {
+  margin-right: 30px;
+}
+
+.bjdCarMessage1 .f-c>span:nth-child(2),
+.bjdCarMessage1 .f-c>span:nth-child(3) {
+  font-size: 12px;
+  margin-top: 5px;
+}
+
+.bjdCarMessage2_car >span:nth-child(1) {
+      color: #000;
+      font-weight: bold;
+}
+.bjdCarMessage2_car >span:nth-child(2) {
+  color: #999;
+}
+.bjdCarMessage2 >ul>li {
+      margin: 20px 0;
+}
+.Risk {
+  width: 100%;
+  height: auto;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  font-size: 12px;
+}
+
+.Risk_title {
+  width: 100%;
+  height: 40px;
+}
+.Risk_title>div {
+    background: rgb(199, 20, 45);
+    color: rgb(255, 255, 255);
+    height: 100%;
+    font-weight: 500;
+    width: 33.3%;
+    padding: 10px 20px;
+    box-sizing: border-box;
+    border: #fff solid 1px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    border-bottom: none;
+
+}
+.Risk_title>div:nth-child(1) {
+}
+
+.Risk_title>div:nth-child(2) {
+  border-left: none;
+      border-right: none;
+}
+
+.Risk_data {
+  width: 100%;
+  height: 40px;
+}
+.Risk_data >div {
+    background: #fbf6f7;
+    color: rgb(51, 51, 51);
+    height: 100%;
+    font-weight: 500;
+    width: 33.3%;
+    padding: 10px 20px;
+    box-sizing: border-box;
+    border: #fff solid 1px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    border-bottom: none;
+  }
+.Risk_data >div :nth-child(2) {
+  border-left: none;
+      border-right: none;
+}
+.Risk_title>div :nth-child(3) {
+  border-top-right-radius: 10px;
+}
+.jyxStyle>span{
+  display: inline-block;
+  text-align: center;
+}
+.FeeEnclosure  /deep/ table {
+  width: 100% !important;
+}
+
+.FeeEnclosure  /deep/ .cell {
+  text-align: center;
+}
+
+.FeeEnclosure /deep/ .el-table__empty-block{
+  width: 100% !important;
 }
 </style>

+ 826 - 33
src/views/FinancialManagement/CarInsurance/CompanySettlement/ExpensesList.vue

@@ -94,8 +94,9 @@
     </div>
     <el-main ref="elMain" style="padding: 0px">
       <kt-common-table
+      :operationWidth="150"
         permsDelete="sys:user:delete"
-        :showOperation="false"
+        :showOperation="true"
         :showBatchDelete="false"
         :showBatchSettled="false"
         :showBatchPrint="false"
@@ -105,11 +106,247 @@
         :data="pageResult"
         :columns="columns"
         @findPage="findPage"
-        @handleSettled="handleTableSettled"
+        button1Name="查看详细"
+        button1Background="#E6A23C"
+        @handleButton1="exDetails"
+        button1Icon=""
         @handlePrint="handlePrint"
       >
       </kt-common-table>
     </el-main>
+    <el-dialog title="报价详情" :visible.sync="quotedetailsdialogVisible" width="90%">
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">报价信息</span>
+          </div>
+        </div>
+        <div style="padding:20px;font-weight:bold;font-size:20px;">
+          <span>总保费</span>
+          <span style="color:#ff7612;">¥{{ orderInfo.sumpremium }}</span>
+        </div>
+        <div class="headers headers_Custom" style="padding:20px;">
+          <div v-show="orderInfo.jqpremium">
+            交强险金额:
+            <span>
+              ¥{{
+                orderInfo.jqpremium }}
+            </span>
+          </div>
+          <div v-show="orderInfo.sypremium">
+            商业险金额:
+            <span>¥{{ orderInfo.sypremium }}</span>
+          </div>
+          <div v-show="orderInfo.taxamount">
+            车船税:
+            <span>¥{{ orderInfo.taxamount }}</span>
+          </div>
+          <div v-show="orderInfo.jypremium">
+            驾意险:
+            <span>¥{{ orderInfo.jypremium }}</span>
+          </div>
+          <div v-show="orderInfo.jqstartdate">
+            交强险起保日期:
+            <span>{{ orderInfo.jqstartdate }}</span>
+          </div>
+          <div v-show="orderInfo.systartdate">
+            商业险起保日期:
+            <span>{{ orderInfo.systartdate }}</span>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">保费因素</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="评分">{{ orderInfo.extendInfo.score }}</el-descriptions-item>
+          <el-descriptions-item label="出险信息">{{ orderInfo.extendInfo.accidentInfoStr }}</el-descriptions-item>
+          <el-descriptions-item label="商业险折扣比例">{{ orderInfo.extendInfo.nirrratio }}</el-descriptions-item>
+          <el-descriptions-item label="交强险折扣比例">{{ orderInfo.extendInfo.nirrratioCI }}</el-descriptions-item>
+          <el-descriptions-item label="自主定价系数">{{ orderInfo.extendInfo.pricingAdjustValue }}</el-descriptions-item>
+          <el-descriptions-item label="业务员交强险销售费用浮动率">
+            {{ orderInfo.extendInfo.jqFeeSaleChangeRateA4
+            }}
+          </el-descriptions-item>
+          <el-descriptions-item label="交强深度定价分档">{{ orderInfo.extendInfo.deepPriceGradeCI }}</el-descriptions-item>
+          <el-descriptions-item label="业务员商业险销售费用浮动率">
+            {{ orderInfo.extendInfo.syFeeSaleChangeRateA4
+            }}
+          </el-descriptions-item>
+          <el-descriptions-item label="商业深度定价分档">{{ orderInfo.extendInfo.deepPriceGradeBI }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">车辆信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="车牌号">{{ orderInfo.carinfo.licenseNo }}</el-descriptions-item>
+          <el-descriptions-item label="车辆识别代码">{{ orderInfo.carinfo.vinNo }}</el-descriptions-item>
+          <el-descriptions-item label="品牌型号">{{ orderInfo.carinfo.modelcname }}</el-descriptions-item>
+          <el-descriptions-item label="发动机号">{{ orderInfo.carinfo.engineNo }}</el-descriptions-item>
+          <el-descriptions-item label="年款">{{ orderInfo.carinfo.caryear }}</el-descriptions-item>
+          <el-descriptions-item label="座位数">{{ orderInfo.carinfo.seatCount }}</el-descriptions-item>
+          <el-descriptions-item label="新车购置价">{{ orderInfo.carinfo.purchasePrice }}</el-descriptions-item>
+          <el-descriptions-item label="使用性质">
+            {{ orderInfo.carinfo.carnature == '01' ? '营业' : ''
+            }}
+          </el-descriptions-item>
+          <el-descriptions-item label="注册日期">{{ orderInfo.carinfo.registerDate }}</el-descriptions-item>
+          <el-descriptions-item label="发证日期">{{ orderInfo.carinfo.issueDate }}</el-descriptions-item>
+          <el-descriptions-item label="是否过户">
+            {{ orderInfo.carinfo.transferFlag == true ? '是' : '否'
+            }}
+          </el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">车主信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="车主姓名">{{ orderInfo.ownerinfo.name }}</el-descriptions-item>
+          <el-descriptions-item label="证件类型"> {{ orderInfo.ownerinfo.identifyType}}</el-descriptions-item>
+          <el-descriptions-item label="身份证号">{{ orderInfo.ownerinfo.identifyNumber }}</el-descriptions-item>
+          <el-descriptions-item label="手机号">{{ orderInfo.ownerinfo.mobile }}</el-descriptions-item>
+          <el-descriptions-item label="地址">{{ orderInfo.ownerinfo.addr }}</el-descriptions-item>
+          <el-descriptions-item label="电子邮箱">{{ orderInfo.ownerinfo.email }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">投保人信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="投保人姓名">{{ orderInfo.applyinfo.name }}</el-descriptions-item>
+          <el-descriptions-item label="证件类型"> {{ orderInfo.applyinfo.identifyType}}</el-descriptions-item>
+          <el-descriptions-item label="身份证号">{{ orderInfo.applyinfo.identifyNumber }}</el-descriptions-item>
+          <el-descriptions-item label="手机号">{{ orderInfo.applyinfo.mobile }}</el-descriptions-item>
+          <el-descriptions-item label="地址">{{ orderInfo.applyinfo.addr }}</el-descriptions-item>
+          <el-descriptions-item label="电子邮箱">{{ orderInfo.applyinfo.email }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">被保人信息</span>
+          </div>
+        </div>
+        <el-descriptions size="small">
+          <el-descriptions-item label="被保人姓名">{{ orderInfo.insureinfo.name }}</el-descriptions-item>
+          <el-descriptions-item label="证件类型"> {{ orderInfo.insureinfo.identifyType}}</el-descriptions-item>
+          <el-descriptions-item label="身份证号">{{ orderInfo.insureinfo.identifyNumber }}</el-descriptions-item>
+          <el-descriptions-item label="手机号">{{ orderInfo.insureinfo.mobile }}</el-descriptions-item>
+          <el-descriptions-item label="地址">{{ orderInfo.insureinfo.addr }}</el-descriptions-item>
+          <el-descriptions-item label="电子邮箱">{{ orderInfo.insureinfo.email }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">险种信息</span>
+          </div>
+        </div>
+        <div style="font-size:12px">
+          <div class="headers kindinfocss" style="justify-content: space-around">
+            <span>商业险险别</span>
+            <span>保额(元)</span>
+            <span>保费(元)</span>
+          </div>
+          <div class="headers kindinfocss" style="color:rgb(255, 118, 18); justify-content:space-around;"
+            v-for="(kindinfoitem, kindinfoindex) in orderInfo.kindinfo" :key="kindinfoindex">
+            <template v-if="kindinfoitem.coveragePremium">
+              <span>{{ kindinfoitem.kindName }}</span>
+              <span v-if="['D4', 'SY_FJ_YBW2'].includes(kindinfoitem.kindCode)">{{ kindinfoitem.unitAmount }}</span>
+              <span v-else-if="['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(kindinfoitem.kindCode)">
+                {{
+                  kindinfoitem.deductibleRate
+                }}
+              </span>
+              <span v-else>{{ kindinfoitem.amount }}</span>
+              <span>{{ kindinfoitem.coveragePremium }}</span>
+            </template>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo.accidentInfo&&orderInfo.accidentInfo.length>0">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">驾意险</span>
+          </div>
+        </div>
+        <div style="font-size:12px"  >
+          <div class="jyxStyle" style=" font-weight: bold;color: #333;">
+            <span style="width:50%;margin-left:50px">产品</span>
+            <span style="width:20%">份数</span>
+            <span style="width:20%">价格</span>
+          </div>
+          <div  v-for="(kindinfoitem, kindinfoindex) in orderInfo.accidentInfo" :key="kindinfoindex">
+            <div style="margin-top:20px" class="jyxStyle">
+              <span style="width:50%;margin-left:50px">{{ kindinfoitem.projectName }}</span>
+              <span style="width:20%">{{ kindinfoitem.quantity ?kindinfoitem.quantity:'1' }}</span>
+              <span style="width:20%">{{ kindinfoitem.actualPremium}}/份</span>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">欠税明细</span>
+          </div>
+        </div>
+        <div style="font-size:12px">
+          <div class="headers kindinfocss" style="justify-content: space-around;">
+            <span>日期</span>
+            <span>欠费(元)</span>
+            <span>滞纳金(元)</span>
+          </div>
+          <div class="headers kindinfocss" style="color:rgb(255, 118, 18); justify-content:space-around;"
+            v-for="(taxArrearsitem, taxArrearsindex) in orderInfo.taxArrears" :key="taxArrearsindex">
+            <span>{{ taxArrearsitem.years }}</span>
+            <span>{{ taxArrearsitem.taxDefault }}</span>
+            <span>{{ taxArrearsitem.lateFee }}</span>
+          </div>
+        </div>
+      </div>
+      <div class="Enclosure" v-if="orderInfo">
+        <div class="home flex j-s a-c back">
+          <div class="flex j-s a-c color">
+            <img src="../../../../../src/icon/company.png" alt class="icon-img" />
+            <span style="margin-left:10px;">投保单号</span>
+          </div>
+        </div>
+        <el-descriptions size="small" :column="2">
+          <el-descriptions-item label="交强险投保单号">{{ orderInfo.jqapplyno }}</el-descriptions-item>
+          <el-descriptions-item label="商业险投保单号">{{ orderInfo.syapplyno }}</el-descriptions-item>
+          <el-descriptions-item label="交强险保单号">{{ orderInfo.jqpolicyno }}</el-descriptions-item>
+          <el-descriptions-item label="商业险保单号">{{ orderInfo.sypolicyno }}</el-descriptions-item>
+        </el-descriptions>
+      </div>
+      <span slot="footer" class="dialog-footer" style="display: flex; justify-content: center;align-items: center;">
+        <el-button size="small" type="primary" style="background-color: #DE504C; border: 1px solid #DE504C;" @click="quotedetailsdialogVisible = false">关 闭</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -128,6 +365,18 @@ export default {
       mdcell: 12,
       smcell: 24,
       xscell: 24,
+      quotedetailsdialogVisible:false,
+      orderInfo: {
+        //选中的订单
+        ownerinfo: {},
+        carinfo: {},
+        applyinfo: {},
+        insureinfo: {},
+        kindinfo: [],
+        riskinfo: [],
+        ownerinfo: {},
+        extendInfo:{}
+      },
       pageRequest: {
         //查询的默认条件
         pageNum: 1,
@@ -155,7 +404,7 @@ export default {
         //数据列
         { prop: "orderno", label: "订单号", minWidth: 160 },
         { prop: "policyno", label: "保单号", minWidth: 160 },
-        { prop: "deptId", label: "机构", minWidth: 160 },
+        { prop: "deptName", label: "机构", minWidth: 160 },
         { prop: "riskcode", label: "险种", minWidth: 100 },
 
         {
@@ -294,35 +543,40 @@ export default {
         .then(data != null ? data.callback : "");
     },
     /** 按钮事件 */
-    handleButton1({ row, index }) {
-      this.dialogVisible = true;
-      this.dataForm.ordernos = row.orderno;
-    },
-
-    handleTableSettled(ids) {
-      console.log(ids);
-      this.dialogVisible = true;
-      this.dataForm.ordernos = ids;
-    },
-    dialogSubmit() {
-      if (!this.dataForm.settleno) {
-        return this.$message.error("请输入凭证号");
+    exDetails({ row, index }) {
+      let params = {
+        orderNo: row.orderno,
       }
-      var param = {
-        ordernos: this.dataForm.ordernos,
-        settleno: this.dataForm.settleno,
-      };
-      this.$api.task.insFeeSettle(param).then((res) => {
-        this.$message.success("凭证号保存成功");
-        this.dialogVisible = false;
-        this.findPage();
+      this.$api.task.feeDetail(params).then((res) => {
+        if (res.code == 200) {
+          res.data.kindinfo.map((ele, index) => {
+            switch (ele.kindCode) {
+              case "A":
+                ele.amount = "投保";
+                break;
+              case "D4":
+              case "SY_FJ_YBW2":
+                ele.unitAmount = this.toChinesNum(ele.unitAmount);
+                break;
+              case "MJ1":
+              case "MJ2":
+              case "MJ3":
+              case "MJ4":
+                ele.deductibleRate = ele.deductibleRate + "%";
+                break;
+              default:
+                ele.amount = this.toChinesNum(ele.amount);
+            }
+            return ele;
+          });
+          this.orderInfo = res.data
+          this.quotedetailsdialogVisible = true;
+        } else {
+          this.$message.error("订单获取失败");
+        }
+
       });
-    },
-    closeDialog() {
-      this.$refs["dataForm"].resetFields();
-      for (let key in this.dataForm) {
-        this.dataForm[key] = "";
-      }
+
     },
     //当月
     currentMonth(){
@@ -341,18 +595,557 @@ export default {
     // 当日的日期字符串
     var endDate = year + "-" + formatNumber(month) + "-" + formatNumber(day);
       return [startDate,endDate]
-    }
+    },
+    toChinesNum(num) {
+      let changeNum = [
+        "零", "1", "2", "3", "4", "5", "6", "7", "8", "9"
+      ];
+      let unit = ["", "0", "00", "000", "0000"];
+      num = parseInt(num);
+      let getWan = temp => {
+        let strArr = temp
+          .toString()
+          .split("")
+          .reverse();
+        let newNum = "";
+        let newArr = [];
+        strArr.forEach((item, index) => {
+          newArr.unshift(
+            item === "0" ? changeNum[item] : changeNum[item] + unit[index]
+          );
+        });
+        let numArr = [];
+        newArr.forEach((m, n) => {
+          if (m !== "零") numArr.push(n);
+        });
+        if (newArr.length > 1) {
+          newArr.forEach((m, n) => {
+            if (newArr[newArr.length - 1] === "零") {
+              if (n <= numArr[numArr.length - 1]) {
+                newNum += m;
+              }
+            } else {
+              newNum += m;
+            }
+          });
+        } else {
+          newNum = newArr[0];
+        }
+        return newNum;
+      };
+      let overWan = Math.floor(num / 10000);
+      let noWan = num % 10000;
+      if (noWan.toString().length < 4) {
+        noWan = "0" + noWan;
+      }
+      return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num);
+    },
   },
 };
 </script>
+<style lang="scss" scoped>
+/deep/ {
+  .el-table .row-expand-cover .cell .el-table__expand-icon {
+    display: none;
+  }
+  .el-descriptions__body {
+    padding: 10px 50px;
+    box-sizing: border-box;
+    color: rgb(226, 118, 10);
+  }
+  .el-descriptions-item__label {
+    &:not(.is-bordered-label) {
+      color: #333;
+    }
+  }
+  .saomazhifucodeClass .el-dialog__body,
+  .saomazhifucodeClass .el-dialog__header {
+    padding: 0;
+  }
+
+  .el-input.is-disabled .el-input__inner {
+    color: #333;
+  }
+}
+
+.ORcodebody {
+  width: 100%;
+  height: auto;
+  box-sizing: border-box;
+}
+
+.code_title {
+  width: 100%;
+  height: 50px;
+  background-color: #fdcb08;
+  justify-content: center;
+}
 
+.code_title>span {
+  font-size: 22px;
+  color: #000;
+  font-weight: bold;
+}
+
+.ORcode {
+  width: 100%;
+  background: #fff;
+  height: auto;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 30px;
+  box-sizing: border-box;
+  border-bottom: 6px dotted #fdcb08;
+}
+
+.ORcode>div {
+  width: 180px;
+  height: 180px;
+  border: 1px solid #000;
+  border-radius: 5px;
+}
 
+.ORtitle {
+  background: #fff;
+  width: 100%;
+  padding: 20px;
+  box-sizing: border-box;
+  border-bottom: 1px solid #f2f2f2;
+}
+
+.ORtitle>div {
+  width: 100%;
+  margin: 10px 0;
+  font-weight: bold;
+  font-size: 14px;
+  display: flex;
+  align-items: center;
+}
+
+.ORtitle>div>span:nth-child(1) {
+  color: #979797;
+  text-align: end;
+  width: 150px;
+}
+
+.ORtitle>div>span:nth-child(2) {
+  color: #000;
+  margin-left: 10px;
+}
+</style>
 <style scoped>
+
+#qqq {
+  background-color: #111;
+  width: 300px;
+  height: 300px;
+  margin: 0 auto;
+  /*水平居中*/
+  position: relative;
+}
+
+#qrCode {
+  display: inline-block;
+  margin: 0 auto;
+  /*水平居中*/
+  position: relative;
+  top: 15%;
+}
+
+#qrCode img {
+  width: 200px;
+  height: 200px;
+  background-color: #fff;
+  padding: 6px;
+}
+
+.leftContainer {
+  width: 80px;
+  position: fixed;
+  top: 79px;
+  left: 30px;
+}
+
+.leftContainer .el-col {
+  width: 80px;
+  height: 80px;
+  border-bottom: 1px solid #4d5c6f;
+  background: #526176;
+  cursor: pointer;
+  color: #a6aeb9;
+  border-radius: 0;
+}
+
+.leftContainer .el-col a {
+  display: block;
+  color: #a6aeb9;
+  text-decoration: none;
+}
+
+.leftContainer .el-col a:hover {
+  color: #fff;
+}
+
+.leftContainer .el-col a.active {
+  color: #fff;
+}
+
+.leftContainer .el-col i {
+  font-size: 30px;
+  margin: 15px 0px 5px;
+}
+
+.rightContainer {
+  width: calc(100vw - 160px);
+  margin-left: 100px;
+}
+
+.rightContainer .header .el-col {
+  font-size: 18px;
+  font-weight: bold;
+}
+
+.rightContainer .bodyTitle {
+  height: 40px;
+  background: #f3f3f3;
+  border: 1px solid #dddddd;
+}
+
+.rightContainer .bodyTitle>label {
+  margin: 0px 15px;
+  font-weight: bold;
+}
+
+.rightContainer #demo2 .body,
+.rightContainer #demo6 .body {
+  border: 1px solid #ddd;
+  padding: 15px;
+  border-top: none;
+}
+
+.rightContainer .el-card {
+  margin-bottom: 15px;
+}
+
+
+
+.body .el-row .el-col label {
+  text-align: right;
+  width: 80px;
+  font-size: 14px;
+  width: 100%;
+  line-height: 36px;
+  display: inline-block;
+  box-sizing: border-box;
+}
+
+.disabledInput {
+  width: 80% !important;
+  background-color: #f5f7fa;
+  text-align: center !important;
+  max-width: 200px;
+  border: 1px solid #e4e7ed;
+  color: #c0c4cc;
+  cursor: not-allowed;
+  border-radius: 4px;
+  box-sizing: border-box;
+  padding: 0px 10px;
+  height: 36px;
+  margin: 20px 10%;
+}
+
+/* 上传图片样式Start */
+.avatar-uploader .el-upload {
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+
+.avatar-uploader .el-upload:hover {
+  border-color: #409eff;
+}
+
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 100px;
+  height: 100px;
+  line-height: 100px;
+  text-align: center;
+  border: 1px dashed #d9d9d9;
+}
+
+.avatar {
+  border: 1px dashed #d9d9d9;
+  padding: 5px;
+  border-radius: 6px;
+  width: 100px;
+  height: 100px;
+  display: block;
+}
+
+.imageStyle {
+  display: inline-block;
+  width: 100px;
+  height: 100px;
+  box-shadow: #ddd 0px 0px 5px;
+  margin-right: 20px;
+}
+
+/* 上传图片样式End */
+
+.dis {
+  display: flex;
+}
+
+.align {
+  align-items: center;
+}
+
+.jus {
+  justify-content: space-between;
+}
+
+.display {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 10px;
+  box-sizing: border-box;
+}
+
+.block {
+  margin-top: 10px;
+}
+
+.page {
+  padding: 14px;
+  box-sizing: border-box;
+}
+
+.el-select--medium {
+  vertical-align: bottom !important;
+}
+
 .widths {
   width: 220px;
 }
 
-.widths1 {
-  width: 300px;
+.demo-table-expand {
+  width: 100%;
+  height: auto;
+  padding: 10px 50px;
+  font-size: 14px;
+}
+
+.demo-table-expand-time {
+  width: 600px;
+}
+
+.demo-table-expand-time>div {
+  margin: 0 10px;
+}
+.icon-img {
+  display: block;
+  width: 30px;
+  height: 30px;
+}
+.Enclosure {
+  width: 100%;
+  background-color: #fff;
+  padding: 20px;
+  box-sizing: border-box;
+  margin-bottom: 15px;
+  border-radius: 6px;
+  border: 1px solid #ebeef5;
+  transition: all 0.2s ease-in-out;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+}
+
+.headers {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  flex-wrap: wrap;
+  margin: 5px 0;
+  font-weight: bold;
+  color: #333;
+}
+/* 内容待定 */
+.headers_Custom >div{
+  padding: 20px 40px;
+  font-size: 16px;
+}
+.headers_Custom >div>span {
+  color: rgb(226, 118, 10);
+}
+
+  .back {
+  color: #303133;
+  font-weight: 700;
+}
+.u-f-ac {
+  -webkit-box-align: center;
+  align-items: center;
+  /* padding: 10px; */
+}
+
+.bodyTitle {
+  height: 40px;
+  background: #f3f3f3;
+  border: 1px solid #dddddd;
+  line-height: 40px;
+  padding: 0 20px;
+  box-sizing: border-box;
+}
+.bjdbody {
+  width: 100%;
+  height: auto;
+  background-color: rgb(199, 20, 45);
+  padding: 20px 10px 0 10px;
+  box-sizing: border-box;
+  border-radius: 8px;
+}
+
+.bjdCarMessage,
+.bjdCarSum {
+  width: 100%;
+  height: auto;
+  background-color: #fff;
+  border-radius: 8px;
+  margin-bottom: 10px;
+  padding-bottom: 10px;
+}
+
+.bjdfooter {
+  border-top: 1px solid #fff;
+  padding: 10px;
+  box-sizing: border-box;
+  color: #fff;
+}
+
+.bjdCarSum >div{
+    width: 100%;
+    padding: 15px 20px;
+    box-sizing: border-box;
+    font-weight: bold;
+    color: #000;
+    border-bottom: 1px solid #f2f2f2;
+}
+
+.bjdCarMessage1 {
+  height: 80px;
+  padding: 16px;
+  box-sizing: border-box;
+  border-bottom: 1px solid #f2f2f2;
+  display: flex;
+  align-items: center;
+  color: #000;
+
+
+}
+.bjdCarMessage1 > .f-c >span:nth-child(1){
+        font-size: 18px;
+        font-weight: bold;
+  }
+.bjdCarMessage1>img,
+.bjdfooter>img {
+  margin-right: 30px;
+}
+
+.bjdCarMessage1 .f-c>span:nth-child(2),
+.bjdCarMessage1 .f-c>span:nth-child(3) {
+  font-size: 12px;
+  margin-top: 5px;
+}
+
+.bjdCarMessage2_car >span:nth-child(1) {
+      color: #000;
+      font-weight: bold;
+}
+.bjdCarMessage2_car >span:nth-child(2) {
+  color: #999;
+}
+.bjdCarMessage2 >ul>li {
+      margin: 20px 0;
+}
+.Risk {
+  width: 100%;
+  height: auto;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  font-size: 12px;
+}
+
+.Risk_title {
+  width: 100%;
+  height: 40px;
+}
+.Risk_title>div {
+    background: rgb(199, 20, 45);
+    color: rgb(255, 255, 255);
+    height: 100%;
+    font-weight: 500;
+    width: 33.3%;
+    padding: 10px 20px;
+    box-sizing: border-box;
+    border: #fff solid 1px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    border-bottom: none;
+
+}
+.Risk_title>div:nth-child(1) {
+}
+
+.Risk_title>div:nth-child(2) {
+  border-left: none;
+      border-right: none;
+}
+
+.Risk_data {
+  width: 100%;
+  height: 40px;
+}
+.Risk_data >div {
+    background: #fbf6f7;
+    color: rgb(51, 51, 51);
+    height: 100%;
+    font-weight: 500;
+    width: 33.3%;
+    padding: 10px 20px;
+    box-sizing: border-box;
+    border: #fff solid 1px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    border-bottom: none;
+  }
+.Risk_data >div :nth-child(2) {
+  border-left: none;
+      border-right: none;
+}
+.Risk_title>div :nth-child(3) {
+  border-top-right-radius: 10px;
+}
+.jyxStyle>span{
+  display: inline-block;
+  text-align: center;
+}
+.FeeEnclosure  /deep/ table {
+  width: 100% !important;
+}
+
+.FeeEnclosure  /deep/ .cell {
+  text-align: center;
+}
+
+.FeeEnclosure /deep/ .el-table__empty-block{
+  width: 100% !important;
 }
 </style>

+ 14 - 16
src/views/Letter/Letter.vue

@@ -151,7 +151,7 @@
         <el-row style="flex-wrap: wrap; display: flex;">
           <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
             <el-form-item label="车牌:" :prop="licenseplate ? 'licenseNo' : ''">
-              <el-input v-model="carInfo.licenseNo" placeholder="请输入车牌号" :disabled="!licenseplate" @change="licenseNoFun"></el-input>
+              <el-input v-model="carInfo.licenseNo" placeholder="请输入车牌号" :disabled="!licenseplate" ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
@@ -222,7 +222,7 @@
           </el-col>
           <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
             <el-form-item label="排量:" prop="enginedesc">
-              <el-input v-model="carInfo.enginedesc" placeholder="请输入排量" @change="enginedescFun">
+              <el-input v-model="carInfo.enginedesc" placeholder="请输入排量" >
                 <el-button slot="append">升(L)</el-button>
               </el-input>
             </el-form-item>
@@ -4805,6 +4805,7 @@ export default {
   },
   created() {
     // this.commpanyList(); //获取保险公司
+    this.obtainProtocol()
     this.getDicType("taxRelifFlag");//车船税类型
     this.getDicType("taxpayerIdentifier");//纳税人证件类型
     this.getDicType("relifReason");//减免税原因代码
@@ -4871,7 +4872,6 @@ export default {
       _this.ownerInfo.age = getAgeByIdCard(_this.ownerInfo.identifyNumber)
       _this.policyHolderInfo.age = getAgeByIdCard(_this.policyHolderInfo.identifyNumber)
       _this.insuredPersonInfo.age = getAgeByIdCard(_this.insuredPersonInfo.identifyNumber)
-      this.obtainProtocol()
       // const ownerInfoObject = {
       //   province: _this.ownerInfo.province,
       //   city: _this.ownerInfo.city,
@@ -4981,16 +4981,16 @@ export default {
     }
   },
   methods: {
-    licenseNoFun(data){
-      if(data && this.carInfo.enginedesc){
-        this.obtainProtocol()
-      }
-    },
-    enginedescFun(data){
-      if(data && this.carInfo.licenseNo){
-        this.obtainProtocol()
-      }
-    },
+    // licenseNoFun(data){
+    //   if(data && this.carInfo.enginedesc){
+    //     this.obtainProtocol()
+    //   }
+    // },
+    // enginedescFun(data){
+    //   if(data && this.carInfo.licenseNo){
+    //     this.obtainProtocol()
+    //   }
+    // },
     packageChange(val){
       let arr=this.packageOptions.find(ele=>ele.id==val).kind
       if(arr.length>0){
@@ -5504,7 +5504,7 @@ else{
       });
     },
     obtainProtocol(){
-      this.$api.letter.getAllAgreement({ license:this.carInfo.licenseNo,volume:this.carInfo.enginedesc }).then(res => {
+      this.$api.letter.getAllAgreement().then(res => {
         if(res.code==200){
           res.data.map(ele => {
           ele["result"] = {};
@@ -8688,8 +8688,6 @@ else{
       this.jqendDate = this.oneYearPast1(this.jqstartDate);
       this.systartDate = this.transformTime1();
       this.syendDate = this.oneYearPast1(this.jqstartDate);
-      // this.commpanyList(); // 获取保险公司
-      // this.obtainProtocol()
 
     },
     toChinesNum(num) {

+ 17 - 15
src/views/Sys/Recruiting.vue

@@ -23,28 +23,30 @@ export default {
     },
     created() {
     },
-    props: {
-        type:{
-            type: String,
-            default:''
-        }
-    },
     
     methods: {
         // 设置可见性
         setBackupVisible: function (backupVisible) {
             var userId = Cookies.get("user");
-            let url=''
-            if(this.type=='2'){
-                url = this.global.h5BaseUrl + "/#/pages/register/orderissuer?id=" + userId;
-            }
+            this.$api.user.recruitinQqueryType().then((res) => {
+            if(res.code==200){
+                let url=''
+                if(res.data=='2'){
+                    url = this.global.h5BaseUrl + "/#/pages/register/orderissuer?id=" + userId;
+                }
+                else{
+                    url = this.global.h5BaseUrl + "/#/pages/register/register?id=" + userId;
+                }
+                this.backupVisible = backupVisible
+                this.$nextTick(() => {
+                    this.creatQrCode(url);
+                });
+                }
             else{
-                url = this.global.h5BaseUrl + "/#/pages/register/register?id=" + userId;
+            this.$message.error(res.msg)
             }
-            this.backupVisible = backupVisible
-            this.$nextTick(() => {
-                this.creatQrCode(url);
-            });
+        })
+           
         },
         creatQrCode(text) {
             if (this.qrcode) {