Kaynağa Gözat

众安财险改为众安平安

@dongkboy 1 yıl önce
ebeveyn
işleme
5f8ee47853
32 değiştirilmiş dosya ile 4362 ekleme ve 506 silme
  1. 76 284
      src/components/TemplateTable/index.vue
  2. 1 1
      src/components/UserDetail/index.vue
  3. 1 1
      src/config/global.js
  4. 45 2
      src/http/moudules/insCompany.js
  5. 69 0
      src/http/moudules/retail.js
  6. 8 1
      src/http/moudules/user.js
  7. 163 0
      src/views/DistributionManage/PartnerManagement/CommissionChangeLog.vue
  8. 151 0
      src/views/DistributionManage/PartnerManagement/CommissionDetails.vue
  9. 465 0
      src/views/DistributionManage/PartnerManagement/CommissionRule.vue
  10. 492 31
      src/views/DistributionManage/PartnerManagement/IevelRule.vue
  11. 223 0
      src/views/DistributionManage/PartnerManagement/UpgradeDowngradeRecord.vue
  12. 1 1
      src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyintasks.vue
  13. 1 1
      src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyuntasks.vue
  14. 1 1
      src/views/Letter/ElectricSalescost.vue
  15. 9 9
      src/views/PeopleManage/Partner.vue
  16. 1102 0
      src/views/PeopleManage/Partner/PartnerReview.vue
  17. 1380 0
      src/views/PeopleManage/Partner/PersonList.vue
  18. 1 1
      src/views/Task/AgentPoolChannel/AgentPoolChannel2.vue
  19. 1 1
      src/views/Task/CompanyPoolChannel/CompanyPoolChannel2.vue
  20. 3 3
      src/views/Task/Complete.vue
  21. 1 1
      src/views/Task/ElectricSales/AgentPoolChannel2.vue
  22. 3 3
      src/views/Task/OfflinePay.vue
  23. 3 3
      src/views/Task/Quote.vue
  24. 1 1
      src/views/Task/TaskPoolChannel/TaskPoolChannel2.vue
  25. 3 3
      src/views/Task/TaskpoolAll.vue
  26. 118 118
      src/views/Task/Underwrite.vue
  27. 3 3
      src/views/Task/UnderwriteBack.vue
  28. 11 11
      src/views/Task/daikeComponents/KhgxKtLetter.vue
  29. 6 6
      src/views/Task/daikeComponents/KtLetter.vue
  30. 11 11
      src/views/Task/daikeComponents/KtLetter1.vue
  31. 7 7
      src/views/Task/daikeComponents/KtOrder.vue
  32. 2 2
      src/views/Task/mixin.js

+ 76 - 284
src/components/TemplateTable/index.vue

@@ -1,176 +1,78 @@
 <template>
   <div ref="commonTable">
     <!-- 搜索栏 -->
-    <el-form
-      v-if="formList.length > 0"
-      :inline="true"
-      :model="searchDataClone"
-      label-width="130px"
-      ref="searchDataClone"
-      id="commonTable"
-      class="device-wrapper"
-    >
-      <el-form-item
-        v-for="f in formList"
-        :key="f.prop"
-        :label="f.label"
-        :prop="f.prop"
-      >
+    <el-form v-if="formList.length > 0" :inline="true" :model="searchDataClone" label-width="130px"
+      ref="searchDataClone" id="commonTable" class="device-wrapper">
+      <el-form-item v-for="f in formList" :key="f.prop" :label="f.label" :prop="f.prop">
         <template>
           <template v-if="f.type === 'input'">
-            <el-input
-              clearable
-              v-model.trim="searchDataClone[f.prop]"
-              size="small"
-              :placeholder="'请输入' + f.label"
-            ></el-input>
+            <el-input clearable v-model.trim="searchDataClone[f.prop]" size="small"
+              :placeholder="'请输入' + f.label"></el-input>
           </template>
           <template v-else-if="f.type === 'company'">
-            <el-select
-              size="small"
-              clearable
-              v-model="searchDataClone[f.prop]"
-              :placeholder="'请输入' + f.label"
-              filterable
-              @change="f.change($event, f.prop)"
-            >
+            <el-select size="small" clearable v-model="searchDataClone[f.prop]" :placeholder="'请输入' + f.label"
+              filterable @change="f.change($event, f.prop)">
               <el-option label="不限" value v-if="f.selectAuto"></el-option>
-              <el-option
-                v-for="(s, i) in InsCompanyList"
-                :key="i"
-                :label="s.name"
-                :value="s.id"
-              ></el-option>
+              <el-option v-for="(s, i) in InsCompanyList" :key="i" :label="s.name" :value="s.id"></el-option>
             </el-select>
           </template>
           <template v-else-if="f.type === 'companyCheck'">
-            <el-select
-              class="selectLength"
-              multiple
-              collapse-tags
-              size="small"
-              v-model="searchDataClone[f.prop]"
-              :placeholder="'请输入' + f.label"
-            >
+            <el-select class="selectLength" multiple collapse-tags size="small" v-model="searchDataClone[f.prop]"
+              :placeholder="'请输入' + f.label">
               <el-option label="不限" value v-if="f.selectAuto"></el-option>
-              <el-option
-                v-for="(s, i) in InsCompanyList"
-                :key="i"
-                :label="s.name"
-                :value="s.id"
-              ></el-option>
+              <el-option v-for="(s, i) in InsCompanyList" :key="i" :label="s.name" :value="s.id"></el-option>
             </el-select>
           </template>
           <template v-else-if="f.type === 'select'">
-            <el-select
-              size="small"
-              clearable
-              filterable
-              v-model="searchDataClone[f.prop]"
-              :placeholder="'请输入' + f.label"
-            >
+            <el-select size="small" clearable filterable v-model="searchDataClone[f.prop]"
+              :placeholder="'请输入' + f.label">
               <el-option label="不限" value v-if="f.selectAuto"></el-option>
-              <el-option
-                v-for="(s, i) in f.options"
-                :key="i"
-                :label="s.label || s.dictTag || s.name"
-                :value="s.value || s.dictValue || s.id"
-              ></el-option>
+              <el-option v-for="(s, i) in f.options" :key="i" :label="s.label || s.dictTag || s.name"
+                :value="s.value || s.dictValue || s.id"></el-option>
             </el-select>
           </template>
           <template v-else-if="f.type === 'selectDept'">
-            <el-select
-              size="small"
-              v-model="searchDataClone[f.prop]"
-              filterable
-              clearable
-              :placeholder="'请选择' + f.label"
-              @change="selectChange($event, f.prop)"
-            >
-              <el-option
-                v-for="(option, index) in f.options"
-                :key="index"
+            <el-select size="small" v-model="searchDataClone[f.prop]" filterable clearable
+              :placeholder="'请选择' + f.label" @change="selectChange($event, f.prop)">
+              <el-option v-for="(option, index) in f.options" :key="index"
                 :label="f.optionsIabel ? option[f.optionsIabel] : option.name"
-                :value="f.optionsValue ? option[f.optionsValue] : option.id"
-              ></el-option>
+                :value="f.optionsValue ? option[f.optionsValue] : option.id"></el-option>
             </el-select>
           </template>
           <template v-else-if="f.type === 'selectCompany'">
-            <el-select
-              size="small"
-              v-model="searchDataClone[f.prop]"
-              filterable
-              clearable
-              :placeholder="'请选择' + f.label"
-              @change="selectCompanyChange($event, f.prop)"
-            >
-              <el-option
-                v-for="(option, index) in f.options"
-                :key="index"
+            <el-select size="small" v-model="searchDataClone[f.prop]" filterable clearable
+              :placeholder="'请选择' + f.label" @change="selectCompanyChange($event, f.prop)">
+              <el-option v-for="(option, index) in f.options" :key="index"
                 :label="f.optionsIabel ? option[f.optionsIabel] : option.name"
-                :value="f.optionsValue ? option[f.optionsValue] : option.id"
-              ></el-option>
+                :value="f.optionsValue ? option[f.optionsValue] : option.id"></el-option>
             </el-select>
           </template>
           <template v-else-if="f.type === 'datePicker'">
             <!-- 日期区间 -->
-            <el-date-picker
-              style="width: 215px"
-              type="daterange"
-              size="small"
-              v-model="searchDataClone[f.prop]"
-              align="right"
-              unlink-panels
-              range-separator="-"
-              start-placeholder="开始时间"
-              end-placeholder="结束时间"
-              value-format="yyyy-MM-dd HH:mm:ss"
-              :default-time="['00:00:00', '23:59:59']"
-              :clearable="true"
-            ></el-date-picker>
+            <el-date-picker style="width: 215px" type="daterange" size="small" v-model="searchDataClone[f.prop]"
+              align="right" unlink-panels range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间"
+              value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']"
+              :clearable="true"></el-date-picker>
           </template>
           <template v-else-if="f.type === 'date'">
             <!-- 一天 -->
-            <el-date-picker
-              type="date"
-              size="small"
-              v-model="searchDataClone[f.prop]"
-              placeholder="选择日期"
-              value-format="yyyy-MM-dd"
-            ></el-date-picker>
+            <el-date-picker type="date" size="small" v-model="searchDataClone[f.prop]" placeholder="选择日期"
+              value-format="yyyy-MM-dd"></el-date-picker>
           </template>
           <template v-else-if="f.type === 'dateTime'">
             <!-- 一天 -->
-            <el-date-picker
-              type="datetime"
-              size="small"
-              v-model="searchDataClone[f.prop]"
-              placeholder="选择日期"
-              value-format="yyyy-MM-dd hh:mm:ss"
-            ></el-date-picker>
+            <el-date-picker type="datetime" size="small" v-model="searchDataClone[f.prop]" placeholder="选择日期"
+              value-format="yyyy-MM-dd hh:mm:ss"></el-date-picker>
           </template>
 
           <!-- 年份 -->
           <template v-else-if="f.type === 'year'">
-            <el-date-picker
-              type="year"
-              size="small"
-              v-model="searchDataClone[f.prop]"
-              placeholder="选择年"
-            >
+            <el-date-picker type="year" size="small" v-model="searchDataClone[f.prop]" placeholder="选择年">
             </el-date-picker>
           </template>
           <template v-else-if="f.type === 'radio'">
-            <el-radio-group
-              v-model="searchDataClone[f.prop]"
-              :placeholder="'请输入' + f.label"
-            >
-              <el-radio
-                v-for="(r, i) in f.radioList"
-                :key="i"
-                :label="r.value"
-                >{{ r.label }}</el-radio
-              >
+            <el-radio-group v-model="searchDataClone[f.prop]" :placeholder="'请输入' + f.label">
+              <el-radio v-for="(r, i) in f.radioList" :key="i" :label="r.value">{{ r.label }}</el-radio>
             </el-radio-group>
           </template>
           <template v-else-if="f.type === 'slot'">
@@ -180,30 +82,13 @@
       </el-form-item>
 
       <el-form-item>
-        <el-button
-          style="margin-left: 30px"
-          size="small"
-          @click="resetForm('searchDataClone')"
-          >重置</el-button
-        >
-        <el-button type="primary" size="small" @click="handleSearchList()"
-          >查询</el-button
-        >
+        <el-button style="margin-left: 30px" size="small" @click="resetForm('searchDataClone')">重置</el-button>
+        <el-button type="primary" size="small" @click="handleSearchList()">查询</el-button>
         <template v-if="btnGroup.length > 0">
-          <span
-            v-for="(val, idx) in btnGroup"
-            :key="idx"
-            style="margin-left: 10px"
-          >
+          <span v-for="(val, idx) in btnGroup" :key="idx" style="margin-left: 10px">
             <slot v-if="val.slot" show-overflow-tooltip :name="val.name"></slot>
-            <el-button
-              v-else
-              :disabled="false || (val.disabled && val.disabled())"
-              :type="val.type || 'primary'"
-              size="small"
-              @click="val.click()"
-              >{{ val.name }}</el-button
-            >
+            <el-button v-else :disabled="false || (val.disabled && val.disabled())" :type="val.type || 'primary'"
+              size="small" @click="val.click()">{{ val.name }}</el-button>
           </span>
         </template>
       </el-form-item>
@@ -212,136 +97,66 @@
       </el-form-item> -->
     </el-form>
 
-    
+
     <slot v-if="tipFlag">
-      <div >
+      <div>
         <span style="color:red">注意更新签单日期</span>
       </div>
     </slot>
-    <el-table
-      ref="table"
-      :show-summary="tableConfig.showSummary || false"
-      :data="data"
-      border
-      style="width: 100%"
-      @expand-change="handleRowChange"
-      :height="tableConfig.tableHeight || tableHeight"
-      v-loading="tableConfig.loading"
-      element-loading-text="数据加载中"
-      element-loading-spinner="el-icon-loading"
-      @selection-change="handleSelectionChange"
-      @select="selectRow"
-      @select-all="selectAll"
-      @row-click="rowClick"
-      :row-style="{ height: '55px' }"
-      :cell-style="{ padding: '0px' }"
-      @current-change="handleCurrentTableChange"
-      :header-cell-style="{
+    <el-table ref="table" :show-summary="tableConfig.showSummary || false" :data="data" border style="width: 100%"
+      @expand-change="handleRowChange" :height="tableConfig.tableHeight || tableHeight" v-loading="tableConfig.loading"
+      element-loading-text="数据加载中" element-loading-spinner="el-icon-loading" @selection-change="handleSelectionChange"
+      @select="selectRow" @select-all="selectAll" @row-click="rowClick" :row-style="{ height: '55px' }"
+      :cell-style="{ padding: '0px' }" @current-change="handleCurrentTableChange" :header-cell-style="{
         background: '#F2F7FC',
         fontWeight: '700',
         color: '#606266',
-      }"
-      :cell-class-name="rowClass"
-    >
+      }" :cell-class-name="rowClass">
       <el-table-column v-if="tableConfig.expand" type="expand">
         <template slot-scope="scope">
           <slot v-bind="scope" name="expand"></slot>
         </template>
       </el-table-column>
-      <el-table-column
-        type="selection"
-        :width="tableConfig.selectionWidth || '50'"
-        v-if="tableConfig.isCheckBox"
-        align="center"
-      />
-      <el-table-column
-        type="index"
-        :width="tableConfig.indexWidth || '50'"
-        v-if="tableConfig.isShowIndex"
-        align="center"
-        label="序号"
-      />
+      <el-table-column type="selection" :width="tableConfig.selectionWidth || '50'" v-if="tableConfig.isCheckBox"
+        align="center" />
+      <el-table-column type="index" :width="tableConfig.indexWidth || '50'" v-if="tableConfig.isShowIndex"
+        align="center" label="序号" />
       <template v-for="(item, index) in tableConfig.columns">
         <!-- 日期内容 -->
-        <el-table-column
-          v-if="item.type === 'date'"
-          :align="'center'"
-          :fixed="item.fixed"
-          :width="item.width || 150"
-          show-overflow-tooltip
-          :label="item.label"
-          :key="item.prop"
-        >
+        <el-table-column v-if="item.type === 'date'" :align="'center'" :fixed="item.fixed" :width="item.width || 150"
+          show-overflow-tooltip :label="item.label" :key="item.prop">
           <template slot-scope="scope">
             <div>{{ scope.row[item.prop] | formateDate }}</div>
           </template>
         </el-table-column>
         <!-- 字典项 -->
-        <el-table-column
-          v-if="item.type === 'dic'"
-          :align="'center'"
-          :width="item.width || ''"
-          :fixed="item.fixed"
-          show-overflow-tooltip
-          :label="item.label"
-          :key="item.prop"
-          :prop="item.prop"
-        >
+        <el-table-column v-if="item.type === 'dic'" :align="'center'" :width="item.width || ''" :fixed="item.fixed"
+          show-overflow-tooltip :label="item.label" :key="item.prop" :prop="item.prop">
           <template slot-scope="scope">
             <span>{{
               selectDictLabel(dictData[item.dic], scope.row[item.prop])
             }}</span>
           </template>
         </el-table-column>
-        <el-table-column
-          v-if="item.type === 'statMap'"
-          :align="'center'"
-          :width="item.width || ''"
-          :fixed="item.fixed"
-          show-overflow-tooltip
-          :label="item.label"
-          :key="item.prop"
-          :prop="item.prop"
-        >
+        <el-table-column v-if="item.type === 'statMap'" :align="'center'" :width="item.width || ''" :fixed="item.fixed"
+          show-overflow-tooltip :label="item.label" :key="item.prop" :prop="item.prop">
           <template slot-scope="scope">
             <span> {{ statMaps(item.options)[scope.row[item.prop]] }}</span>
           </template>
         </el-table-column>
         <!-- 自定义内容 -->
-        <el-table-column
-          v-if="item.type === 'slot'"
-          :align="'center'"
-          show-overflow-tooltip
-          :name="item.name"
-          :label="item.label"
-          :key="item.prop"
-          :prop="item.prop"
-          :width="item.width || ''"
-        >
+        <el-table-column v-if="item.type === 'slot'" :align="'center'" show-overflow-tooltip :name="item.name"
+          :label="item.label" :key="item.prop" :prop="item.prop" :width="item.width || ''">
           <template slot-scope="scope">
             <slot show-overflow-tooltip v-bind="scope" :name="item.name"></slot>
           </template>
         </el-table-column>
         <!-- 常规文本内容 -->
-        <el-table-column
-          v-if="item.type === 'text'"
-          :align="'center'"
-          :width="item.width || ''"
-          :fixed="item.fixed"
-          :label="item.label"
-          :key="item.prop"
-          :prop="item.prop"
-        ></el-table-column>
+        <el-table-column v-if="item.type === 'text'" :align="'center'" :width="item.width || ''" :fixed="item.fixed"
+          :label="item.label" :key="item.prop" :prop="item.prop"></el-table-column>
 
-        <el-table-column
-          v-if="item.type === 'flag'"
-          :align="'center'"
-          :width="item.width || ''"
-          :fixed="item.fixed"
-          :label="item.label"
-          :key="item.prop"
-          :prop="item.prop"
-        >
+        <el-table-column v-if="item.type === 'flag'" :align="'center'" :width="item.width || ''" :fixed="item.fixed"
+          :label="item.label" :key="item.prop" :prop="item.prop">
           <template slot-scope="scope">
             <div>
               {{ scope.row[item.prop] == "1" ? "是" : "否" }}
@@ -351,13 +166,8 @@
       </template>
       <!-- <slot name="operate" :row="scope.row"></slot> -->
       <!-- 自定义操作栏 -->
-      <el-table-column
-        v-if="tableConfig.operateShow"
-        label="操作"
-        align="center"
-        :min-width="tableConfig.operationWidth || '100'"
-        fixed="right"
-      >
+      <el-table-column v-if="tableConfig.operateShow" label="操作" align="center"
+        :min-width="tableConfig.operationWidth || '100'" fixed="right">
         <template slot-scope="scope">
           <slot name="operate" :row="scope.row"></slot>
         </template>
@@ -373,47 +183,27 @@
             //     click:(row, index) => {return this.modifyFun(row)},
             //   }
             // ] -->
-      <el-table-column
-        v-if="tableConfig.optBtns"
-        :min-width="tableConfig.operationWidth || '100'"
-        label="操作"
-        fixed="right"
-        header-align="center"
-        align="center"
-      >
+      <el-table-column v-if="tableConfig.optBtns" :min-width="tableConfig.operationWidth || '100'" label="操作"
+        fixed="right" header-align="center" align="center">
         <template slot-scope="scope">
           <span v-for="(btn, index) in tableConfig.optBtns" :key="index">
             <!-- <el-button style="margin:0 10px" v-if="!btn.hide || (btn.hide && btn.hide(scope.row))" v-permission="btn.perm"
               @click="btn.click(scope.row, index)" :type="btn.type || 'primary'" :icon="btn.icon" size="small">{{
                 btn.label
               }} </el-button> -->
-            <kt-button
-              style="margin: 0 10px"
-              v-if="!btn.hide || (btn.hide && btn.hide(scope.row))"
-              :icon="btn.icon"
-              :label="btn.label"
-              :type="btn.type || 'primary'"
-              size="small"
-              :perms="btn.perm"
-              @click="btn.click(scope.row, index)"
-            />
+            <kt-button style="margin: 0 10px" v-if="!btn.hide || (btn.hide && btn.hide(scope.row))" :icon="btn.icon"
+              :label="btn.label" :type="btn.type || 'primary'" size="small" :perms="btn.perm"
+              @click="btn.click(scope.row, index)" />
           </span>
         </template>
       </el-table-column>
     </el-table>
     <!-- 分页 -->
     <div class="block" ref="bottomFixed">
-      <el-pagination
-        v-if="tableConfig.isPaginationShow && pagination.totalSize"
-        style="margin-top: 10px"
-        :page-size="pagination.pageSize"
-        :current-page.sync="pagination.pageNum"
-        :total="pagination.totalSize"
-        layout="total, sizes,prev, pager, next,jumper"
-        :page-sizes="[10, 20, 50, 100]"
-        @size-change="handleSizeChange"
-        @current-change="handleCurrentChange"
-      />
+      <el-pagination v-if="tableConfig.isPaginationShow && pagination.totalSize" style="margin-top: 10px"
+        :page-size="pagination.pageSize" :current-page.sync="pagination.pageNum" :total="pagination.totalSize"
+        layout="total, sizes,prev, pager, next,jumper" :page-sizes="[10, 20, 50, 100]" @size-change="handleSizeChange"
+        @current-change="handleCurrentChange" />
     </div>
   </div>
 </template>
@@ -647,9 +437,11 @@ export default {
   text-overflow: ellipsis;
   white-space: nowrap;
 }
+
 .device-wrapper /deep/ .el-form-item {
   margin-bottom: 12px;
 }
+
 /deep/ .el-table {
   overflow-y: auto;
 }

+ 1 - 1
src/components/UserDetail/index.vue

@@ -601,7 +601,7 @@ export default {
       rules: {
         identity: [
           { required: true, message: "请填写身份证号", trigger: "blur" },
-          { validator: validateSfz },
+          // { validator: validateSfz },
         ],
         identityTimeArr: [
           { required: true, message: "请填写身份证有效日期", trigger: "blur" },

+ 1 - 1
src/config/global.js

@@ -30,7 +30,7 @@ export const insCompanyList = [
   { name: "恒邦财险", icon: "../../static/insuranceicon/hengbang.png" },
   { name: "安盛天平", icon: "../../static/insuranceicon/ansheng.png" },
   { name: "中国人寿", icon: "../../static/insuranceicon/renshou.png" },
-  { name: "众安财险", icon: "../../static/insuranceicon/zhongan.png" },
+  { name: "众安平安", icon: "../../static/insuranceicon/zhongan.png" },
   { name: "永诚财险", icon: "../../static/insuranceicon/yongcheng.png" },
   { name: "永安财险", icon: "../../static/insuranceicon/yongan.png" },
   { name: "紫金财险", icon: "../../static/insuranceicon/zijin.png" },

+ 45 - 2
src/http/moudules/insCompany.js

@@ -940,10 +940,53 @@ export const getPartnerDeptTree = (id) => {
     method: "get",
   })
 }
+//新版合伙人
+// 获取上级合伙人列表
+export const partnerselectRecommender = (level) => {
+  return axios({
+    url: '/partner/selectRecommender?level='+level,
+    method: "get",
+  })
+}
 
+//新增合伙人
+export const saveByPartner = (data) => {
+  return axios({
+    url: '/user/saveByPartner',
+    method: "post",
+    data
+  })
+}
+export const newGetPartnerDeptTree = (id) => {
+  return axios({
+    url: '/dept/newGetPartnerDeptTree',
+    method: "get",
+  })
+}
+//列表
+export const partnerqueryPage = (data) => {
+  return axios({
+    url: '/partner/queryPage',
+    method: "post",
+    data
+  })
+}
 
-
-
+//编辑合伙人
+export const updateUserInfo = (userId, data) => {
+  return axios({
+    url: '/user/updateByPartner/' + userId,
+    method: 'post',
+    data
+  })
+}
+//人员关系查询
+export const relationalQuery = (id) => {
+  return axios({
+    url: 'partner/relationalQuery?id=' + id,
+    method: 'get',
+  })
+}
 
 
 /**

+ 69 - 0
src/http/moudules/retail.js

@@ -41,3 +41,72 @@ export const saveRetailBatch = (data) => {
         data
     })
 }
+//合伙人等级规则保存
+export const partnersaveRule = (data) => {
+  return axios({
+      url: '/partner/rule/save',
+      method: 'post',
+      data
+  })
+}
+// 合伙人等级规则查询
+export const partnerqueryRule = () => {
+  return axios({
+      url: '/partner/rule/query',
+      method: 'get',
+  })
+}
+//合伙人佣金规则查询
+export const commissionQuery = () => {
+  return axios({
+      url: '/partner/commission/query',
+      method: 'get',
+  })
+}
+//佣金规则提交
+export const commissionsave = (data) => {
+  return axios({
+      url: 'partner/commission/save',
+      method: 'post',
+      data
+  })
+}
+//合伙人升降级记录
+export const liftingRecordPage = (data) => {
+  return axios({
+      url: '/partner/liftingRecord/queryPage',
+      method: 'post',
+      data
+  })
+}
+// 升降记录审批
+export const liftingRecordaudit = (data) => {
+  return axios({
+      url: '/partner/liftingRecord/audit',
+      method: 'post',
+      data
+  })
+}
+//佣金明细查询
+export const commissionDetailsPage = (data) => {
+  return axios({
+      url: '/partner/commissionDetails/queryPage',
+      method: 'post',
+      data
+  })
+}
+//佣金变更记录查询
+export const kickbackChangequeryPage = (data) => {
+  return axios({
+      url: '/partner/kickbackChange/queryPage ',
+      method: 'post',
+      data
+  })
+}
+// 等级字典列表
+export const queryGradeNamerule = () => {
+  return axios({
+      url: 'partner/rule/queryGradeName',
+      method: 'get',
+  })
+}

+ 8 - 1
src/http/moudules/user.js

@@ -398,7 +398,14 @@ export const findHxUserList = () => {
 
   })
 }
-
+//查询合伙人列表
+export const findPartnerUserList = (data) => {
+  return axios({
+    url: '/user/findPartnerUserList',
+    method: 'post',
+    data
+  })
+}
 
 // 后弦人员管理列表1
 export const findBackUserList1 = (data) => {

+ 163 - 0
src/views/DistributionManage/PartnerManagement/CommissionChangeLog.vue

@@ -0,0 +1,163 @@
+<!-- 模板区域 -->
+<template>
+  <div class="p-2">
+    <!-- 模板内容 -->
+    <el-form :model="pageRequest" size="small" label-width="85px">
+      <el-row :gutter="40">
+        <el-col :span="8">
+          <el-form-item label="姓名">
+            <el-input v-model="pageRequest.name" clearable placeholder="输入姓名查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="手机号">
+            <el-input v-model="pageRequest.mobile" clearable placeholder="输入手机号查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="工号">
+            <el-input v-model="pageRequest.userId" clearable placeholder="输入工号查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="等级">
+            <el-select v-model="pageRequest.userGrade" clearable>
+              <el-option :label="item.gradeName" :value="item.grade" v-for="(item,index) in userGradeList" :key="index"></el-option>
+              <el-option label="团队长" :value="5"></el-option>
+              <el-option label="业务员" :value="6"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="变更时间">
+            <el-date-picker v-model="pageRequest.changeTime" clearable type="daterange" value-format="yyyy-MM-dd"
+              range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item>
+            <el-button size="small" type="primary" @click="findPage">查询</el-button>
+            <el-button size="small" type="default" @click="resetFrom">重置</el-button>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+    <kt-common-table :tableHeights="580" :operationWidth="200" :showOperation="false" :showBatchDelete="false"
+      :data="Result" :columns="Columns" @findPage="findPage">
+    </kt-common-table>
+  </div>
+</template>
+<!-- 行为区域 -->
+<script>
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+
+export default {
+  components: {
+    KtCommonTable
+  },
+  // 数据存放区域
+  data() {
+    return {
+      userGradeList:[],
+      Datelist: [],
+      pageRequest: {
+        pageNum: 1,
+        pageSize: 20,
+        name: "",
+        mobile: "",
+        userId: "",
+        deptId: "",
+        userGrade: "",
+        changeTime: [],//变更时间
+
+      },
+      Columns: [
+        { prop: "name", label: "姓名", minWidth: 180 },
+        { prop: "mobile", label: "手机号", minWidth: 160 },
+        { prop: "userId", label: "工号", minWidth: 120 },
+        { prop: "deptName", label: "所属机构", minWidth: 160 },
+        { prop: "userGrade", label: "用户等级", minWidth: 160 },
+        { prop: "originalCommission", label: "原佣金", minWidth: 160 },
+        { prop: "afterChange", label: "变更后佣金", minWidth: 160 },
+        { prop: "changeReason", label: "变更原因", minWidth: 160 },
+        { prop: "changeTime", label: "变更时间", minWidth: 160 },
+      ],
+      Result: [],
+    }
+  },
+  // 生命周期函数
+  created() {
+    this.userGradeQuery();
+  },
+  // 方法函数
+  methods: {
+    //获取人员等级列表
+    userGradeQuery() {
+      this.$api.retail.queryGradeNamerule().then((res) => {
+        if (res.code == '200') {
+          this.userGradeList=res.data;
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+    //重置表单
+    resetFrom() {
+      this.pageRequest = {
+        pageNum: 1,
+        pageSize: 20,
+        name: "",
+        mobile: "",
+        userId: "",
+        deptId: "",
+        userGrade: "",
+        changeTime: [],//变更时间
+
+      }
+    },
+    findPage(data) {
+      if (data && data.pageRequest) {
+        this.pageRequest.pageNum = data.pageRequest.pageNum;
+        this.pageRequest.pageSize = data.pageRequest.pageSize;
+      } else {
+        this.pageRequest.pageNum = 1;
+        this.pageRequest.pageSize = 20;
+      }
+      this.$api.retail
+        .kickbackChangequeryPage({ ...this.pageRequest })
+        .then((res) => {
+          this.Result = {
+            content: res.data.records,
+            pageNum: res.data.pages,
+            pageSize: res.data.size,
+            totalSize: res.data.total,
+          };
+        });
+    },
+  },
+  // 计算属性
+  computed: {
+  }
+}
+</script>
+<!-- 样式区域 -->
+<style lang='scss' scoped>
+/deep/ .el-form {
+  .el-input {
+    width: 100% !important;
+  }
+
+  .el-select {
+    width: 100% !important;
+  }
+
+  .el-date-editor--daterange {
+    width: 100% !important;
+
+  }
+}
+</style>

+ 151 - 0
src/views/DistributionManage/PartnerManagement/CommissionDetails.vue

@@ -0,0 +1,151 @@
+<!-- 模板区域 -->
+<template>
+  <div class="p-2">
+    <!-- 模板内容 -->
+    <el-form :model="pageRequest" size="small" label-width="85px">
+      <el-row :gutter="40">
+        <el-col :span="8">
+          <el-form-item label="姓名">
+            <el-input v-model="pageRequest.userName" clearable placeholder="输入姓名查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="手机号">
+            <el-input v-model="pageRequest.mobile" clearable placeholder="输入手机号查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="工号">
+            <el-input v-model="pageRequest.userId" clearable placeholder="输入工号查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="等级">
+            <el-select v-model="pageRequest.grade" clearable>
+              <el-option label="全部" value=" "></el-option>
+              <el-option label="创始人" value=" "></el-option>
+              <el-option label="管理人" value=" "></el-option>
+              <el-option label="合伙人" value=" "></el-option>
+              <el-option label="工作室" value=" "></el-option>
+              <el-option label="团队长" value=" "></el-option>
+              <el-option label="业务员" value=" "></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="订单号">
+            <el-input v-model="pageRequest.orderNo" clearable placeholder="输入工号查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="车牌号">
+            <el-input v-model="pageRequest.licenseNo" clearable placeholder="输入工号查找"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="签单时间">
+            <el-date-picker v-model="pageRequest.signingTime" clearable type="daterange" value-format="yyyy-MM-dd"
+              range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item>
+            <el-button size="small" type="primary" @click="onSubmit">查询</el-button>
+            <el-button size="small" type="default" @click="onSubmit">重置</el-button>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+    <kt-common-table :tableHeights="580" :operationWidth="200" :showOperation="false" button2Name="详情"
+      button2Type="text" :button2style="{ color: '#2D4D89' }" @handleButton2="agreementsHistory"
+      :showBatchDelete="false" :data="Result" :columns="Columns" @findPage="findPage">
+    </kt-common-table>
+  </div>
+</template>
+
+<!-- 行为区域 -->
+<script>
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+
+export default {
+  components: {
+    KtCommonTable
+  },
+  // 数据存放区域
+  data() {
+    return {
+      Datelist: [],
+      pageRequest: {
+        pageNum: 1,
+        pageSize: 20,
+        userName: "",//姓名
+        mobile: "",//手机号
+        userId: "",//工号
+        grade: "",//等级
+        orderNo: "",//订单号
+        licenseNo: "",//车牌号
+        signingTime: [],
+      },
+      Columns: [
+        { prop: "orderNo", label: "订单号", minWidth: 180 },
+        { prop: "licenseNo", label: "车牌号", minWidth: 160 },
+        { prop: "premium;", label: "保费", minWidth: 120 },
+        { prop: "signingTime", label: "签单时间", minWidth: 160 },
+        { prop: "grade", label: "等级", minWidth: 160 },
+        { prop: "commissionRate;", label: "佣金比例", minWidth: 160 },
+        { prop: "commission:", label: "佣金", minWidth: 160 },
+        { prop: "userName;", label: "姓名", minWidth: 160 },
+        { prop: "mobile", label: "手机号", minWidth: 160 },
+        { prop: "userId", label: "工号", minWidth: 160 },
+      ],
+      Result: [],
+    }
+  },
+  // 生命周期函数
+  created() {
+  },
+  // 方法函数
+  methods: {
+    findPage(data) {
+      if (data && data.pageRequest) {
+        this.pageRequest.pageNum = data.pageRequest.pageNum;
+        this.pageRequest.pageSize = data.pageRequest.pageSize;
+      } else {
+        this.pageRequest.pageNum = 1;
+        this.pageRequest.pageSize = 20;
+      }
+      this.$api.retail
+        .commissionDetailsPage({ ...this.pageRequest })
+        .then((res) => {
+          this.Result = {
+            content: res.data.records,
+            pageNum: res.data.pages,
+            pageSize: res.data.size,
+            totalSize: res.data.total,
+          };
+        });
+    },
+  },
+  // 计算属性
+  computed: {
+  }
+}
+</script>
+<!-- 样式区域 -->
+<style lang='scss' scoped>
+/deep/ .el-form {
+  .el-input {
+    width: 100% !important;
+  }
+
+  .el-select {
+    width: 100% !important;
+  }
+
+  .el-date-editor--daterange {
+    width: 100% !important;
+
+  }
+}
+</style>

+ 465 - 0
src/views/DistributionManage/PartnerManagement/CommissionRule.vue

@@ -0,0 +1,465 @@
+<!-- 模板区域 -->
+<template>
+  <div class="p-2" style="padding-bottom: 100px;box-sizing: border-box;">
+    <h5>佣金规则</h5>
+    <el-form ref="formRef" :model="from" label-width="150px" size="small" :rules="rules" style="width: 1000px;">
+      <el-form-item label="创始人佣金比例" prop="originator">
+        <el-input v-model="from.originator"></el-input>
+      </el-form-item>
+      <el-form-item label="管理人佣金比例">
+        <div class="flex f-c ">
+          <div class="flex ">
+            <el-form-item label="管理人与合伙人共享" prop="administrator.sharedRatio">
+              <el-input v-model="from.administrator.sharedRatio"></el-input>
+            </el-form-item>
+            <el-form-item label="管理人默认佣金比例" class="ml-1" prop="administrator.defaultRatio">
+              <el-input v-model="from.administrator.defaultRatio"></el-input>
+            </el-form-item>
+          </div>
+          <el-form-item label="佣金有效期" class="m-top-10 spacing " prop="administrator.validityPeriod">
+            <el-radio-group v-model="from.administrator.validityPeriod" class="flex f-c ">
+              <el-radio label="1">不限期</el-radio>
+              <el-radio label="2" class="flex a-c">
+                <span class="mr-2">固定天数</span>
+                <el-form-item v-if="from.administrator.validityPeriod === '2'" label=" 成为该等级后,限期"
+                  prop="administrator.fixedDays">
+                  <el-input class="width" v-model="from.administrator.fixedDays" size="small" style="margin: 0 5px;"
+                    placeholder="请输入1~365的正整数" :maxlength="3">
+                    <template slot="append">天</template>
+                  </el-input>
+                </el-form-item>
+              </el-radio>
+              <el-radio label="3" class="flex a-c">
+                <span>固定日期</span>
+                <div class="flex a-c" v-if="from.administrator.validityPeriod === '3'">
+                  <el-form-item label="成为该等级后,限期" label-width="200px" prop="administrator.startDate">
+                    <el-date-picker class="width" v-model="from.administrator.startDate"
+                      :disabled="['1', '2'].includes(from.administrator.validityPeriod)" type="date" placeholder="选择日期"
+                      value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                  </el-form-item>
+                  <span style="margin: 0 5px;">至</span>
+                  <el-form-item prop="administrator.endDate">
+                    <el-date-picker class="width" v-model="from.administrator.endDate"
+                      :disabled="['1', '2'].includes(from.administrator.validityPeriod)" type="date" placeholder="选择日期"
+                      value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                  </el-form-item>
+                </div>
+              </el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <div class="row flex f-c " v-for="(ruleitem, ruleindex) in from.administrator.rulesRatioList"
+            :key="ruleindex">
+            <div class="flex j-s a-c">
+              <span>合伙人佣金-阶梯{{ ruleindex + 1 }}</span>
+              <span v-if="ruleindex != 0" class="cursor" @click="del('administrator', ruleindex)">删除</span>
+            </div>
+            <div class="flex f-c ">
+              <div class="flex a-c mb-2" v-for="(item, index) in ruleitem.partnerRatioList" :key="index">
+                <!-- 复选框 -->
+                <el-checkbox v-if="index" v-model="item.bf"
+                  @change="handleCheckboxChange(ruleindex, index, 'administrator')"></el-checkbox>
+                <el-checkbox v-else v-model="item.ry"
+                  @change="handleCheckboxChange(ruleindex, index, 'administrator')"></el-checkbox>
+
+                <span style="margin: 0 10px;">{{ index ?
+                  `保费考核&nbsp;&nbsp;&nbsp;&nbsp;下属工作室出单保费` : `人员考核&nbsp;&nbsp;&nbsp;&nbsp;邀请工作室达` }}</span>
+                <!-- 输入框 -->
+                <el-form-item :prop="`administrator.rulesRatioList.${ruleindex}.partnerRatioList.${index}.min`"
+                  :rules="getRules(ruleindex, index, 'min', 'administrator')">
+                  <el-input-number v-model="item.min" size="small" controls-position="right" :min="1" :max="index?100000000:10000" :precision="index?2:0"
+                    style="margin: 0 5px;width: 200px;"></el-input-number>
+                  <span>{{ index ? '元' : '人' }}</span>
+                </el-form-item>
+                <span style="margin: 0 5px;">至</span>
+                <el-form-item :prop="`administrator.rulesRatioList.${ruleindex}.partnerRatioList.${index}.max`"
+                  :rules="getRules(ruleindex, index, 'max', 'administrator')">
+                  <el-input-number v-model="item.max" size="small"  controls-position="right" :min="item.min"  :max="index?100000000:10000" :precision="index?2:0"
+                    style="margin: 0 5px;width: 200px;"></el-input-number>
+                  <span>{{ index ? '元' : '人' }}</span>
+                </el-form-item>
+              </div>
+              <div class="flex a-c">
+                以上条件
+                <el-form-item :prop="`administrator.rulesRatioList.${ruleindex}.allSatisfied`"
+                  :rules="rules.allSatisfied">
+                  <el-select v-model="ruleitem.allSatisfied" placeholder="请选择">
+                    <el-option label="全部满足" :value="1"></el-option>
+                    <el-option label="满足任意一条" :value="2"></el-option>
+                  </el-select>
+                </el-form-item>
+                合伙人获取共享佣金的
+                <el-form-item :prop="`administrator.rulesRatioList.${ruleindex}.kickback`" :rules="rules.kickback">
+                  <el-input class="width" v-model="ruleitem.kickback" size="small" style="margin: 0 5px;"
+                    placeholder="请输入">
+                    <template slot="append">%</template>
+                  </el-input>
+                </el-form-item>
+              </div>
+            </div>
+          </div>
+          <span class="cursor" v-if="from.administrator.rulesRatioList && from.administrator.rulesRatioList.length < 5"
+            @click="rulesAdd('administrator')">添加</span>
+        </div>
+      </el-form-item>
+      <el-form-item label="合伙人佣金比例">
+        <div class="flex f-c ">
+          <div class="flex ">
+            <el-form-item label="合伙人与工作室共享" prop="partner.sharedRatio">
+              <el-input v-model="from.partner.sharedRatio"></el-input>
+            </el-form-item>
+            <el-form-item label="合伙人默认佣金比例" class="ml-1" prop="partner.defaultRatio">
+              <el-input v-model="from.partner.defaultRatio"></el-input>
+            </el-form-item>
+          </div>
+          <el-form-item label="佣金有效期" class="m-top-10 spacing " prop="partner.validityPeriod">
+            <el-radio-group v-model="from.partner.validityPeriod" class="flex f-c ">
+              <el-radio label="1">不限期</el-radio>
+              <el-radio label="2" class="flex a-c">
+                <span class="mr-2">固定天数</span>
+                <el-form-item v-if="from.partner.validityPeriod === '2'" label=" 成为该等级后,限期" prop="partner.fixedDays">
+                  <el-input class="width" v-model="from.partner.fixedDays" type="number" size="small"
+                    style="margin: 0 5px;" placeholder="请输入1~365的正整数" :maxlength="3">
+                    <template slot="append">天</template>
+                  </el-input>
+                </el-form-item>
+              </el-radio>
+              <el-radio label="3" class="flex a-c">
+                <span>固定日期</span>
+                <div class="flex a-c" v-if="from.partner.validityPeriod === '3'">
+                  <el-form-item label="成为该等级后,限期" label-width="200px" prop="partner.startDate">
+                    <el-date-picker class="width" v-model="from.partner.startDate"
+                      :disabled="['1', '2'].includes(from.partner.validityPeriod)" type="date" placeholder="选择日期"
+                      value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                  </el-form-item>
+                  <span style="margin: 0 5px;">至</span>
+                  <el-form-item prop="partner.endDate">
+                    <el-date-picker class="width" v-model="from.partner.endDate"
+                      :disabled="['1', '2'].includes(from.partner.validityPeriod)" type="date" placeholder="选择日期"
+                      value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                  </el-form-item>
+                </div>
+              </el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <div class="row flex f-c " v-for="(ruleitem, ruleindex) in from.partner.rulesRatioList" :key="ruleindex">
+            <div class="flex j-s a-c">
+              <span>工作室佣金-阶梯{{ ruleindex + 1 }}</span>
+              <span v-if="ruleindex != 0" class="cursor" @click="del('partner', ruleindex)">删除</span>
+            </div>
+            <div class="flex f-c ">
+              <div class="flex a-c mb-2" v-for="(item, index) in ruleitem.partnerRatioList" :key="index">
+                <!-- 复选框 -->
+                <el-checkbox v-if="index" v-model="item.bf"
+                  @change="handleCheckboxChange(ruleindex, index, 'partner')"></el-checkbox>
+                <el-checkbox v-else v-model="item.ry"
+                  @change="handleCheckboxChange(ruleindex, index, 'partner')"></el-checkbox>
+                <span style="margin: 0 10px;">{{ index ?
+                  `保费考核&nbsp;&nbsp;&nbsp;&nbsp;下属团队出单保费` : `人员考核&nbsp;&nbsp;&nbsp;&nbsp;邀请团队达` }}</span>
+                <!-- 输入框 -->
+                <el-form-item :prop="`partner.rulesRatioList.${ruleindex}.partnerRatioList.${index}.min`"
+                  :rules="getRules(ruleindex, index, 'min', 'partner')">
+                  <el-input-number v-model="item.min" size="small" controls-position="right" :min="1" :max="index?100000000:10000" :precision="index?2:0"
+                    style="margin: 0 5px;width: 200px;"></el-input-number>
+                  <span>{{ index ? '元' : '人' }}</span>
+                </el-form-item>
+                <span style="margin: 0 5px;">至</span>
+                <el-form-item :prop="`partner.rulesRatioList.${ruleindex}.partnerRatioList.${index}.max`"
+                  :rules="getRules(ruleindex, index, 'max', 'partner')">
+                  <el-input-number v-model="item.max" size="small"  controls-position="right" :min="item.min"  :max="index?100000000:10000" :precision="index?2:0"
+                    style="margin: 0 5px;width: 200px;"></el-input-number>
+                  <span>{{ index ? '元' : '人' }}</span>
+                </el-form-item>
+              </div>
+              <div class="flex a-c">
+                以上条件
+                <el-form-item :prop="`partner.rulesRatioList.${ruleindex}.allSatisfied`" :rules="rules.allSatisfied">
+                  <el-select v-model="ruleitem.allSatisfied" placeholder="请选择">
+                    <el-option label="全部满足" :value="1"></el-option>
+                    <el-option label="满足任意一条" :value="2"></el-option>
+                  </el-select>
+                </el-form-item>
+                工作室获取共享佣金的
+                <el-form-item :prop="`partner.rulesRatioList.${ruleindex}.kickback`" :rules="rules.kickback">
+                  <el-input class="width" v-model="ruleitem.kickback" size="small" style="margin: 0 5px;"
+                    placeholder="请输入">
+                    <template slot="append">%</template>
+                  </el-input>
+                </el-form-item>
+              </div>
+            </div>
+          </div>
+          <span class="cursor" v-if="from.partner.rulesRatioList && from.partner.rulesRatioList.length < 5"
+            @click="rulesAdd('partner')">添加</span>
+        </div>
+      </el-form-item>
+
+    </el-form>
+    <div class="footer flex a-c j-c">
+      <el-button type="primary" size="small" @click="save">保存</el-button>
+    </div>
+  </div>
+</template>
+
+<!-- 行为区域 -->
+<script>
+export default {
+  // 数据存放区域
+  data() {
+    return {
+      from: {
+        administrator: {},
+        partner: {},
+      },
+      rules: {
+        originator: [
+          { required: true, message: '请输入创始人佣金比例', trigger: 'blur' },
+        ],
+        'administrator.sharedRatio': [
+          { required: true, message: '请输入管理人与合伙人共享比例', trigger: 'blur' }
+        ],
+        'administrator.defaultRatio': [
+          { required: true, message: '请输入管理人默认佣金比例', trigger: 'blur' }
+        ],
+        'administrator.validityPeriod': [
+          { required: true, message: '请选择佣金有效期', trigger: 'change' }
+        ],
+        'administrator.fixedDays': [
+          { required: true, message: '请输入固定天数', trigger: 'blur' },
+          { type: 'number', message: '必须为数字', trigger: 'blur', transform: (value) => Number(value) },
+          {
+            validator: (rule, value, callback) => {
+              if (value < 1 || value > 365 || !Number.isInteger(value)) {
+                callback(new Error('必须是1-365的整数'));
+              } else {
+                callback();
+              }
+            },
+            trigger: 'blur'
+          }
+        ],
+        'administrator.startDate': [
+          { required: true, message: '请选择开始日期', trigger: 'change' }
+        ],
+        'administrator.endDate': [
+          { required: true, message: '请选择结束日期', trigger: 'change' }
+        ],
+        'partner.sharedRatio': [
+          { required: true, message: '请输入管理人与合伙人共享比例', trigger: 'blur' }
+        ],
+        'partner.defaultRatio': [
+          { required: true, message: '请输入管理人默认佣金比例', trigger: 'blur' }
+        ],
+        'partner.validityPeriod': [
+          { required: true, message: '请选择佣金有效期', trigger: 'change' }
+        ],
+        'partner.fixedDays': [
+          { required: true, message: '请输入固定天数', trigger: 'blur' },
+          { type: 'number', message: '必须为数字', trigger: 'blur', transform: (value) => Number(value) },
+
+          {
+            validator: (rule, value, callback) => {
+              if (value < 1 || value > 365 || !Number.isInteger(value)) {
+                callback(new Error('必须是1-365的整数'));
+              } else {
+                callback();
+              }
+            },
+            trigger: 'blur'
+          }
+        ],
+        'partner.startDate': [
+          { required: true, message: '请选择开始日期', trigger: 'change' }
+        ],
+        'partner.endDate': [
+          { required: true, message: '请选择结束日期', trigger: 'change' }
+        ],
+        min: [
+          { required: true, message: '请输入最小值', trigger: 'blur' },
+          { type: 'number', message: '必须为数字', trigger: 'blur', transform: (value) => Number(value) }
+        ],
+        max: [
+          { required: true, message: '请输入最大值', trigger: 'blur' },
+          { type: 'number', message: '必须为数字', trigger: 'blur', transform: (value) => Number(value) }
+        ],
+        allSatisfied: [
+          { required: true, message: '请选择条件', trigger: 'change' }
+        ],
+        kickback: [
+          { required: true, message: '请输入佣金比例', trigger: 'blur' },
+          { type: 'number', message: '必须为数字', trigger: 'blur', transform: (value) => Number(value) }
+        ]
+      }
+    }
+  },
+  // 生命周期函数
+  created() {
+    this.Query();
+  },
+  mounted() {
+
+  },
+  // 方法函数
+  methods: {
+    // 处理复选框变化
+    handleCheckboxChange(ruleindex, index, typename) {
+      // 手动触发表单校验
+      this.$refs.formRef.validateField([
+        `${typename}.rulesRatioList.${ruleindex}.partnerRatioList.${index}.min`,
+        `${typename}.rulesRatioList.${ruleindex}.partnerRatioList.${index}.max`
+      ]);
+    },
+    // 动态获取校验规则
+    getRules(ruleindex, index, field, typename) {
+      const item = this.from[typename].rulesRatioList[ruleindex].partnerRatioList[index];
+      const isRequired = index ? item.bf : item.ry; // 根据复选框决定是否必填
+
+      return [
+        { required: isRequired, message: `请输入${field === 'min' ? '最小值' : '最大值'}`, trigger: 'blur' },
+        { type: 'number', message: '必须为数字', trigger: 'blur', transform: (value) => Number(value) }
+      ];
+    },
+    Query() {
+      this.$api.retail.commissionQuery().then((res) => {
+        if (res.code == '200') {
+          this.from = Object.assign({}, res.data);
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+    rulesAdd(Name) {
+      const  info=this.from[Name].rulesRatioList[this.from[Name].rulesRatioList.length-1]
+      console.log(this.from[Name].rulesRatioList[this.from[Name].rulesRatioList.length-1])
+      if(info.partnerRatioList[0].max && info.partnerRatioList[1].max){
+        this.from[Name].rulesRatioList.push({
+        allSatisfied: "",
+        kickback: "",
+        partnerRatioList: [
+          {
+            bf: false,
+            ry: false,
+            max: "",
+            min: info.partnerRatioList[0].max+1,
+          },
+          {
+            bf: false,
+            ry: false,
+            max: "",
+            min: info.partnerRatioList[1].max+1,
+
+          }
+        ]
+      })
+      }else{
+        this.$message({
+            type: 'error',
+            message: '请先将最大值补充完整',
+          });
+      }
+
+    },
+    del(Name, index) {
+      this.from[Name].rulesRatioList.splice(index, 1)
+    },
+    save() {
+      this.$refs.formRef.validate((valid) => {
+        if (valid) {
+          console.log(this.from)
+          console.log('校验通过');
+        } else {
+          console.log('校验失败');
+        }
+      });
+      return;
+      this.$api.retail.commissionsave(this.from).then((res) => {
+        if (res.code == '200') {
+          this.$message({
+            type: 'success',
+            message: res.msg,
+          });
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    }
+  },
+  // 计算属性
+  computed: {
+    propfixedDays() {
+      console.log(this.from.administrator.validityPeriod)
+      return this.from.administrator.validityPeriod == '2' ? 'administrator.fixedDays' : '';
+    }
+  }
+}
+</script>
+<!-- 样式区域 -->
+<style lang='scss' scoped>
+.spacing {
+  .el-radio {
+    margin: 10px 0;
+  }
+}
+
+.cursor {
+  color: #2680F0;
+  cursor: pointer;
+}
+
+.width {
+  width: 220px;
+}
+
+.row {
+  background-color: #f2f2f2;
+  padding: 6px 20px;
+  box-sizing: border-box;
+  width: 100%;
+  border-radius: 5px;
+  margin-bottom: 10px;
+}
+
+.footer {
+  position: fixed;
+  bottom: 0;
+  right: 0;
+  background-color: #fff;
+  z-index: 9;
+  padding: 20px;
+  width: 100%;
+  box-sizing: border-box;
+  box-shadow: 0 0 1px 0 #ccc;
+  transition: all 0.1s, box-shadow 0.5s;
+}
+
+/deep/ .el-form-item__content .el-input-group {
+  vertical-align: unset;
+}
+
+/deep/ {
+  .el-radio,
+  .el-radio__label {
+    display: flex;
+    align-items: center;
+  }
+
+  .el-form {
+    .el-input {
+      width: 200px;
+    }
+
+    .el-form-item .el-form-item {
+      margin-bottom: 0;
+    }
+  }
+}
+</style>

+ 492 - 31
src/views/DistributionManage/PartnerManagement/IevelRule.vue

@@ -5,64 +5,328 @@
     <el-tabs v-model="activeName" @tab-click="handleClick">
       <el-tab-pane label="等级一" name="level1">
         <h5>等级规则</h5>
-        <el-form ref="form" :model="levelForm" label-width="80px" size="small" style="width: 800px;">
+        <el-form ref="form" :model="dataList[0]" label-width="80px" size="small" style="width: 800px;">
           <el-form-item label="等级名称">
-            <el-input v-model="levelForm.name"></el-input>
+            <el-input v-model="dataList[0].gradeName"></el-input>
           </el-form-item>
           <el-form-item label="升级策略">
-            <el-radio-group v-model="levelForm.name">
-              <el-radio :label="3">支持</el-radio>
-              <el-radio :label="6">不支持</el-radio>
+            <el-radio-group v-model="dataList[0].upgrade">
+              <el-radio disabled label="1">支持</el-radio>
+              <el-radio disabled label="2">不支持</el-radio>
             </el-radio-group>
           </el-form-item>
           <el-form-item label="保级策略">
-            <el-radio-group v-model="levelForm.name">
-              <el-radio :label="3">支持</el-radio>
-              <el-radio :label="6">不支持</el-radio>
+            <el-radio-group v-model="dataList[0].relegation">
+              <el-radio disabled label="1">支持</el-radio>
+              <el-radio disabled label="2">不支持</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-form>
       </el-tab-pane>
       <el-tab-pane label="等级二" name="level2">
         <h5>等级规则</h5>
-        <el-form ref="form" :model="levelForm" label-width="80px" size="small" style="width: 800px;">
+        <el-form ref="form" :model="dataList[1].cycle" label-width="80px" size="small" style="width: 800px;">
           <el-form-item label="等级名称">
-            <el-input v-model="levelForm.name"></el-input>
+            <el-input v-model="dataList[1].gradeName"></el-input>
           </el-form-item>
           <el-form-item label="升级策略">
-            <div class="flex f-c m-top-10" >
-              <el-radio-group v-model="levelForm.name">
-                <el-radio :label="3">支持</el-radio>
-                <el-radio :label="6">不支持</el-radio>
+            <div class="flex f-c m-top-10">
+              <el-radio-group v-model="dataList[1].upgrade">
+                <el-radio label="1">支持</el-radio>
+                <el-radio label="2">不支持</el-radio>
               </el-radio-group>
-              <el-form-item label="考核周期"  class="m-top-20 spacing ">
-                  <el-radio-group v-model="levelForm.name" class="flex f-c ">
-                    <el-radio  :label="3">不限期</el-radio>
-                    <el-radio  :label="6">固定天数
-                      成为该等级后,限期
-                      <el-input v-model="levelForm.name" size="small" style="width: 300px;"  placeholder="请输入1~365的正整数"/>
-                      天
-                    </el-radio>
-                    <el-radio :label="6">固定日期</el-radio>
-                  </el-radio-group>
+              <el-form-item label="考核周期" class="m-top-20 spacing " v-if="dataList[1].upgrade == 1">
+                <el-radio-group v-model="dataList[1].cycle.cycle" class="flex f-c ">
+                  <el-radio label="1">不限期</el-radio>
+                  <el-radio label="2">
+                    <span class="mr-2">固定天数</span>
+                    成为该等级后,限期
+                    <el-input class="width" :disabled="['1','3'].includes(dataList[1].cycle.cycle)"
+                      v-model="dataList[1].cycle.fixedDays" size="small" style="margin: 0 5px;"
+                      placeholder="请输入1~365的正整数" :maxlength="3">
+                      <template slot="append">天</template>
+                    </el-input>
+                  </el-radio>
+                  <el-radio label="3">
+                    <span class="mr-2">固定日期</span>
+                    <el-date-picker class="width" v-model="dataList[1].cycle.min"
+                      :disabled="[1, 2].includes(dataList[1].cycle.cycle)" type="date" placeholder="选择日期"
+                      format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                    <span style="margin: 0 5px;">至</span>
+                    <el-date-picker class="width" v-model="dataList[1].cycle.max"
+                      :disabled="[1, 2].includes(dataList[1].cycle.cycle)" type="date" placeholder="选择日期"
+                      format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                  </el-radio>
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item label="考核条件" class="m-top-20 spacing " v-if="dataList[1].upgrade == 1">
+                <div class="flex f-c ">
+                  <div class="flex a-c mb-2" v-for="(item, index) in dataList[1].requirement" :key="index">
+                    <el-checkbox v-model="item.checked"></el-checkbox>
+                    <span style="margin: 0 10px;">{{ index ? '下属成员出单保费' : '邀请合伙人达' }}</span>
+                    <el-input class="width" v-model="item.min" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                    <span style="margin: 0 5px;">至</span>
+                    <el-input class="width" v-model="item.max" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                  </div>
+                </div>
+                <div>
+                  以上条件
+                  <el-select v-model="dataList[1].appraise" placeholder="请选择">
+                    <el-option label="全部满足" value="1"></el-option>
+                    <el-option label="满足任意一条" value="2"></el-option>
+                  </el-select>
+                  即可升级
+                </div>
               </el-form-item>
             </div>
           </el-form-item>
-          <el-form-item label="保级策略">
-            <el-radio-group v-model="levelForm.name">
-              <el-radio :label="3">不保级</el-radio>
-              <el-radio :label="6">任务保级</el-radio>
+          <el-form-item label="保级策略" class="m-top-20 spacing ">
+            <el-radio-group v-model="dataList[1].strategy" class="flex f-c ">
+              <el-radio label="1">不保级</el-radio>
+              <el-radio label="2">
+                <span class="mr-2">任务保级</span>
+                <div v-if="dataList[1].strategy == 2" class="flex f-c mrgin-1">
+                  <div class="flex a-c mb-2" v-for="(item, index) in dataList[1].strategyArray" :key="index">
+                    <el-checkbox v-model="item.checked"></el-checkbox>
+                    <el-input class="width" v-model="item.taskDays" size="small" style="margin: 0 5px;"
+                      placeholder="请输入">
+                      <template slot="append">天内</template>
+                    </el-input>
+                    <span style="margin: 0 10px;">{{ index ? '下属成员出单保费' : '邀请合伙人达' }}</span>
+                    <el-input class="width" v-model="item.min" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                    <span style="margin: 0 5px;">至</span>
+                    <el-input class="width" v-model="item.max" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                  </div>
+                  <div>
+                    以上条件
+                    <el-select v-model="dataList[1].relSatisfy" placeholder="请选择">
+                      <el-option label="全部满足" value="1"></el-option>
+                      <el-option label="满足任意一条" value="2"></el-option>
+                    </el-select>
+                    即可升级
+                  </div>
+                </div>
+              </el-radio>
+              <el-radio :label="3">
+                <span class="mr-2">购买保级</span>
+
+              </el-radio>
             </el-radio-group>
           </el-form-item>
         </el-form>
       </el-tab-pane>
       <el-tab-pane label="等级三" name="level3">
         <h5>等级规则</h5>
+        <el-form ref="form" :model="dataList[2].cycle" label-width="80px" size="small" style="width: 800px;">
+          <el-form-item label="等级名称">
+            <el-input v-model="dataList[2].gradeName"></el-input>
+          </el-form-item>
+          <el-form-item label="升级策略">
+            <div class="flex f-c m-top-10">
+              <el-radio-group v-model="dataList[2].upgrade">
+                <el-radio label="1">支持</el-radio>
+                <el-radio label="2">不支持</el-radio>
+              </el-radio-group>
+              <el-form-item label="考核周期" class="m-top-20 spacing " v-if="dataList[2].upgrade == 1">
+                <el-radio-group v-model="dataList[2].cycle.cycle" class="flex f-c ">
+                  <el-radio label="1">不限期</el-radio>
+                  <el-radio label="2">
+                    <span class="mr-2">固定天数</span>
+                    成为该等级后,限期
+                    <el-input class="width" v-model="dataList[2].cycle.fixedDays" size="small" style="margin: 0 5px;"
+                      placeholder="请输入1~365的正整数">
+                      <template slot="append">天</template>
+                    </el-input>
+                  </el-radio>
+                  <el-radio label="3">
+                    <span class="mr-2">固定日期</span>
+                    <el-date-picker class="width" v-model="dataList[2].cycle.min" type="date" placeholder="选择日期"
+                      format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                    <span style="margin: 0 5px;">至</span>
+                    <el-date-picker class="width" v-model="dataList[2].cycle.max" type="date" placeholder="选择日期"
+                      format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                  </el-radio>
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item label="考核条件" class="m-top-20 spacing " v-if="dataList[2].upgrade == 1">
+                <div class="flex f-c ">
+                  <div class="flex a-c mb-2" v-for="(item, index) in dataList[2].requirement" :key="index">
+                    <el-checkbox v-model="item.checked"></el-checkbox>
+                    <span style="margin: 0 10px;">{{ index ? '下属成员出单保费' : '邀请工作室达' }}</span>
+                    <el-input class="width" v-model="item.min" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                    <span style="margin: 0 5px;">至</span>
+                    <el-input class="width" v-model="item.max" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                  </div>
+                </div>
+                <div>
+                  以上条件
+                  <el-select v-model="dataList[2].appraise" placeholder="请选择">
+                    <el-option label="全部满足" value="1"></el-option>
+                    <el-option label="满足任意一条" value="2"></el-option>
+                  </el-select>
+                  即可升级
+                </div>
+              </el-form-item>
+            </div>
+          </el-form-item>
+          <el-form-item label="保级策略" class="m-top-20 spacing ">
+            <el-radio-group v-model="dataList[2].strategy" class="flex f-c ">
+              <el-radio label="1">不保级</el-radio>
+              <el-radio label="2">
+                <span class="mr-2">任务保级</span>
+                <div v-if="dataList[2].strategy == 2" class="flex f-c mrgin-1">
+                  <div class="flex a-c mb-2" v-for="(item, index) in dataList[2].strategyArray" :key="index">
+                    <el-checkbox v-model="item.checked"></el-checkbox>
+                    <el-input class="width" v-model="item.taskDays" size="small" style="margin: 0 5px;"
+                      placeholder="请输入">
+                      <template slot="append">天内</template>
+                    </el-input>
+                    <span style="margin: 0 10px;">{{ index ? '下属成员出单保费' : '邀请工作室达' }}</span>
+                    <el-input class="width" v-model="item.min" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                    <span style="margin: 0 5px;">至</span>
+                    <el-input class="width" v-model="item.max" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                  </div>
+                  <div>
+                    以上条件
+                    <el-select v-model="dataList[2].relSatisfy" placeholder="请选择">
+                      <el-option label="全部满足" value="1"></el-option>
+                      <el-option label="满足任意一条" value="2"></el-option>
+                    </el-select>
+                    即可升级
+                  </div>
+                </div>
+              </el-radio>
+              <el-radio :label="3">
+                <span class="mr-2">购买保级</span>
+
+              </el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-form>
       </el-tab-pane>
       <el-tab-pane label="等级四" name="level4">
         <h5>等级规则</h5>
+        <el-form ref="form" :model="dataList[3].cycle" label-width="80px" size="small" style="width: 800px;">
+          <el-form-item label="等级名称">
+            <el-input v-model="dataList[3].gradeName"></el-input>
+          </el-form-item>
+          <el-form-item label="升级策略">
+            <div class="flex f-c m-top-10">
+              <el-radio-group v-model="dataList[3].upgrade">
+                <el-radio label="1">支持</el-radio>
+                <el-radio label="2">不支持</el-radio>
+              </el-radio-group>
+              <el-form-item label="考核周期" class="m-top-20 spacing " v-if="dataList[3].upgrade == 1">
+                <el-radio-group v-model="dataList[3].cycle.cycle" class="flex f-c ">
+                  <el-radio label="1">不限期</el-radio>
+                  <el-radio label="2">
+                    <span class="mr-2">固定天数</span>
+                    成为该等级后,限期
+                    <el-input class="width" v-model="dataList[3].cycle.fixedDays" size="small" style="margin: 0 5px;"
+                      placeholder="请输入1~365的正整数">
+                      <template slot="append">天</template>
+                    </el-input>
+                  </el-radio>
+                  <el-radio label="3">
+                    <span class="mr-2">固定日期</span>
+                    <el-date-picker class="width" v-model="dataList[3].cycle.min" type="date" placeholder="选择日期"
+                      format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                    <span style="margin: 0 5px;">至</span>
+                    <el-date-picker class="width" v-model="dataList[3].cycle.max" type="date" placeholder="选择日期"
+                      format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd">
+                    </el-date-picker>
+                  </el-radio>
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item label="考核条件" class="m-top-20 spacing " v-if="dataList[3].upgrade == 1">
+                <div class="flex f-c ">
+                  <div class="flex a-c mb-2" v-for="(item, index) in dataList[3].requirement" :key="index">
+                    <el-checkbox v-model="item.checked"></el-checkbox>
+                    <span style="margin: 0 10px;">{{ index ? '下属成员出单保费' : '邀请团队长达' }}</span>
+                    <el-input class="width" v-model="item.min" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                    <span style="margin: 0 5px;">至</span>
+                    <el-input class="width" v-model="item.max" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                  </div>
+                </div>
+                <div>
+                  以上条件
+                  <el-select v-model="dataList[3].appraise" placeholder="请选择">
+                    <el-option label="全部满足" value="1"></el-option>
+                    <el-option label="满足任意一条" value="2"></el-option>
+                  </el-select>
+                  即可升级
+                </div>
+              </el-form-item>
+            </div>
+          </el-form-item>
+          <el-form-item label="保级策略" class="m-top-20 spacing ">
+            <el-radio-group v-model="dataList[3].strategy" class="flex f-c ">
+              <el-radio label="1">不保级</el-radio>
+              <el-radio label="2">
+                <span class="mr-2">任务保级</span>
+                <div v-if="dataList[3].strategy == 2" class="flex f-c mrgin-1">
+                  <div class="flex a-c mb-2" v-for="(item, index) in dataList[3].strategyArray" :key="index">
+                    <el-checkbox v-model="item.checked"></el-checkbox>
+                    <el-input class="width" v-model="item.taskDays" size="small" style="margin: 0 5px;"
+                      placeholder="请输入">
+                      <template slot="append">天内</template>
+                    </el-input>
+                    <span style="margin: 0 10px;">{{ index ? '下属成员出单保费' : '邀请团队长达' }}</span>
+                    <el-input class="width" v-model="item.min" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                    <span style="margin: 0 5px;">至</span>
+                    <el-input class="width" v-model="item.max" size="small" style="margin: 0 5px;" placeholder="请输入">
+                      <template slot="append">{{ index ? '元' : '人' }}</template>
+                    </el-input>
+                  </div>
+                  <div>
+                    以上条件
+                    <el-select v-model="dataList[3].relSatisfy" placeholder="请选择">
+                      <el-option label="全部满足" value="1"></el-option>
+                      <el-option label="满足任意一条" value="2"></el-option>
+                    </el-select>
+                    即可升级
+                  </div>
+                </div>
+              </el-radio>
+              <el-radio :label="3">
+                <span class="mr-2">购买保级</span>
+
+              </el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-form>
       </el-tab-pane>
     </el-tabs>
+    <div class="footer flex a-c j-c">
+      <el-button type="primary" size="small" @click="saveRule">保存</el-button>
+    </div>
   </div>
 </template>
 
@@ -72,19 +336,194 @@ export default {
   // 数据存放区域
   data() {
     return {
+      checkList: [],
+      dataList: [
+        {
+          "upgrade": "2",//升级
+          "relegation": "2",//保级
+          "grade": "1",//等级
+          "gradeName": "创始人",
+        },
+        {
+          "grade": "2",//等级
+          "gradeName": "管理人",//等级名称
+          "upgrade": "1",//升级策略
+          "strategy": "1",//保级策略
+          "appraise": "1",//考核满足
+          "relSatisfy": "1",//保级满足
+          "cycle": {//考核周期
+            "min": "",
+            "max": "",
+            "cycle": "1",
+            "fixedDays": "",
+            "type": "1"
+          },
+          "requirement": [//考核条件
+            {
+              "min": "",
+              "max": "",
+              "type": "2",
+              "checked": false,
+            },
+            {
+              "min": "",
+              "max": "",
+              "type": "2",
+              "checked": false,
+            }
+          ],
+          "strategyArray": [//保级策略
+            {
+              "min": "",
+              "max": "",
+              "checked": false,
+              "type": "3",
+              "taskDays": null,
+            },
+            {
+              "min": "",
+              "max": "",
+              "checked": false,
+              "type": "3",
+              "taskDays": null,
+            }
+          ],
+        },
+        {
+          "grade": "3",//等级
+          "gradeName": "合伙人",//等级名称
+          "upgrade": "1",//升级策略
+          "strategy": "1",//保级策略
+          "appraise": "1",//考核满足
+          "relSatisfy": "1",//保级满足
+          "cycle": {//考核周期
+            "min": "",
+            "max": "",
+            "cycle": "1",
+            "fixedDays": "",
+            "type": "1"
+          },
+          "requirement": [//考核条件
+            {
+              "min": "",
+              "max": "",
+              "type": "2",
+              "checked": false,
+            },
+            {
+              "min": "",
+              "max": "",
+              "type": "2",
+              "checked": false,
+            }
+          ],
+          "strategyArray": [//保级策略
+            {
+              "min": "",
+              "max": "",
+              "checked": false,
+              "type": "3",
+              "taskDays": null,
+            },
+            {
+              "min": "",
+              "max": "",
+              "checked": false,
+              "type": "3",
+              "taskDays": null,
+            }
+          ],
+        },
+        {
+          "grade": "4",//等级
+          "gradeName": "工作室",//等级名称
+          "upgrade": "1",//升级策略
+          "strategy": "1",//保级策略
+          "appraise": "1",//考核满足
+          "relSatisfy": "1",//保级满足
+          "cycle": {//考核周期
+            "min": "",
+            "max": "",
+            "cycle": "1",
+            "fixedDays": "",
+            "type": "1"
+          },
+          "requirement": [//考核条件
+            {
+              "min": "",
+              "max": "",
+              "type": "2",
+              "checked": false,
+            },
+            {
+              "min": "",
+              "max": "",
+              "type": "2",
+              "checked": false,
+            }
+          ],
+          "strategyArray": [//保级策略
+            {
+              "min": "",
+              "max": "",
+              "checked": false,
+              "type": "3",
+              "taskDays": null,
+            },
+            {
+              "min": "",
+              "max": "",
+              "checked": false,
+              "type": "3",
+              "taskDays": null,
+            }
+          ],
+        }
+      ],
       levelForm: {
         name: "",
       },
-      activeName: 'second'
+      value: "",
+      activeName: 'level1'
     }
   },
   // 生命周期函数
   created() {
+    this.queryRule();
   },
   // 方法函数
   methods: {
     handleClick(tab, event) {
       console.log(tab, event);
+    },
+    saveRule() {
+      this.$api.retail.partnersaveRule(this.dataList).then((res) => {
+        if (res.code == '200') {
+          this.$message({
+            type: 'success',
+            message: res.msg,
+          });
+          this.queryRule();
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+
+    },
+    queryRule() {
+      this.$api.retail.partnerqueryRule().then((res) => {
+        if (res.code == '200') {
+          this.dataList=res.data;
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
     }
   },
   // 计算属性
@@ -94,9 +533,31 @@ export default {
 </script>
 <!-- 样式区域 -->
 <style lang='scss' scoped>
-.spacing{
-  .el-radio{
+.spacing {
+  .el-radio {
     margin: 10px 0;
   }
+
+}
+
+.width {
+  width: 220px;
+}
+
+.footer {
+  position: fixed;
+  bottom: 0;
+  right: 0;
+  background-color: #fff;
+  z-index: 9;
+  padding: 20px;
+  width: 100%;
+  box-sizing: border-box;
+  box-shadow: 0 0 1px 0 #ccc;
+  transition: all 0.1s, box-shadow 0.5s;
+}
+
+/deep/ .el-form-item__content .el-input-group {
+  vertical-align: unset
 }
 </style>

+ 223 - 0
src/views/DistributionManage/PartnerManagement/UpgradeDowngradeRecord.vue

@@ -0,0 +1,223 @@
+<!-- 模板区域 -->
+<template>
+  <div class="">
+    <!-- 模板内容 -->
+    <el-tabs v-model="pageRequest.auditStatus" @tab-click="handleClick">
+      <el-tab-pane :label="`待审核 (${pendingReview})`" name="0"></el-tab-pane>
+      <el-tab-pane :label="`审核通过(${isApproved})`" name="1"></el-tab-pane>
+      <el-tab-pane :label="`审核不通过(${isNotApproved})`" name="2"></el-tab-pane>
+    </el-tabs>
+    <div class="p-2">
+      <el-form :model="pageRequest" size="small" label-width="85px">
+        <el-row :gutter="40">
+          <el-col :span="8">
+            <el-form-item label="姓名">
+              <el-input v-model="pageRequest.name" placeholder="输入姓名查找"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="手机号">
+              <el-input v-model="pageRequest.mobile" placeholder="输入手机号查找"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="工号">
+              <el-input v-model="pageRequest.userId" placeholder="输入工号查找"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="类型">
+              <el-select v-model="pageRequest.type">
+                <el-option label="全部" value=" "></el-option>
+                <el-option label="升级" value="0"></el-option>
+                <el-option label="降级" value="1"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="申请时间">
+              <el-date-picker v-model="pageRequest.applyTime" type="daterange" value-format="yyyy-MM-dd"
+                range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item>
+              <el-button size="small" type="primary">查询</el-button>
+              <el-button size="small" type="default">重置</el-button>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <kt-common-table  ref="commonTable" :tableHeights="520" :operationWidth="200" :showOperation="true" :button2Name="pageRequest.auditStatus=='0'?'通过':''"
+        button2Type="text" :button2style="{ color: '#2D4D89' }" @handleButton2="isOperationPassed" :button3Name="pageRequest.auditStatus=='0'?'拒绝':''"
+        button3Type="text" :button3style="{ color: '#2D4D89' }" @handleButton3="denyOperation" :showBatchDelete="false"
+        :data="Result" :columns="Columns" @findPage="findPage">
+      </kt-common-table>
+    </div>
+    <el-dialog title="驳回原因" :visible.sync="OperationVisible" width="25%">
+      <el-input type="textarea" :rows="3" placeholder="请输入内容" v-model="rejectReason" maxlength="200" show-word-limit>
+      </el-input>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="OperationVisible = false">取 消</el-button>
+        <el-button size="small" type="primary" @click="OperationVisiblesubmit">确 定</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<!-- 行为区域 -->
+<script>
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+
+export default {
+  components: {
+    KtCommonTable
+  },
+  // 数据存放区域
+  data() {
+    return {
+      id: "",
+      rejectReason: "",//驳回原因
+      OperationVisible: false,//拒绝弹窗
+      pendingReview: 0,
+      isApproved: 0,
+      isNotApproved: 0,
+      Datelist: [],
+      pageRequest: {
+        pageNum: 1,
+        pageSize: 20,
+        name: "",//姓名
+        mobile: "",//手机号
+        userId: "",//工号
+        type: "",//类型
+        applyTime: [],//申请时间
+        auditStatus: '0',
+      },
+      Columns: [
+        { prop: "name", label: "姓名", minWidth: 180 },
+        { prop: "mobile", label: "手机号", minWidth: 160 },
+        { prop: "userId", label: "工号", minWidth: 120 },
+        { prop: "deptName", label: "所属机构", minWidth: 160 },
+        { prop: "type", label: "类型", minWidth: 160 },
+        { prop: "originalLevel", label: "原等级", minWidth: 160 },
+        { prop: "afterChange", label: "变更后等级", minWidth: 160 },
+        { prop: "cycle", label: "考核周期", minWidth: 160 },
+        { prop: "upgradeStrategy", label: "升级策略", minWidth: 160 },
+        { prop: "rejectReason", label: "驳回原因", minWidth: 160 },
+        { prop: "createTime", label: "申请时间", minWidth: 160 },
+      ],
+      Result: [],
+    }
+  },
+  // 生命周期函数
+  created() {
+  },
+  // 方法函数
+  methods: {
+    handleClick(tab, event) {
+      this.pageRequest.auditStatus = tab.name;
+      this.findPage();
+    },
+    isOperationPassed({ row, column }) {
+      this.$api.retail.liftingRecordaudit({
+        id: row.id,
+        auditStatus: "1",
+      }).then((res) => {
+        if (res.code == '200') {
+          this.$message({
+            type: 'success',
+            message: res.msg,
+          });
+          this.findPage();
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+    denyOperation({ row, column }) {
+      this.OperationVisible = true;
+      this.id = row.id;
+    },
+    OperationVisiblesubmit() {
+      this.$api.retail.liftingRecordaudit({
+        id: this.id,
+        auditStatus: "2",
+        rejectReason: this.rejectReason,
+      }).then((res) => {
+        if (res.code == '200') {
+          this.$message({
+            type: 'success',
+            message: res.msg,
+          });
+          this.OperationVisible = false;
+          this.findPage();
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+    findPage(data) {
+      if (data && data.pageRequest) {
+        this.pageRequest.pageNum = data.pageRequest.pageNum;
+        this.pageRequest.pageSize = data.pageRequest.pageSize;
+      } else {
+        this.pageRequest.pageNum = 1;
+        this.pageRequest.pageSize = 20;
+      }
+      this.$api.retail
+        .liftingRecordPage({ ...this.pageRequest })
+        .then((res) => {
+          this.Result = {
+            content: res.data.records,
+            pageNum: res.data.pages,
+            pageSize: res.data.size,
+            totalSize: res.data.total,
+          };
+          res.data.groupCount.map(val => {
+            switch (val.auditStatus) {
+              case 0:
+                this.pendingReview = val.count
+                break;
+              case 1:
+                this.isApproved = val.count
+                break;
+              case 2:
+                this.isNotApproved = val.count
+                break;
+              default:
+            }
+            return val;
+          })
+
+        });
+    },
+  },
+  // 计算属性
+  computed: {
+  }
+}
+</script>
+<!-- 样式区域 -->
+<style lang='scss' scoped>
+/deep/ .el-form {
+  .el-input {
+    width: 100% !important;
+  }
+
+  .el-select {
+    width: 100% !important;
+  }
+
+  .el-date-editor--daterange {
+    width: 100% !important;
+
+  }
+}
+</style>

+ 1 - 1
src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyintasks.vue

@@ -1601,7 +1601,7 @@ export default {
                 case "中国人寿":
                 case "太平财险":
                 case "华农财险":
-                case "众安财险":
+                case "众安平安":
                   if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                     this.$api.letter
                       .pythongetPolicyPrint({

+ 1 - 1
src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyuntasks.vue

@@ -1508,7 +1508,7 @@ export default {
                 case "中国人寿":
                 case "太平财险":
                 case "华农财险":
-                case "众安财险":
+                case "众安平安":
                   if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                     this.$api.letter
                       .pythongetPolicyPrint({

+ 1 - 1
src/views/Letter/ElectricSalescost.vue

@@ -1058,7 +1058,7 @@ export default {
                 case "中国人寿":
                 case "太平财险":
                 case "华农财险":
-                case "众安财险":
+                case "众安平安":
                 case "泰康财险":
                   if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                     this.$api.letter

+ 9 - 9
src/views/PeopleManage/Partner.vue

@@ -164,7 +164,7 @@
               <el-col :span="8" v-if="dialogTitle == '新增合伙人'">
                 <el-form-item label="上级合伙人" prop="referrerId">
                   <el-select
-                  filterable 
+                  filterable
                     :disabled="formData.level==1"
                     style="width: 100%"
                     v-model="formData.referrerId"
@@ -384,7 +384,7 @@
             @valids="valids"
             :isSpeciality="true"
           ></userDetail>
-          
+
           <div class="footerHandle" style="text-align: right">
             <!-- <el-button size="small" type="primary" @click="activeName = '1'"
               >上一步</el-button
@@ -693,7 +693,7 @@ export default {
               return this.handleTableEdit(row);
             },
           },
-          
+
           // {
           //   label: "删除",
           //   type:'text',
@@ -760,7 +760,7 @@ export default {
               label:'五级',
               value:'5'
             },
-          ] 
+          ]
         },
           {
             prop: "agencyName",
@@ -881,10 +881,10 @@ export default {
       relationshipVisible:false,
       listData:{},
       pageResultrelationship:[],
-      
+
     };
   },
- 
+
   created() {
     this.findPage();
     this.searchLeaderFun();
@@ -912,7 +912,7 @@ export default {
         this.formDataRules.referrerId[0].required=true
 
       }
-     
+
     },
       //联级选择器触发事件
       handleChange(val) {
@@ -1104,8 +1104,8 @@ export default {
           }
         });
         this.proportionData.proportion='0.5'
-        
-      
+
+
     },
     // 关系查询
     relationship(row){

+ 1102 - 0
src/views/PeopleManage/Partner/PartnerReview.vue

@@ -0,0 +1,1102 @@
+<template>
+  <div>
+    <el-main ref="elMain" style="padding: 0px">
+      <Split :gutterSize="2" style="height: calc(100vh - 120px)">
+        <!-- 左侧树Start -->
+        <SplitArea :size="leftSplitWidth" :minSize="240">
+          <div>
+            <!-- 左侧树形结构 -->
+            <el-tree
+              :data="ztreeNodes"
+              :props="{ children: 'children', label: 'name' }"
+              node-key="id"
+              :default-expanded-keys="['9']"
+              @node-click="onZTreeClick"
+            ></el-tree>
+          </div>
+        </SplitArea>
+        <!-- 左侧树End -->
+
+        <!-- 右侧列表页面Start -->
+        <SplitArea :size="rightSplitWidth">
+          <!-- 筛选区域Start -->
+          <el-row class="queryFrom">
+            <el-form ref="queryFormRef" :model="queryFrom" label-width="80px">
+              <el-row>
+                <el-col :span="5">
+                  <el-form-item label="工号">
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="工号"
+                      v-model="queryFrom.userId"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="姓名">
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="姓名"
+                      v-model="queryFrom.name"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="手机号">
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="手机号"
+                      v-model="queryFrom.mobile"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="状态">
+                    <el-select
+                      size="small"
+                      style="width: 200px"
+                      clearable
+                      v-model="queryFrom.status"
+                      placeholder="请选择"
+                    >
+                      <el-option
+                        v-for="val in user_statusoptions"
+                        :label="val.label"
+                        :value="val.value"
+                        :key="val.id"
+                      ></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="领导人">
+                    <el-select
+                      size="small"
+                      style="width: 215px"
+                      clearable
+                      filterable
+                      v-model="queryFrom.leaderId"
+                      placeholder="请选择"
+                    >
+                      <el-option
+                        v-for="item in searchLeaderOptions"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.name"
+                      >
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label>
+                    <el-button
+                      size="small"
+                      type="primary"
+                      @click="queryStaffInfo"
+                      >查询</el-button
+                    >
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-form>
+          </el-row>
+
+          <kt-common-table
+            permsButton1="sys:agent:examine"
+            :data="pageResult"
+            :columns="columns"
+            :showBatchDelete="false"
+            @findPage="findPage"
+            :button7Name="'审核'"
+            :button7Status="'离司待审核'"
+            @handleButton7="handleTableEdit"
+            :button8Name="'审核'"
+            :button8Status="'入司待审核'"
+            @handleButton8="handleTableEdit"
+            @handleButton3="handleTableEdit1"
+            :button3Name="'详情'"
+            :button10Name="'审核'"
+            :button10Status="'修改待审核'"
+            @handleButton10="handleTableEdit"
+          ></kt-common-table>
+          <!--
+            @handleButton1="handleTableEdit"
+            :button1Name="'审核'"
+           -->
+        </SplitArea>
+        <!-- 右侧列表页面End -->
+      </Split>
+    </el-main>
+
+    <el-dialog
+      :title="dialogTitle"
+      width="60%"
+      top="5vh"
+      :visible.sync="dialogVisible"
+      :close-on-click-modal="false"
+      :before-close="handleDialogBefore"
+      :show-close="false"
+      @close="closeDialog"
+      v-dialogDrag
+      class="people-style"
+    >
+      <el-tabs v-model="activeName" class="tab-style">
+        <el-tab-pane label="基本信息" name="1">
+          <el-form
+            :model="formData"
+            disabled
+            ref="formData"
+            :inline="true"
+            @keyup.enter.native="nextStep()"
+            label-width="110px"
+            size="small"
+            label-position="top"
+            class="personnelInformation"
+          >
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="机构名称" prop="deptId">
+                  <el-cascader
+                    style="width: 100%"
+                    :options="ztreeNodes"
+                    v-model="formData.pdeptId"
+                    clearable
+                    :show-all-levels="false"
+                    :props="{
+                      value: 'id',
+                      label: 'name',
+                      checkStrictly: true,
+                    }"
+                    @change="handleChange"
+                  >
+                  </el-cascader> </el-form-item
+              ></el-col>
+              <el-col :span="8">
+                <el-form-item label="机构部门" prop="deptId">
+                  <el-cascader
+                    style="width: 100%"
+                    :options="ztreeNodes"
+                    v-model="formData.deptId"
+                    clearable
+                    :show-all-levels="false"
+                    :props="{
+                      value: 'id',
+                      label: 'name',
+                      checkStrictly: true,
+                    }"
+                    @change="handleChange"
+                  >
+                  </el-cascader> </el-form-item
+              ></el-col>
+              <el-col :span="8">
+                <el-form-item label="岗位" prop="positionId">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.positionId"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in postOption"
+                      :label="val.postName"
+                      :value="val.postId"
+                      :key="val.postId"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="工号" prop="id">
+                  <el-input v-model="formData.id" disabled
+                  style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="姓名" prop="name">
+                  <el-input v-model="formData.name"
+                  style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="手机号" prop="mobile">
+                  <el-input v-model="formData.mobile"
+                  style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="入司时间">
+                  <el-date-picker
+                    style="width: 100%"
+                    v-model="formDataDetail.entryTime"
+                    type="date"
+                    placeholder="选择日期"
+                    popper-class="select-prop"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="状态" prop="status">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.status"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in user_statusoptions"
+                      :label="val.label"
+                      :value="val.value"
+                      :key="val.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="角色" prop="roleId">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.roleId"
+                    placeholder="请选择"
+                    disabled
+                  >
+                    <el-option
+                      v-for="val in roles"
+                      :label="val.name"
+                      :value="val.id + ''"
+                      :key="val.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+
+              <el-col :span="8">
+                <el-form-item label="管理人" prop="leaderId">
+                  <el-select
+                    style="width: 100%"
+                    clearable
+                    filterable
+                    v-model="formData.leaderId"
+                    placeholder="请选择"
+                    popper-class="select-prop"
+                  >
+                    <el-option
+                      v-for="val in leaderOptions"
+                      :label="val.name"
+                      :value="val.id"
+                      :key="val.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="管理人工号" prop="leaderName">
+                  <el-input v-model="formData.leaderId" disabled
+                  style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="代理人资格证号" prop="agentQualificationCode">
+                  <el-input
+                    style="width: 100%"
+                    v-model="formDataDetail.agentQualificationCode"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="推荐人" prop="referrerId">
+                  <el-select
+                    style="width: 100%"
+                    clearable
+                    v-model="formData.referrerId"
+                    placeholder="请选择"
+                    popper-class="select-prop"
+                    :disabled="!!formData.referrerId"
+                  >
+                    <el-option
+                      v-for="val in recommenderOptions"
+                      :label="val.name"
+                      :value="val.id"
+                      :key="val.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="推荐人工号" prop="referrerName">
+                  <el-input v-model="formData.referrerId" disabled
+                  style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+             </el-row>
+          </el-form>
+          <div class="footerHandle" style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="
+                border: 1px solid #D42426;
+                color: #D42426;
+              "
+              class="closeBtn"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <el-button size="small" type="primary" @click="nextStep('2')"
+              >下一步</el-button
+            >
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="详细信息" name="2">
+          <userDetail
+            :formData="formData"
+            :formDataDetail="formDataDetail"
+            isDisabled
+            ref="formDataDetails"
+            showTjr
+            :showThirdParty="true"
+          ></userDetail>
+          <div class="footerHandle" style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="
+                border: 1px solid #D42426;
+                color: #D42426;
+              "
+              class="closeBtn"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <!-- <el-button size="small" type="primary" @click="nextStep('1')"
+              >上一步</el-button
+            > -->
+            <el-button size="small" type="primary" @click="nextStep('3')"
+              >下一步</el-button
+            >
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="影像资料" name="3">
+          <el-form
+            :model="formDataDetail"
+            ref="formDataDetail"
+            :inline="true"
+            label-width="130px"
+            size="small"
+            class="peopleImage"
+          >
+            <peopleImage
+              :dataForm="dataForm"
+              :carfrontImg="true"
+              :dialogVisible="dialogVisible"
+              isDisabled
+            ></peopleImage>
+          </el-form>
+          <div class="footerHandle" style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="
+                border: 1px solid #D42426;
+                color: #D42426;
+              "
+              class="closeBtn"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <!-- <el-button size="small" type="primary" @click="nextStep('2')"
+              >上一步</el-button
+            > -->
+            <el-button
+              v-show="dialogTitle == '审核代理人'"
+              size="mini"
+              type="primary"
+              style="background-color: #0ec216; border: 1px solid #0ec216"
+              @click="submitForm(1)"
+              >审核通过</el-button
+            >
+            <el-button
+              v-show="dialogTitle == '审核代理人'"
+              size="mini"
+              type="danger"
+              style="background-color: #de504c; border: 1px solid #de504c"
+              @click="submitForm(2)"
+              >审核驳回</el-button
+            >
+          </div>
+        </el-tab-pane>
+      </el-tabs>
+    </el-dialog>
+
+    <!-- 驳回理由 -->
+    <el-dialog
+      title="驳回"
+      width="40%"
+      :visible.sync="showRemark"
+      @close="closeDialogOut"
+    >
+      <el-form>
+        <el-form-item label="备注" prop="remark">
+          <el-input
+            style="width: 30vw"
+            v-model="formDataDetail.remark"
+            type="textarea"
+            :autosize="{ minRows: 4, maxRows: 6 }"
+            placeholder="请输入内容"
+            prop="remark"
+            maxlength="200"
+            show-word-limit
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <span slot="footer">
+        <el-button type="primary" @click="handleSubOut">确定</el-button>
+        <el-button @click="closeDialogOut">取消</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import tree from "@/components/ztree.vue"; // 机构树组件
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+import peopleImage from "@/components/PeopleImage/index.vue"; //影像组件
+import userDetail from "@/components/UserDetail/index.vue"; // 详情信息
+import mixa from "../mixin";
+const mixin = new mixa({
+  treeTypeNum: 2, //树分类过滤参数
+});
+export default {
+  components: {
+    tree,
+    KtCommonTable,
+    peopleImage,
+    userDetail,
+  },
+  mixins: [mixin],
+  data() {
+    return {
+      deptId: "99",
+      searchLeaderOptions: {},
+      showRemark: false, // 驳回弹窗
+      activeName: "1",
+      pageData: {
+        pageNum: 1,
+        pageSize: 20,
+        deptId: JSON.parse(localStorage.getItem("user_data")).deptId,
+        userId: "",
+        realName: "",
+        mobile: "",
+      },
+      formData: {},
+      formDataRules: {
+        remark: [
+          { required: true, message: "请填写驳回原因", trigger: "blur" },
+        ],
+      },
+      formDataDetail: {},
+      filterObject: {},
+      peopleid: "",
+      peopledeptid: "",
+      recommenderList: [],
+      teamleadername: "",
+      teamleaderid: "",
+      // 右侧列表查询数据Start
+      queryFrom: {},
+      pageResult: {},
+      columns: [
+        // 数据列
+        { prop: "deptId", label: "部门编码", minWidth: 80, sortable: false },
+        {
+          prop: "pdeptName",
+          label: "机构名称",
+          minWidth: 120,
+          sortable: false,
+        },
+
+        { prop: "deptName", label: "部门名称", minWidth: 80, sortable: false },
+
+        { prop: "userId", label: "工号", minWidth: 80, sortable: false },
+        { prop: "name", label: "姓名", minWidth: 120, sortable: false },
+        {
+          prop: "sex",
+          label: "性别",
+          minWidth: 80,
+          sortable: false,
+          isSex: true
+        },
+        { prop: "mobile", label: "联系电话", minWidth: 100, sortable: false },
+        {
+          prop: "roleId",
+          label: "角色",
+          minWidth: 80,
+          sortable: false,
+        },
+        {
+          prop: "submitTime",
+          label: "提交时间",
+          type: "text",
+          minWidth: 100,
+        },
+        {
+          prop: "approveTime",
+          label: "审核时间",
+          type: "text",
+          minWidth: 100,
+        },
+        {
+          prop: "approveBy",
+          label: "审核人",
+          type: "text",
+          minWidth: 100,
+        },
+        {
+          prop: "status",
+          label: "状态",
+          minWidth: 120,
+          sortable: false,
+          isStatus: true
+        },
+      ],
+      dialogTitle: "",
+      dialogVisible: false, // 新增编辑界面是否显示
+      departmentList: [], // 选中公司的所有部门的集合
+      deptInfo: {}, //选中机构的基本信息
+      option: [], //机构列表
+      //影像资料
+      dataForm: {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+      },
+      //影像上传列表
+      imagesIdList: [],
+      leaderOptions: [],
+      recommenderOptions: [],
+    };
+  },
+  created() {
+    this.getDictItems("user_status");
+    this.searchLeaderFun();
+  },
+  methods: {
+    async searchLeaderFun() {
+      await this.$api.user.findHxUserList().then((res) => {
+        this.leaderOptions = res.data;
+      });
+      this.$api.user
+      .findBackListByDeptId({ deptId: this.deptId })
+      .then((res) => {
+        this.searchLeaderOptions = res.data;
+      });
+    },
+    handleSubOut() {
+      if (!this.formDataDetail.remark) {
+        this.$message.error("请在详细信息填写驳回原因");
+        return;
+      }
+      this.$refs.formDataDetail.validate((valid) => {
+        if (valid) {
+          this.$api.user
+            .getApprovalNotPass({
+              userId: this.formData.id,
+              reason: this.formDataDetail.remark,
+            })
+            .then((result) => {
+              if (result.code == 200 && result.data) {
+                this.$message({
+                  message: "审核已驳回",
+                  type: "success",
+                });
+                this.findPage();
+                this.closeDialogOut();
+                this.dialogVisible = false;
+              }
+            });
+        }
+      });
+    },
+    closeDialogOut() {
+      this.showRemark = false;
+    },
+    handleDialogBefore(done) {
+      // 退出对话框之前确认提示
+      var that = this;
+      this.$confirm("确认关闭?")
+        .then((_) => {
+          done();
+        })
+        .catch((_) => {});
+    },
+    // 查询Start
+    queryStaffInfo() {
+      this.pageData.realName = this.queryFrom.name;
+      this.pageData.mobile = this.queryFrom.mobile;
+      this.pageData.userId = this.queryFrom.userId;
+      this.pageData.status = this.queryFrom.status;
+      this.findPage();
+    },
+    onZTreeClick: function (evt, treeId, treeNode) {
+      // 点击事件
+      this.currentTreeNode = evt;
+      this.pageData.deptId = this.currentTreeNode.id;
+      this.pageData.pageNum = 1;
+      this.findPage();
+      this.formData.deptId = [];
+      this.platform(treeId);
+      this.searchLeaderFun();
+
+    },
+    platform(array) {
+      if (!array.parent) {
+        return;
+      }
+      this.formData.deptId.unshift(array.data.id);
+      this.platform(array.parent);
+    },
+
+    // 右侧列表的方法Start
+    findPage(data) {
+      // 获取分页数据
+      if (data && data.pageRequest) {
+        this.pageData.pageNum = data.pageRequest.pageNum;
+        this.pageData.pageSize = data.pageRequest.pageSize;
+      }
+      let dto = {
+        deptId: this.deptId,
+        mobile: this.pageData.mobile,
+        name: this.pageData.realName,
+        userId: this.pageData.userId,
+        status: this.pageData.status,
+        leaderName: this.queryFrom.leaderId,
+        roleId: "20",
+        agentFlag: "2",
+        examine:1,
+      };
+      this.$api.user
+        // .findPage({
+        .findPartnerUserList({
+          dto,
+          pageNum: this.pageData.pageNum,
+          pageSize: this.pageData.pageSize,
+        })
+        .then((res) => {
+          res.data.records.forEach((val) => {
+            if (val.sex && val.sex !== "" && val.sex !== null) {
+              val.sex = this.sexoptions.find(
+                (ele) => ele.value == val.sex
+              ).label;
+            }
+            if (val.status && val.status !== "" && val.status !== null) {
+              val.status = this.user_statusoptions.find(
+                (ele) => ele.value == val.status
+              ).label;
+            }
+            val.roleId = val.roleName;
+          });
+          // this.pageResult = res.data;
+          this.pageResult = {
+            content: res.data.records,
+            pageNum: res.data.current,
+            pageSize: res.data.size,
+            totalPages: res.data.pages,
+            totalSize: res.data.total,
+          };
+          this.pageData.pageNum = res.data.current;
+          this.pageData.pageSize = res.data.size;
+          this.pageData.totalSize = res.data.total;
+        });
+    },
+    // 新增或修改的弹出框Start
+    getDictItems(typeName) {
+      //--数据字典--
+      this.$api.dict
+        .findByLableName(typeName)
+        .then((response) => {
+          let arr=response.data.filter(e=>(e.value!=='0' &&  e.value!=='1'))
+          this[typeName + "options"] = arr; // 把获取到的数据赋给this.data
+        })
+        .catch((error) => {
+          this[typeName + "options"] = [];
+        });
+    },
+    closeDialog() {
+      this.$refs["formData"].resetFields();
+      for (let key in this.formData) {
+        this.formData[key] = "";
+      }
+      this.dialogVisible = false;
+    },
+    // 下一步
+    nextStep(num) {
+      this.$refs.formData.validate((valid) => {
+        if (valid) {
+          this.activeName = num;
+        }
+      });
+    },
+    handleTableEdit1(params) {
+      this.dataForm = {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+        LZ_01: "",
+      };
+      this.$api.user.getUserDatail(params.row.userId).then((res) => {
+        if (res.code == 200) {
+          res.data.sysUser.status += "";
+        this.$api.user
+          .selectfindByreferrerId({ deptId: res.data.sysUser.deptId })
+          .then((res) => {
+            this.recommenderOptions = res.data;
+          });
+          if (res.data.esmUserImageVo.length > 0) {
+            res.data.esmUserImageVo.forEach((item) => {
+              item.path = process.env.BASE_URL + item.path;
+                            this.dataForm[item.type] = item.path;
+            });
+          }
+          res.data.sysUser.identityTimeArr = res.data.sysUser.identityTime ? res.data.sysUser.identityTime.split(',') : []
+          this.formData = res.data.sysUser;
+          this.formDataDetail = res.data.sysUserInfo
+            ? res.data.sysUserInfo
+            : {};
+        }
+      });
+      this.dialogTitle = "详情";
+      this.dialogVisible = true;
+    },
+    handleTableEdit(params) {
+      this.dataForm = {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+        LZ_01: "",
+      };
+      this.$api.user.getUserDatail(params.row.userId).then((res) => {
+        if (res.code == 200) {
+          res.data.sysUser.status += "";
+          res.data.sysUser.identityTimeArr = res.data.sysUser.identityTime ? res.data.sysUser.identityTime.split(',') : []
+          this.formData = res.data.sysUser;
+        this.$api.user
+          .selectfindByreferrerId({ deptId: res.data.sysUser.deptId })
+          .then((res) => {
+            this.recommenderOptions = res.data;
+          });
+          if (res.data.esmUserImageVo.length > 0) {
+            res.data.esmUserImageVo.forEach((item) => {
+              item.path = process.env.BASE_URL + item.path;
+              this.dataForm[item.type] = item.path;
+            });
+          }
+          this.formDataDetail = res.data.sysUserInfo
+            ? res.data.sysUserInfo
+            : {};
+        }
+      });
+      this.dialogTitle = "审核代理人";
+      this.dialogVisible = true;
+    },
+    //联级选择器触发事件
+    handleChange(val) {
+      if (val.length !== 0) {
+        this.formData.deptId = val.at(-1);
+        this.$api.user
+          .selectfindByreferrerId({ deptId: this.formData.deptId })
+          .then((res) => {
+            this.recommenderOptions = res.data;
+          });
+        this.$api.user
+          .findListByDeptId({ deptId: this.formData.deptId })
+          .then((res) => {
+            this.leaderOptions = res.data;
+          });
+      }
+    },
+    submitForm(type) {
+      if (type == 1) {
+        this.$api.user.getApprovalPass(this.formData.id).then((result) => {
+          if (result.code == 200 && result.data) {
+            this.$message({
+              message: "审核已通过",
+              type: "success",
+            });
+            this.findPage();
+            this.dialogVisible = false;
+          }
+        });
+      } else {
+        this.showRemark = true;
+        return;
+        if (!this.formDataDetail.remark) {
+          this.$message.error("请在详细信息填写驳回原因");
+          return;
+        }
+        this.$refs.formDataDetail.validate((valid) => {
+          if (valid) {
+            this.$api.user
+              .getApprovalNotPass({
+                userId: this.formData.id,
+                reason: this.formDataDetail.remark,
+              })
+              .then((result) => {
+                if (result.code == 200 && result.data) {
+                  this.$message({
+                    message: "审核已驳回",
+                    type: "success",
+                  });
+                  this.findPage();
+                  this.dialogVisible = false;
+                }
+              });
+          }
+        });
+      }
+    },
+  },
+};
+</script>
+
+<style scoped>
+.el-divider--horizontal {
+  margin: 4px 0;
+}
+
+/* 顶部查询条件样式Start */
+.queryFrom .el-row {
+  margin: 10px 0px;
+}
+
+.queryFrom .el-form-item {
+  margin-bottom: 0px;
+}
+
+.queryFrom .queryButton .el-form-item__content {
+  margin-left: 0px !important;
+}
+</style>
+
+<style lang="scss" scoped>
+>>> .el-tabs__item:hover {
+  // color: #2d4d89;
+}
+>>> .el-tabs__item.is-active {
+  color: #fff;
+  // background: #2d4d89;
+  transition: all ease 0.5s;
+}
+>>> .el-tabs__active-bar {
+  // background-color: #2d4d89;
+}
+>>> .el-tabs__item.is-top:nth-child(2) {
+  padding-left: 20px !important;
+}
+>>> .el-tabs--top .el-tabs__item.is-top:last-child {
+  padding-right: 20px !important;
+}
+
+.el-tabs {
+  >>> .el-input__inner:focus,
+  >>> .el-select .el-input.is-focus .el-input__inner {
+    border-color: #D42426;
+  }
+  .el-button--primary,
+  .el-button--primary:focus {
+    background-color: #D42426;
+    border-color: #D42426;
+  }
+}
+.select-prop {
+  .el-select-dropdown__item.selected,
+  .el-date-table td.available:hover {
+    color: #D42426;
+  }
+  .el-date-table td.current:not(.disabled) span {
+    background-color: #D42426;
+  }
+}
+</style>
+
+<style lang="scss" scoped>
+.people-style {
+  // max-height: 500px;
+  .footerHandle{
+    // border-radius: 6px;
+    border-top: 1px solid #f2f2f2;
+    margin-top: 0 !important;
+    .el-button{
+      width: 90px;
+      height: 36px;
+      font-size: 16px;
+      margin-left: 24px;
+      font-weight: 310;
+    }
+    .el-button--danger:focus, .el-button--danger:hover{
+      color: #fff;
+    }
+  }
+  .peopleImage{
+    padding: 0 !important;
+    margin: 0 0 0 6px !important;
+  }
+  .closeBtn{
+    background: #fff !important;
+  }
+  .el-col{
+    width: calc(33.3333% - 20px);
+    margin-right: 20px;
+  }
+  .personnelInformation{
+    padding: 0 !important;
+    margin: 0 0 0 20px !important;
+    max-height: 470px;
+    .el-form-item{
+      width: 100%;
+      margin-bottom: 20px;
+      margin-right: 0px;
+      >>>.el-form-item__label{
+        font-size: 14px;
+        line-height: 16px;
+        color: #262626;
+        padding-bottom: 10px;
+      }
+      >>>.el-input__inner{
+      padding-left: 10px !important;
+      font-size: 14px;
+      font-weight: 500;
+      color: #333;
+      font-family: PingFang SC, PingFang SC;
+      border: 1px solid #eee;
+      &::placeholder{
+        color: #999999;
+        font-weight: 300;
+      }
+    }
+    >>>.el-textarea__inner{
+      padding: 10px;
+      border: 1px solid #eeeeee;
+      font-weight: 500;
+      font-size: 14px;
+      color: #333;
+      font-family: PingFang SC, PingFang SC;
+      &::placeholder{
+        color: #999999;
+        font-weight: 300;
+      }
+    }
+    >>>.el-input.is-disabled{
+      .el-input__inner{
+        background: #fff;
+      }
+    }
+    >>>.el-form-item__error{
+      padding-top: 0;
+      margin-top: 8px;
+      font-size: 12px;
+      color: #D42426;
+      position: relative;
+    }
+    }
+  }
+  /deep/ .el-date-editor{
+    position: relative;
+      .el-input__prefix{
+        // color: #D42426;
+        // position: absolute;
+        // right: 5px;
+        // left: auto;
+        // display: none;
+        background-image: url('~@/assets/image/people/rili.svg'); /* 替换为你的新图标路径 */
+        background-size: cover; /* 覆盖整个元素 */
+        background-repeat: no-repeat; /* 不重复背景图片 */
+        height: 15px; /* 根据实际情况调整高度 */
+        width: 17px; /* 根据实际情况调整宽度 */
+        position: absolute;
+        right: 10px;
+        top: 9px;
+        left: auto;
+        .el-icon-date::before{
+          content: '';
+        }
+      }
+      .el-input__suffix{
+        position: absolute;
+        right: 25px;
+      }
+  }
+  /deep/ .el-dialog {
+    border-radius: 6px;
+    .el-dialog__header{
+      height: 50px;
+      line-height: 50px;
+      padding: 0;
+      text-align: center;
+      border-top-left-radius: 6px;
+      border-top-right-radius: 6px;
+      .el-dialog__title{
+        color: #333;
+        font-weight: 500;
+      }
+    }
+    .el-dialog__body{
+      background: #fff;
+      border-radius: 6px;
+    }
+  }
+  /deep/ .el-tabs{
+    .el-tabs__header{
+      padding: 20px 0;
+      margin-bottom: 0;
+      .el-tabs__nav{
+        background: #f7f7f7;
+        padding: 0 4px;
+        height: 44px;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+      }
+      .el-tabs__item{
+        width: 120px;
+        height: 36px;
+        line-height: 36px;
+        text-align: center;
+        font-size: 16px;
+        background: #f7f7f7;
+        color: #333;
+        font-weight: 310;
+      }
+      .el-tabs__item.is-active{
+        background: #D42426;
+        color: #fff;
+        border-radius: 2px;
+      }
+      .el-tabs__active-bar{
+        display: none;
+      }
+      .el-tabs__nav{
+        left: 50%;
+        transform: translateX(-50%) !important;
+      }
+    }
+    .el-tabs__content{
+      border-radius: 6px;
+    }
+  }
+}
+</style>

+ 1380 - 0
src/views/PeopleManage/Partner/PersonList.vue

@@ -0,0 +1,1380 @@
+<template>
+  <div>
+    <el-main ref="elMain" style="padding: 0px">
+      <Split :gutterSize="2" style="height: calc(100vh - 120px)">
+        <!-- 左侧树Start -->
+        <SplitArea :size="leftSplitWidth" :minSize="240">
+          <div>
+            <!-- <div>
+              <kt-button
+                style="background-color: #ffc000; border: #ffc000"
+                icon="fa fa-plus"
+                label="新增"
+                type="primary"
+                perms="sys:teamchannel:add"
+                @click="handleAddButton"
+              />
+            </div>
+            <el-divider></el-divider> -->
+            <el-tree :data="ztreeNodes" :props="{ children: 'children', label: 'name' }" node-key="id"
+              :default-expanded-keys="['9']" @node-click="onZTreeClick"></el-tree>
+          </div>
+        </SplitArea>
+        <!-- 左侧树End -->
+
+        <!-- 右侧列表页面Start -->
+        <SplitArea :size="rightSplitWidth">
+          <templateTable :searchData.sync="queryFrom" :tableConfig="tableConfig" :data="pageResult" @getList="findPage"
+            @handleSearchList="handleSearchList" :pagination="pageData" :formList="formList" :btnGroup="btnGroup">
+            <!-- <template slot="type" slot-scope="scope">
+              <span
+                :style="{ background: scope.row.type == '1' ? 'linear-gradient( 180deg, #66CDBB 0%, #33A08D 100%)' : '#A6A6A6', borderRadius: '4px', padding: '4px 10px', color: '#fff' }">{{
+                  scope.row.type == 1 ? "是" : "否" }}</span>
+            </template> -->
+          </templateTable>
+        </SplitArea>
+        <!-- 右侧列表页面End -->
+      </Split>
+    </el-main>
+    <!-- 关系查询 -->
+    <el-dialog width="40%" top="5vh" :visible.sync="relationshipVisible" :close-on-click-modal="false"
+      @close="closeDialorelationship" v-dialogDrag>
+      <templateTable :tableConfig="tableConfigrelationship" :data="pageResultrelationship"
+        @getList="findPagerelationship" :pagination="relationshippageData">
+      </templateTable>
+    </el-dialog>
+    <!-- 比例配制 -->
+    <el-dialog title="一级合伙人佣金比例配置" width="30%" top="5vh" :visible.sync="proportionDialogVisible"
+      :close-on-click-modal="false" @close="closeDialogproportion" v-dialogDrag>
+      <el-form :model="proportionData" :rules="proportionRules" ref="proportionData" label-width="160px" size="small"
+        class="personnelInformation">
+        <el-form-item label="总比例" prop="proportion">
+          <el-input placeholder="请输入内容(不得超过0.5)" style="width: 250px;" disabled v-model="proportionData.proportion">
+            <template slot="append">%</template>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="一级合伙人" prop="oneProportion">
+          <el-checkbox v-model="proportionData.checked1">设置一级合伙人的分佣比例</el-checkbox>
+          <el-input style="width: 250px;" v-if="proportionData.checked1" placeholder="请输入一位小数的比例"
+            v-model="proportionData.oneProportion">
+            <template slot="append">%</template>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="二级合伙人" prop="twoProportion">
+          <el-checkbox v-model="proportionData.checked2">设置二级合伙人的分佣比例</el-checkbox>
+          <el-input style="width: 250px;" v-show="proportionData.checked2" placeholder="请输入内容"
+            v-model="proportionData.twoProportion">
+            <template slot="append">%</template>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="三级合伙人" prop="threeProportion">
+          <el-checkbox v-model="proportionData.checked3">设置三级合伙人的分佣比例</el-checkbox>
+          <el-input style="width: 250px;" v-show="proportionData.checked3" placeholder="请输入内容"
+            v-model="proportionData.threeProportion">
+            <template slot="append">%</template>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="四级合伙人" prop="fourProportion">
+          <el-checkbox v-model="proportionData.checked4">设置四级合伙人的分佣比例</el-checkbox>
+          <el-input style="width: 250px;" v-show="proportionData.checked4" placeholder="请输入内容"
+            v-model="proportionData.fourProportion">
+            <template slot="append">%</template>
+          </el-input>
+        </el-form-item>
+        <el-form-item label="五级合伙人" prop="fiveProportion">
+          <el-checkbox v-model="proportionData.checked5">设置五级合伙人的分佣比例</el-checkbox>
+          <el-input style="width: 250px;" v-show="proportionData.checked5" placeholder="请输入内容"
+            v-model="proportionData.fiveProportion">
+            <template slot="append">%</template>
+          </el-input>
+        </el-form-item>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="proportionDialogVisible = false">取 消</el-button>
+        <el-button size="small" type="primary" @click="addproportion('proportionData')">确 定</el-button>
+      </span>
+    </el-dialog>
+    <!-- 新增oneProportion修改界面 -->
+    <el-dialog :title="dialogTitle" width="60%" top="5vh" :visible.sync="dialogVisible" :close-on-click-modal="false"
+      :before-close="handleDialogBefore" :show-close="false" @close="closeDialog" v-dialogDrag class="people-style">
+      <el-tabs v-model="activeName" class="tab-style">
+        <el-tab-pane label="基本信息" name="1">
+          <el-form :model="formData" :rules="formDataRules" ref="formData" :inline="true"
+            @keyup.enter.native="nextStep()" label-width="110px" size="small" label-position="top"
+            class="personnelInformation">
+            <el-row>
+              <el-col :span="8" v-if="dialogTitle == '新增合伙人'">
+                <el-form-item label="合伙人等级" prop="level">
+                  <el-select style="width: 100%" v-model="formData.gradeList" placeholder="请选择" clearable multiple
+                    popper-class="select-prop" @change="handlelevelChange">
+                    <el-option v-for="val in levelOptions" :label="val.label" :value="val.value"
+                      :key="val.value"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8" v-if="dialogTitle == '新增合伙人'">
+                <el-form-item label="上级合伙人" prop="referrerId">
+                  <el-select filterable :disabled="formData.gradeList?formData.gradeList[0] == 1:false" style="width: 100%" v-model="formData.referrerId"
+                    placeholder="请选择" clearable popper-class="select-prop">
+                    <el-option v-for="val in managerOptions" :label="val.name" :value="val.userId"
+                      :key="val.userId"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="机构名称">
+                  <el-cascader style="width: 100%" :options="ztreeNodes" v-model="formData.pdeptId" clearable disabled
+                    :show-all-levels="false" :props="{
+                      value: 'id',
+                      label: 'name',
+                      checkStrictly: true,
+                    }" @change="handleChange">
+                  </el-cascader> </el-form-item></el-col>
+
+              <el-col :span="8">
+                <el-form-item label="机构部门" prop="deptId">
+                  <el-cascader style="width: 100%" :options="ztreeNodes" v-model="formData.deptId" clearable disabled
+                    :show-all-levels="false" :props="{
+                      value: 'id',
+                      label: 'name',
+                      checkStrictly: true,
+                    }" @change="handleChange">
+                  </el-cascader> </el-form-item></el-col>
+              <el-col :span="8">
+                <el-form-item label="岗位" prop="positionId">
+                  <el-select style="width: 100%" v-model="formData.positionId" placeholder="请选择" clearable
+                    popper-class="select-prop">
+                    <el-option v-for="val in postOption" :label="val.postName" :value="val.postId"
+                      :key="val.postId"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="工号" prop="id">
+                  <el-input v-model="formData.id" disabled style="width: 100%"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="姓名" prop="name">
+                  <el-input v-model="formData.name" style="width: 100%"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="手机号" prop="mobile">
+                  <el-input v-model="formData.mobile" style="width: 100%" maxlength="11"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="入司时间">
+                  <el-date-picker style="width: 100%" v-model="formDataDetail.entryTime" type="date"
+                    value-format="yyyy-MM-dd" placeholder="选择日期" popper-class="select-prop">
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="状态" prop="status">
+                  <el-select disabled style="width: 100%" v-model="formData.status" placeholder="请选择">
+                    <el-option v-for="val in user_statusoptions" :label="val.label" :value="val.value"
+                      :key="val.id"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="角色" prop="roleId">
+                  <el-select style="width: 100%" v-model="formData.roleId" placeholder="请选择" disabled>
+                    <el-option v-for="val in roles" :label="val.name" :value="val.id + ''" :key="val.id"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="管理人" prop="leaderId">
+                  <el-select style="width: 100%" clearable filterable v-model="formData.leaderId" placeholder="请选择"
+                    popper-class="select-prop">
+                    <el-option v-for="val in leaderOptions" :label="val.name" :value="val.id" :key="val.id"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="管理人工号" prop="leaderName">
+                  <el-input v-model="formData.leaderId" disabled style="width: 100%"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="代理人资格证号" prop="agentQualificationCode">
+                  <el-input style="width: 100%" v-model="formDataDetail.agentQualificationCode"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row> </el-row>
+          </el-form>
+          <div class="footerHandle" style="text-align: right">
+            <el-button size="small" type="primary" style="
+                border: 1px solid #D42426;
+                color: #D42426;
+              " class="closeBtn" @click="closeDialog">取消</el-button>
+            <el-button size="small" type="primary" @click="nextStep">下一步</el-button>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="详细信息" name="2">
+          <userDetail :formData="formData" :formDataDetail="formDataDetail" ref="formDataDetails" @valids="valids"
+            :isSpeciality="true"></userDetail>
+
+          <div class="footerHandle" style="text-align: right">
+            <!-- <el-button size="small" type="primary" @click="activeName = '1'"
+              >上一步</el-button
+            > -->
+            <el-button size="small" type="primary" style="
+                border: 1px solid #D42426;
+                color: #D42426;
+              " class="closeBtn" @click="closeDialog">取消</el-button>
+            <el-button size="small" type="primary" @click="activeName = '3'">下一步</el-button>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="影像资料" name="3">
+          <el-form :model="formDataDetail" ref="formDataDetail" :inline="true" label-width="130px" size="small"
+            class="peopleImage">
+            <peopleImage :dataForm="dataForm" :imagesIdList="imagesIdList" :dialogVisible="dialogVisible"></peopleImage>
+          </el-form>
+          <div class="footerHandle" style="text-align: right">
+            <el-button size="small" type="primary" style="
+                border: 1px solid #D42426;
+                color: #D42426;
+              " class="closeBtn" @click="closeDialog">取消</el-button>
+            <!-- <el-button size="small" type="primary" @click="activeName = '2'"
+              >上一步</el-button
+            > -->
+            <el-button size="small" type="primary" @click="submitForm">提交</el-button>
+          </div>
+        </el-tab-pane>
+      </el-tabs>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
+import templateTable from "@/components/TemplateTable/index.vue";
+import peopleImage from "@/components/PeopleImage/index.vue"; //影像组件
+import userDetail from "@/components/UserDetail/index.vue"; // 详情信息
+
+import mixa from "../mixin";
+const mixin = new mixa({
+  treeTypeNum: null,
+});
+export default {
+  components: {
+    KtButton,
+    templateTable,
+    peopleImage,
+    userDetail
+  },
+  mixins: [mixin],
+  watch: {
+    "proportionData.checked1"(val) {
+      if (val) {
+        this.proportionRules.oneProportion[0].required = true
+      }
+      else {
+        this.proportionRules.oneProportion[0].required = false
+        this.proportionData.oneProportion = ''
+      }
+    },
+    "proportionData.checked2"(val) {
+      if (val) {
+        this.proportionRules.twoProportion[0].required = true
+      }
+      else {
+        this.proportionRules.twoProportion[0].required = false
+        this.proportionData.twoProportion = ''
+      }
+    },
+    "proportionData.checked3"(val) {
+      if (val) {
+        this.proportionRules.threeProportion[0].required = true
+      }
+      else {
+        this.proportionRules.threeProportion[0].required = false
+        this.proportionData.threeProportion = ''
+      }
+    },
+    "proportionData.checked4"(val) {
+      if (val) {
+        this.proportionRules.fourProportion[0].required = true
+      }
+      else {
+        this.proportionRules.fourProportion[0].required = false
+        this.proportionData.fourProportion = ''
+      }
+    },
+    "proportionData.checked5"(val) {
+      if (val) {
+        this.proportionRules.fiveProportion[0].required = true
+      }
+      else {
+        this.proportionRules.fiveProportion[0].required = false
+        this.proportionData.fiveProportion = ''
+      }
+    },
+  },
+  data() {
+    return {
+      formDataDetail: {},
+      btnGroup: [{
+        name: '新增合伙人',
+        click: () => this.handleAddButton()
+      }],
+      managerOptions: [],
+      levelOptions: [
+        {
+          label: '创始人',
+          value: '1'
+        },
+        {
+          label: '管理人',
+          value: '2'
+        },
+        {
+          label: '合伙人',
+          value: '3'
+        }, {
+          label: '工作室',
+          value: '4'
+        },
+      ],
+      formList: [
+        {
+          label: "姓名",
+          prop: "name",
+          type: "input",
+        },
+        {
+          label: "手机号",
+          prop: "mobile",
+          type: "input",
+        },
+        {
+          label: "工号",
+          prop: "userId",
+          type: "input",
+        },
+        {
+          label: "等级",
+          prop: "grade",
+          type: "select",
+          options: [
+            {
+              label: '全部',
+              value: ' '
+            },
+            {
+              label: '创始人',
+              value: '1'
+            },
+            {
+              label: '管理人',
+              value: '2'
+            },
+            {
+              label: '合伙人',
+              value: '3'
+            }, {
+              label: '工作室',
+              value: '4'
+            }, {
+              label: '团队长',
+              value: '5'
+            },
+            {
+              label: '业务员',
+              value: '6'
+            },
+          ]
+        },
+        {
+          label: "邀请人",
+          prop: "inviter",
+          type: "input",
+        },
+        // ,{
+        //   label: "审核状态",
+        //   prop: "status",
+        //   type: "select",
+        //   options:[
+        //     {
+        //       label:'全部',
+        //       value:'0'
+        //     },
+        //     {
+        //       label:'审核通过',
+        //       value:'1'
+        //     },
+        //     {
+        //       label:'待审核',
+        //       value:'2'
+        //     },
+        //     {
+        //       label:'审核不通过',
+        //       value:'3'
+        //     }
+        //   ]
+        // },
+      ],
+      //影像资料
+      dataForm: {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+        LZ_01: "",
+      },
+      useroption: [],
+      activeName: "1",
+      imagesIdList: [],
+      leaderOptions: [],
+      formDataRules: {
+        gradeList: [{ required: true, message: "请选择合伙人等级", trigger: "change" }],
+        referrerId: [{ required: true, message: "请选择上级合伙人", trigger: "change" }],
+        deptId: [{ required: true, message: "请选择机构", trigger: "change" }],
+        mobile: [
+          { required: true, message: "请输入手机号", trigger: "blur" },
+          { min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
+          {
+            pattern:
+              /^1(3[0-9]|4[0-9]|5[0-9]|6[2-9]|7[0-9]|8[0-9]|9[0-9])\d{8}$/,
+            message: "请输入正确的手机号",
+            trigger: "blur",
+          },
+        ],
+        name: [{ required: true, message: "请填写名称", trigger: "blur" }],
+        status: [{ required: true, message: "请选择状态", trigger: "change" }],
+        roleId: [{ required: true, message: "请填写角色", trigger: "blur" }],
+      },
+      tableConfig: {
+        columns: [
+          // 数据列
+          { prop: "userId", label: "工号", type: "text" },
+          {
+            prop: "userName",
+            label: "名称",
+            type: "text",
+          },
+          { prop: "deptId", label: "机构编码", type: "text" },
+          {
+            prop: "deptName",
+            label: "机构名称",
+            type: "text",
+          },
+          { prop: "suggestId", label: "推荐人工号", type: "text" },
+          { prop: "suggestName", label: "推荐人名称", type: "text" },
+          { prop: "proportional", label: "抽成比例", type: "text" },
+          {
+            prop: "type", label: "合伙人级别", type: "statMap",
+            options: [
+              {
+                label: '全部',
+                value: '0'
+              },
+              {
+                label: '一级',
+                value: '1'
+              },
+              {
+                label: '二级',
+                value: '2'
+              },
+              {
+                label: '三级',
+                value: '3'
+              }, {
+                label: '四级',
+                value: '4'
+              }, {
+                label: '五级',
+                value: '5'
+              },
+            ]
+          },
+        ],
+        loading: true,
+        isPaginationShow: true,
+        isShowIndex: true,
+        operationWidth: 180,
+        optBtns: [
+          {
+            label: "编辑",
+            type: 'text',
+            // hide: (row) => {
+            //   return row.type == '1'
+            // },
+            click: (row, index) => {
+              return this.handleTableEdit(row);
+            },
+          },
+
+          // {
+          //   label: "删除",
+          //   type:'text',
+          //   hide: (row) => {
+          //     return row.type == '1'
+          //   },
+          //   click: (row, index) => {
+          //     return this.handleTableDeleteFlag(row);
+          //   },
+          // },
+          {
+            label: "比例配置",
+            type: 'text',
+            hide: (row) => {
+              return row.type == '1'
+            },
+            click: (row, index) => {
+              return this.proportionalAllocation(row);
+            },
+          },
+          {
+            label: "关系查询",
+            type: 'text',
+            click: (row, index) => {
+              return this.relationship(row);
+            },
+          },
+        ],
+      },
+      rules: {
+        proportional: [
+          { required: true, message: '请输入抽成比例', trigger: 'blur' },
+        ],
+        userName: [
+          { required: true, message: '请选择名称', trigger: 'change' }
+        ],
+
+
+      },
+      tableConfigrelationship: {
+        columns: [
+          // 数据列
+          {
+            prop: "type", label: "级别", type: "statMap",
+            options: [
+              {
+                label: '全部',
+                value: '0'
+              },
+              {
+                label: '一级',
+                value: '1'
+              },
+              {
+                label: '二级',
+                value: '2'
+              },
+              {
+                label: '三级',
+                value: '3'
+              }, {
+                label: '四级',
+                value: '4'
+              }, {
+                label: '五级',
+                value: '5'
+              },
+            ]
+          },
+          {
+            prop: "agencyName",
+            label: "机构名称",
+            type: "text",
+          },
+          { prop: "userId", label: "工号", type: "text" },
+          {
+            prop: "userName",
+            label: "姓名",
+            type: "text",
+          },
+          { prop: "suggestName", label: "推荐人", type: "text" },
+          // { prop: "userSex", label: "性别", type: "text" },
+          { prop: "deptName", label: "部门", type: "text" },
+          { prop: "mobile", label: "电话", type: "text" },
+        ],
+        loading: true,
+        isPaginationShow: true,
+      },
+      pageData: {
+        pageNum: 1,
+        pageSize: 20,
+        deptId: JSON.parse(localStorage.getItem("user_data")).deptId,
+        userId: "",
+        realName: "",
+        mobile: "",
+      },
+      relationshippageData: {
+        pageNum: 1,
+        pageSize: 20,
+      },
+      formData: {
+        referrerId:"",
+        roleId: "20",
+      },
+      queryFrom: {},
+      pageResult: [],
+      dialogTitle: "",
+      dialogVisible: false, // 新增编辑界面是否显示
+      sysPartnerOption: [],
+      currentTreeNodeId: '',
+      pdeptId: null,
+      deptId: "99",
+      proportionDialogVisible: false,
+      proportionData: {
+        proportion: '0.5'
+      },
+      proportionRules: {
+        proportion: [
+          { required: true, message: '请输入总比例', trigger: 'blur' },
+          {
+            validator: (rule, value, callback) => {
+              if (value === '') {
+                callback(new Error('请输入总比例'));
+              } else if (value > 0.5) {
+                callback(new Error('输入的数值不能超过0.5'));
+              } else {
+                callback();
+              }
+            },
+            trigger: 'blur'
+          }],
+        oneProportion: [{ required: false, message: "请输入一级合伙人", trigger: "blur" }, {
+          validator: (rule, value, callback) => {
+            const regex = /^(\d+)?(\.\d{1,2})?$/;
+            if (value && !regex.test(value) || (value > 0.5)) {
+              callback(new Error('输入的数值不能超过0.5,且只保留两位小数'));
+            } else {
+              callback();
+            }
+          },
+        }],
+        twoProportion: [{ required: false, message: "请输入二级合伙人", trigger: "blur" }, {
+          validator: (rule, value, callback) => {
+            const regex = /^(\d+)?(\.\d{1,2})?$/;
+            if (value && !regex.test(value) || (value > 0.5)) {
+              callback(new Error('输入的数值不能超过0.5,且只保留两位小数'));
+            } else {
+              callback();
+            }
+          },
+          trigger: 'blur'
+        }],
+        threeProportion: [{ required: false, message: "请输入三级合伙人", trigger: "blur" }, {
+          validator: (rule, value, callback) => {
+            const regex = /^(\d+)?(\.\d{1,2})?$/;
+            if (value && !regex.test(value) || (value > 0.5)) {
+              callback(new Error('输入的数值不能超过0.5,且只保留两位小数'));
+            } else {
+              callback();
+            }
+          },
+          trigger: 'blur'
+        }],
+        fourProportion: [{ required: false, message: "请输入四级合伙人", trigger: "blur" }, {
+          validator: (rule, value, callback) => {
+            const regex = /^(\d+)?(\.\d{1,2})?$/;
+            if (value && !regex.test(value) || (value > 0.5)) {
+              callback(new Error('输入的数值不能超过0.5,且只保留两位小数'));
+            } else {
+              callback();
+            }
+          },
+          trigger: 'blur'
+        }],
+        fiveProportion: [{ required: false, message: "请输入五级合伙人", trigger: "blur" }, {
+          validator: (rule, value, callback) => {
+            const regex = /^(\d+)?(\.\d{1,2})?$/;
+            if (value && !regex.test(value) || (value > 0.5)) {
+              callback(new Error('输入的数值不能超过0.5,且只保留两位小数'));
+            } else {
+              callback();
+            }
+          },
+          trigger: 'blur'
+        }],
+      },
+      relationshipVisible: false,
+      listData: {},
+      pageResultrelationship: [],
+
+    };
+  },
+
+  created() {
+    this.findPage();
+    this.searchLeaderFun();
+  },
+  methods: {
+    findLeftTreeData: function () {
+      this.$api.insCompany.newGetPartnerDeptTree().then((res) => {
+        this.ztreeNodes = res.data;
+      });
+    },
+    searchLeaderFun() {
+      this.$api.user.findHxUserList().then((res) => {
+        this.leaderOptions = res.data;
+      });
+    },
+    handlelevelChange(val) {
+      val.sort((a, b) => a - b);
+      if (val[0] == 1) {
+        this.formDataRules.referrerId[0].required = false;
+      }else {
+      this.$api.insCompany.partnerselectRecommender(val[0]).then((res) => {
+        this.managerOptions = res.data;
+      });
+        this.formDataRules.referrerId[0].required = true
+      }
+    },
+    //联级选择器触发事件
+    handleChange(val) {
+      if (val && val.length !== 0) {
+        this.formData.leaderId = "";
+        this.formData.deptId = val.at(-1);
+        this.$api.user
+          .findListByDeptId({ deptId: this.formData.deptId })
+          .then((res) => {
+            this.leaderOptions = res.data;
+          });
+      }
+    },
+    // 下一步
+    nextStep() {
+      this.activeName = "2";
+    },
+    addproportion(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.$api.insCompany
+            .addProportionConfig({
+              ...this.proportionData,
+              userId: this.listData.userId,
+            })
+            .then((res) => {
+              if (res.code == 200) {
+                this.$message({
+                  message: "保存成功",
+                  type: "success",
+                });
+                this.proportionDialogVisible = false;
+                this.$refs["proportionData"].resetFields();
+                this.findPage();
+              } else {
+                this.$message({
+                  message: `保存失败,请重新添加,(${res.msg})`,
+                  type: "error",
+                });
+              }
+            });
+        } else {
+          return false;
+        }
+      });
+    },
+    userChange(val) {
+      if (val) {
+        this.formData.userId = this.useroption.find(e => e.name == val).id
+      }
+      else {
+        this.formData.userId = ''
+      }
+    },
+
+    valids(data) {
+      this.detailValid = data;
+    },
+    // 提交
+    submitForm() {
+      // this.$refs.formDataDetails.$refs.formData.validate((valid) => {
+      //   this.formData.identityTime = this.formData.identityTime.join(',')
+      //   console.log(valid,this.formData,99999999);
+
+      //   this.detailValid= valid;
+      // })
+      this.$refs.formDataDetails.submit();
+      this.formData.leaderName = ''
+      setTimeout(() => {
+        this.$refs.formData.validate((valid) => {
+          if (valid && this.detailValid) {
+            this.$confirm("确认提交吗?", "提示", {}).then(() => {
+              if (this.formData.positionId) {
+                this.formData.positionName = this.postOption.find(
+                  (val) => val.postId == this.formData.positionId
+                ).postName;
+              }
+              if (this.formData.leaderId) {
+                this.formData.leaderName = this.leaderOptions.find(
+                  (val) => val.id == this.formData.leaderId
+                ).name;
+              }
+              this.formData.type = 4
+              if (this.dialogTitle == "新增合伙人") {
+                this.$api.insCompany
+                  .saveByPartner({
+                    isPartner: "",
+                    esmUserImageVo: this.imagesIdList,
+                    sysUser: this.formData,
+                    sysUserInfo: this.formDataDetail,
+                  })
+                  .then((res) => {
+                    if (res.code == 200) {
+                      this.$message({
+                        message: "保存成功",
+                        type: "success",
+                      });
+                      this.dialogVisible = false;
+                      this.$refs["formData"].resetFields();
+                      this.$refs["formDataDetail"].resetFields();
+                      this.findPage();
+                    } else {
+                      this.$message({
+                        message: `保存失败,请重新添加,(${res.msg})`,
+                        type: "error",
+                      });
+                    }
+                  });
+              } else {
+                this.$api.user
+                  .updateUserInfo(this.formData.id, {
+                    esmUserImageVo: this.imagesIdList,
+                    sysUser: this.formData,
+                    sysUserInfo: this.formDataDetail,
+                  })
+                  .then((res) => {
+                    if (res.code == 200) {
+                      this.$message({
+                        message: "编辑成功",
+                        type: "success",
+                      });
+                      this.dialogVisible = false;
+                      this.$refs["formData"].resetFields();
+                      this.$refs["formDataDetail"].resetFields();
+                      this.findPage();
+                    } else {
+                      this.$message({
+                        message: `编辑失败,请重新添加,(${res.msg})`,
+                        type: "error",
+                      });
+                    }
+                  });
+              }
+            });
+          } else {
+            this.$message.error("请填写全部信息");
+          }
+        });
+      }, 200);
+    },
+    // 右侧列表的方法Start
+    findPage(data) {
+      this.tableConfig.loading = true;
+      this.$api.insCompany
+        .partnerqueryPage({
+          ...this.pageData,
+          ...data,
+          deptId: this.currentTreeNodeId
+        })
+        .then((res) => {
+          this.tableConfig.loading = false;
+          this.pageResult = res.data.records;
+          this.pageData.pageNum = res.data.pages;
+          this.pageData.pageSize = res.data.size;
+          this.pageData.totalSize = res.data.total;
+        });
+    },
+    suggestChange(e) {
+      this.formData.suggestId = ''
+      if (e) {
+        this.formData.suggestId = this.sysPartnerOption.find(val => val.userName == e).userId
+      }
+    },
+    handleSearchList(data) {
+      // if(data &&data.level==0){
+      //   data.level=''
+      // }
+      let dataP = {
+        ...data,
+        level: data.level == 0 ? '' : data.level
+      }
+      this.findPage(dataP);
+    },
+    // 比例配置
+    proportionalAllocation(row) {
+      this.listData = row
+      this.$api.insCompany
+        .getProportionConfig({ id: row.userId })
+        .then((res) => {
+          this.proportionDialogVisible = true
+          this.proportionData = {
+            checked1: res.data.oneProportion ? true : false,
+            checked2: res.data.twoProportion ? true : false,
+            checked3: res.data.threeProportion ? true : false,
+            checked4: res.data.fourProportion ? true : false,
+            checked5: res.data.fiveProportion ? true : false,
+            ...res.data,
+            // proportion:'0.5'
+          }
+        });
+      this.proportionData.proportion = '0.5'
+
+
+    },
+    // 关系查询
+    relationship(row) {
+      this.relationshipVisible = true
+      this.listData = row
+      this.findPagerelationship()
+    },
+    findPagerelationship() {
+      this.$api.insCompany
+        .getRelationInfo(this.listData.userId)
+        .then((res) => {
+          this.tableConfigrelationship.loading = false;
+          this.pageResultrelationship = res.data;
+          this.relationshippageData.pageNum = res.data.pageNum;
+          this.relationshippageData.pageSize = res.data.pageSize;
+          this.relationshippageData.totalSize = res.data.totalSize;
+        });
+    },
+    //编辑人员
+    async handleTableEdit(params) {
+      this.dataForm = {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+        LZ_01: "",
+      };
+      this.imagesIdList = [];
+      this.activeName = "1";
+      let res = await this.$api.user.getUserDatail(params.userId);
+      if (res.code == 200) {
+        // this.$api.user.findBackUserList1({ agentFlag: 0 }).then((res) => {
+        //   this.leaderOptions = res.data;
+        // });
+        res.data.sysUser.status += "";
+        res.data.sysUser.identityTimeArr = res.data.sysUser.identityTime ? res.data.sysUser.identityTime.split(',') : []
+        this.formData = res.data.sysUser;
+        if (this.formData.status == 0) {
+          this.$set(this.formDataRules, "logoutTime", [
+            { required: true, message: "请选择日期", trigger: "change" },
+          ]);
+        } else {
+          this.formDataRules.logoutTime = undefined;
+        }
+        if (res.data.esmUserImageVo.length > 0) {
+          this.imagesIdList = res.data.esmUserImageVo.map((item) => {
+            item.path = process.env.BASE_URL + item.path;
+            this.dataForm[item.type] = item.path;
+            return {
+              imageId: item.imageId,
+              type: item.type,
+            };
+          });
+        }
+        this.formDataDetail = res.data.sysUserInfo ? res.data.sysUserInfo : {};
+        // this.formData.password = ''
+        this.dialogTitle = "编辑合伙人";
+        this.dialogVisible = true;
+        this.dialogPassword = false;
+      } else {
+        this.$message.error(res.msg);
+      }
+    },
+    // 删除单个人员
+    handleTableDeleteFlag(data) {
+      this.$confirm("确认删除?")
+        .then(() => {
+          this.$api.insCompany.sysPartnerDel(data.id).then((res) => {
+            if (res.code == 200) {
+              this.$message({
+                message: "删除成功",
+                type: "success",
+              });
+              this.findPage();
+            } else {
+              this.$message.error(res.msg);
+            }
+          });
+        })
+        .catch(() => { });
+    },
+    onZTreeClick: function (evt, treeId, treeNode) {
+      console.log(evt)
+      // 点击事件
+      // this.currentTreeNode = evt;
+      // this.deptId = this.currentTreeNode.id;
+      // this.pdeptId = this.currentTreeNode.parentId;
+      // this.pageData.pageNum = 1;
+      // this.findPage();
+      // this.searchLeaderFun();
+      this.currentTreeNode = evt;
+      this.pageData.pageNum = 1;
+      this.pageData.pageSize = 10;
+      this.currentTreeNodeId = this.currentTreeNode.id
+      this.deptId = this.currentTreeNode.id;
+      this.pdeptId = this.currentTreeNode.parentId;
+      this.searchLeaderFun();
+      this.findPage();
+    },
+    //新增人员
+    handleAddButton() {
+      if (this.currentTreeNode == null) {
+        this.$message.info("请选择所属公司或部门");
+        return;
+      }
+      if (
+        this.currentTreeNode.comlevel !='5' ||
+        this.currentTreeNode.managementSource !='5'
+      ) {
+        //团队代理人managementSource为2  渠道为1  后线为空
+        this.$message.info("请选择第六级机构");
+        return;
+      }
+      this.formData = {
+        roleId: "97",
+        status: "2",
+        leaderId: "",
+        deptId: this.deptId,
+        pdeptId: this.pdeptId
+      };
+      this.formDataDetail = {};
+      this.activeName = "1";
+      this.dialogTitle = "新增合伙人";
+      this.dialogVisible = true;
+      this.dialogPassword = true;
+    },
+    userChange(val) {
+      if (val) {
+        this.formData.userId = this.useroption.find(e => e.name == val).id
+      }
+      else {
+        this.formData.userId = ''
+      }
+    },
+    handleDialogBefore(done) {
+      // 退出对话框之前确认提示
+      this.$confirm("确认关闭?")
+        .then((_) => {
+          done();
+        })
+        .catch((_) => { });
+    },
+    closeDialog() {
+      // 清空数据
+      this.deptInfo = {};
+      this.dialogVisible = false;
+    },
+    closeDialogproportion() {
+      // 清空数据
+      this.proportionData = {};
+      this.proportionDialogVisible = false;
+    },
+    closeDialorelationship() {
+      // 清空数据
+      this.relationshipVisible = false;
+    },
+    // 提交
+    // submitForm() {
+    //   this.$refs.formData.validate((valid) => {
+    //     if (valid) {
+    //       this.$confirm("确认提交吗?", "提示", {}).then(() => {
+
+    //         if (this.dialogTitle == "编辑合伙人") {
+    //           this.$api.insCompany
+    //             .sysPartnerAdd(this.formData)
+    //             .then((res) => {
+    //               if (res.code == 200) {
+    //                 this.$message({
+    //                   message: "保存成功",
+    //                   type: "success",
+    //                 });
+    //                 this.dialogVisible = false;
+    //                 this.$refs["formData"].resetFields();
+    //                 this.findPage();
+    //               } else {
+    //                 this.$message({
+    //                   message: `保存失败,请重新添加,(${res.msg})`,
+    //                   type: "error",
+    //                 });
+    //               }
+    //             });
+    //         } else {
+    //           this.$api.insCompany
+    //             .sysPartnerEdit(this.formData)
+    //             .then((res) => {
+    //               if (res.code == 200) {
+    //                 this.$message({
+    //                   message: "编辑成功",
+    //                   type: "success",
+    //                 });
+    //                 this.dialogVisible = false;
+    //                 this.$refs["formData"].resetFields();
+    //                 this.findPage();
+    //               } else {
+    //                 this.$message({
+    //                   message: `编辑失败,请重新添加,(${res.msg})`,
+    //                   type: "error",
+    //                 });
+    //               }
+    //             });
+    //         }
+    //       });
+    //     }
+    //   });
+    // },
+    // 下一步
+
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.el-divider--horizontal {
+  margin: 4px 0;
+}
+
+/* 顶部查询条件样式Start */
+.queryFrom .el-row {
+  margin: 10px 0px;
+}
+
+.queryFrom .el-form-item {
+  margin-bottom: 0px;
+}
+
+.queryFrom .queryButton .el-form-item__content {
+  margin-left: 0px !important;
+}
+
+.disc {
+  -webkit-text-security: disc;
+  position: relative;
+}
+
+.none {
+  -webkit-text-security: none;
+  position: relative;
+}
+
+.icon {
+  color: #ccc;
+  position: absolute;
+  right: 0;
+  top: 10px;
+  text-align: center;
+}
+
+.people-style {
+
+  // max-height: 500px;
+  .footerHandle {
+    // border-radius: 6px;
+    border-top: 1px solid #f2f2f2;
+    margin-top: 0 !important;
+
+    .el-button {
+      width: 90px;
+      height: 36px;
+      font-size: 16px;
+      margin-left: 24px;
+      font-weight: 310;
+    }
+  }
+
+  .peopleImage {
+    padding: 0 !important;
+    margin: 0 0 0 6px !important;
+  }
+
+  .closeBtn {
+    background: #fff !important;
+  }
+
+  .el-col {
+    width: calc(33.3333% - 20px);
+    margin-right: 20px;
+  }
+
+  .personnelInformation {
+    padding: 0 !important;
+    margin: 0 0 0 20px !important;
+    max-height: 470px;
+
+    .el-form-item {
+      width: 100%;
+      margin-bottom: 20px;
+      margin-right: 0px;
+
+      >>>.el-form-item__label {
+        font-size: 14px;
+        line-height: 16px;
+        color: #262626;
+        padding-bottom: 10px;
+      }
+
+      >>>.el-input__inner {
+        padding-left: 10px !important;
+        font-size: 14px;
+        font-weight: 500;
+        color: #333;
+        font-family: PingFang SC, PingFang SC;
+        border: 1px solid #eee;
+
+        &::placeholder {
+          color: #999999;
+          font-weight: 300;
+        }
+      }
+
+      >>>.el-textarea__inner {
+        padding: 10px;
+        border: 1px solid #eeeeee;
+        font-weight: 500;
+        font-size: 14px;
+        color: #333;
+        font-family: PingFang SC, PingFang SC;
+
+        &::placeholder {
+          color: #999999;
+          font-weight: 300;
+        }
+      }
+
+      >>>.el-input.is-disabled {
+        .el-input__inner {
+          background: #fff;
+        }
+      }
+
+      >>>.el-form-item__error {
+        padding-top: 0;
+        margin-top: 8px;
+        font-size: 12px;
+        color: #D42426;
+        position: relative;
+      }
+    }
+  }
+
+  /deep/ .el-date-editor {
+    position: relative;
+
+    .el-input__prefix {
+      // color: #D42426;
+      // position: absolute;
+      // right: 5px;
+      // left: auto;
+      // display: none;
+      background-image: url('~@/assets/image/people/rili.svg');
+      /* 替换为你的新图标路径 */
+      background-size: cover;
+      /* 覆盖整个元素 */
+      background-repeat: no-repeat;
+      /* 不重复背景图片 */
+      height: 15px;
+      /* 根据实际情况调整高度 */
+      width: 17px;
+      /* 根据实际情况调整宽度 */
+      position: absolute;
+      right: 10px;
+      top: 9px;
+      left: auto;
+
+      .el-icon-date::before {
+        content: '';
+      }
+    }
+
+    .el-input__suffix {
+      position: absolute;
+      right: 25px;
+    }
+  }
+
+  /deep/ .el-dialog {
+    border-radius: 6px;
+
+    .el-dialog__header {
+      height: 50px;
+      line-height: 50px;
+      padding: 0;
+      text-align: center;
+      border-top-left-radius: 6px;
+      border-top-right-radius: 6px;
+
+      .el-dialog__title {
+        color: #333;
+        font-weight: 500;
+      }
+    }
+
+    .el-dialog__body {
+      background: #fff;
+      border-radius: 6px;
+    }
+  }
+
+  /deep/ .el-tabs {
+    .el-tabs__header {
+      padding: 20px 0;
+      margin-bottom: 0;
+
+      .el-tabs__nav {
+        background: #f7f7f7;
+        padding: 0 4px;
+        height: 44px;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+      }
+
+      .el-tabs__item {
+        width: 120px;
+        height: 36px;
+        line-height: 36px;
+        text-align: center;
+        font-size: 16px;
+        background: #f7f7f7;
+        color: #333;
+        font-weight: 310;
+      }
+
+      .el-tabs__item.is-active {
+        background: #D42426;
+        color: #fff;
+        border-radius: 2px;
+      }
+
+      .el-tabs__active-bar {
+        display: none;
+      }
+
+      .el-tabs__nav {
+        left: 50%;
+        transform: translateX(-50%) !important;
+      }
+    }
+
+    .el-tabs__content {
+      border-radius: 6px;
+    }
+  }
+}
+</style>

+ 1 - 1
src/views/Task/AgentPoolChannel/AgentPoolChannel2.vue

@@ -229,7 +229,7 @@ export default {
       }
       if (
         item.row.insCompany == "恒邦财险" ||
-        item.row.insCompany == "众安财险" ||
+        item.row.insCompany == "众安平安" ||
         item.row.insCompany == "中国人寿" ||
         item.row.insCompany == "安盛天平" ||
         item.row.insCompany == "太平财险" ||

+ 1 - 1
src/views/Task/CompanyPoolChannel/CompanyPoolChannel2.vue

@@ -352,7 +352,7 @@ export default {
       }
       if (
         item.row.insCompany == "恒邦财险" ||
-        item.row.insCompany == "众安财险" ||
+        item.row.insCompany == "众安平安" ||
         item.row.insCompany == "中国人寿" ||
         item.row.insCompany == "安盛天平" ||
         item.row.insCompany == "太平财险" ||

+ 3 - 3
src/views/Task/Complete.vue

@@ -683,7 +683,7 @@
                        @click="cancelorder(scope.row)" style="color:#f56c6c">撤单</el-button>
             <el-button type="text" size="mini" v-if="scope.row.orderstatus == '2'"  @click="revokeCode(scope.row.id)">撤销二维码</el-button>
             <el-button size="mini" type="text"
-                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安财险', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
+                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安平安', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
                        @click="querystatus(scope.row)" style="color:#f56c6c">状态更新</el-button>
             <el-button size="mini" type="text"
                        v-if="scope.row.orderstatus == '2' && scope.row.inscompany=='永诚财险'"
@@ -902,7 +902,7 @@
         <div style="padding:0 20px">
           <div class="ORcode">
             <div style="padding:5px;position: relative;">
-              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安财险', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
+              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安平安', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
                 ref="qrcode">
               </div>
               <img v-show="['恒邦财险','安盛天平','国任财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" /> -->
@@ -1601,7 +1601,7 @@
               case "恒邦财险":
               case "安盛天平":
               case "中国人寿":
-              case "众安财险":
+              case "众安平安":
                 if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                   this.$api.letter.pythongetPolicyPrint({
                     subOrderNo: item.id,

+ 1 - 1
src/views/Task/ElectricSales/AgentPoolChannel2.vue

@@ -229,7 +229,7 @@ export default {
       }
       if (
         item.row.insCompany == "恒邦财险" ||
-        item.row.insCompany == "众安财险" ||
+        item.row.insCompany == "众安平安" ||
         item.row.insCompany == "中国人寿" ||
         item.row.insCompany == "安盛天平" ||
         item.row.insCompany == "太平财险" ||

+ 3 - 3
src/views/Task/OfflinePay.vue

@@ -688,7 +688,7 @@
             <el-button type="text" size="mini" v-if="scope.row.orderstatus == '2'"  @click="revokeCode(scope.row.id)">撤销二维码</el-button>
 
             <el-button size="mini" type="text"
-                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安财险', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
+                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安平安', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
                        @click="querystatus(scope.row)" style="color:#f56c6c">状态更新</el-button>
             <el-button size="mini" type="text"
                        v-if="scope.row.orderstatus == '2' && scope.row.inscompany=='永诚财险'"
@@ -907,7 +907,7 @@
         <div style="padding:0 20px">
           <div class="ORcode">
             <div style="padding:5px;position: relative;">
-              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安财险', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
+              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安平安', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
                 ref="qrcode">
               </div>
               <img v-show="['恒邦财险','安盛天平','国任财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" /> -->
@@ -1606,7 +1606,7 @@ export default {
               case "恒邦财险":
               case "安盛天平":
               case "中国人寿":
-              case "众安财险":
+              case "众安平安":
                 if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                   this.$api.letter.pythongetPolicyPrint({
                     subOrderNo: item.id,

+ 3 - 3
src/views/Task/Quote.vue

@@ -687,7 +687,7 @@
                        @click="cancelorder(scope.row)" style="color:#f56c6c">撤单</el-button>
             <el-button type="text" size="mini" v-if="scope.row.orderstatus == '2'"  @click="revokeCode(scope.row.id)">撤销二维码</el-button>
             <el-button size="mini" type="text"
-                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安财险', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
+                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安平安', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
                        @click="querystatus(scope.row)" style="color:#f56c6c">状态更新</el-button>
             <el-button size="mini" type="text"
                        v-if="scope.row.orderstatus == '2' && scope.row.inscompany=='永诚财险'"
@@ -906,7 +906,7 @@
         <div style="padding:0 20px">
           <div class="ORcode">
             <div style="padding:5px;position: relative;">
-              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安财险', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
+              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安平安', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
                 ref="qrcode">
               </div>
               <img v-show="['恒邦财险','安盛天平','国任财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" /> -->
@@ -1599,7 +1599,7 @@
               case "恒邦财险":
               case "安盛天平":
               case "中国人寿":
-              case "众安财险":
+              case "众安平安":
                 if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                   this.$api.letter.pythongetPolicyPrint({
                     subOrderNo: item.id,

+ 1 - 1
src/views/Task/TaskPoolChannel/TaskPoolChannel2.vue

@@ -232,7 +232,7 @@ export default {
       }
       if (
         item.row.insCompany == "恒邦财险" ||
-        item.row.insCompany == "众安财险" ||
+        item.row.insCompany == "众安平安" ||
         item.row.insCompany == "中国人寿" ||
         item.row.insCompany == "安盛天平" ||
         item.row.insCompany == "太平财险" ||

+ 3 - 3
src/views/Task/TaskpoolAll.vue

@@ -731,7 +731,7 @@
                        @click="cancelorder(scope.row)" style="color:#f56c6c">撤单</el-button>
             <el-button type="text" size="mini" v-if="scope.row.orderstatus == '2'"  @click="revokeCode(scope.row.id)">撤销二维码</el-button>
             <el-button size="mini" type="text"
-                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安财险', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
+                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安平安', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
                        @click="querystatus(scope.row)" style="color:#f56c6c">状态更新</el-button>
             <el-button size="mini" type="text"
                        v-if="scope.row.orderstatus == '2' && scope.row.inscompany=='永诚财险'"
@@ -950,7 +950,7 @@
         <div style="padding:0 20px">
           <div class="ORcode ">
             <div style="padding:5px;position: relative;">
-              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安财险', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
+              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安平安', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
                 ref="qrcode">
               </div>
               <img v-show="['恒邦财险','安盛天平','国任财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" /> -->
@@ -1641,7 +1641,7 @@ export default {
               case "恒邦财险":
               case "安盛天平":
               case "中国人寿":
-              case "众安财险":
+              case "众安平安":
                 if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                   this.$api.letter.pythongetPolicyPrint({
                     subOrderNo: item.id,

+ 118 - 118
src/views/Task/Underwrite.vue

@@ -48,7 +48,7 @@
 				</el-select>
 			  </el-form-item>
 			</el-col>
-  
+
 			<el-col :span="6" style="height: 40px;">
 			  <el-form-item label="代理人工号">
 				<el-input clearable placeholder="代理人工号" v-model="queryForm.userid"></el-input>
@@ -98,13 +98,13 @@
 		  </el-row>
 		</el-form>
 	  </div>
-  
+
 	  <!-- 任务区域 -->
 	  <div class="tasks">
 		<div v-if="ordersList.length == 0" class="u-f-ajc" style="padding: 240px 0;">
 		  暂无数据
 		</div>
-  
+
 		<el-card v-if="ordersList.length > 0" class="task" :body-style="{ padding: '15px' }" shadow="never"
 		  v-for="(order, orderItem) in ordersList" :key="order.orderno">
 		  <el-row class="row">
@@ -233,19 +233,19 @@
             @click="commonCheck(order.orderno,'2')">任务转发</el-button>
 			<el-button size="mini" type="primary" style="background:#F99070;border: 1px solid #F99070;"
             @click="commonCheck(order.orderno,'3')">报价轨迹</el-button>
-  
+
 		  </el-row>
 		</el-card>
-  
+
 		<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum"
 		  :page-sizes="[20, 40, 50, 100]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper"
 		  :total="totalSize" style="text-align: end;margin-bottom: 15px;">
 		</el-pagination>
 	  </div>
-  
-  
+
+
     <el-dialog   title="车辆报价信息详情" :visible.sync="dialogVisible" width="90%" center>
-  
+
       <div class="Enclosure" v-if="orderInfo">
         <div class="home flex j-s a-c back">
           <div class="flex j-s a-c color">
@@ -333,8 +333,8 @@
       </div>
       <div class="Enclosure" v-if="orderInfo.extendInfo">
         <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>
@@ -369,7 +369,7 @@
           <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>
@@ -399,7 +399,7 @@
           <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>
@@ -412,7 +412,7 @@
         </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>
@@ -421,9 +421,9 @@
         </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>
@@ -434,19 +434,19 @@
           <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" />
@@ -504,8 +504,8 @@
             <span style="margin-left:10px;">欠税明细</span>
           </div>
         </div>
-  
-  
+
+
         <div style="font-size:12px">
           <div class="headers kindinfocss" style="justify-content: space-around;">
             <span>日期</span>
@@ -520,20 +520,20 @@
 					  </div>
         </div>
       </div>
-  
+
       <div class="Enclosure" v-if="orderInfo&&feeDetailInfo">
         <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;width: 100%" class="FeeEnclosure">
-  
+
           <el-table :data="feeDetailInfo"   :border="true"   width="100%"  :stripe="true" size="mini">
-  
+
             <el-table-column prop="feeTypeName" label="费用类型" width="10%"></el-table-column>
             <el-table-column  label="交强险费用跟单明细" width="30%">
               <el-table-column prop="jqFeeRateAll" label="手续费比例/跟单费比例/总比例" width="15%"></el-table-column>
@@ -676,8 +676,8 @@
         <el-button size="small" @click="dialogVisible = false">关闭</el-button>
 		</span>
 	  </el-dialog>
-  
-  
+
+
 	  <el-dialog title="订单报价记录" :visible.sync="historyDialogVisible" width="1300px">
 		<!-- 订单历史轨迹内容区域 -->
 		<el-table size="small" :data="HistoryList" height="250" border style="width:100%" v-loading="loading"
@@ -708,7 +708,7 @@
                        @click="cancelorder(scope.row)" style="color:#f56c6c">撤单</el-button>
             <el-button type="text" size="mini" v-if="scope.row.orderstatus == '2'"  @click="revokeCode(scope.row.id)">撤销二维码</el-button>
             <el-button size="mini" type="text"
-                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安财险', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
+                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安平安', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
                        @click="querystatus(scope.row)" style="color:#f56c6c">状态更新</el-button>
             <el-button size="mini" type="text"
                        v-if="scope.row.orderstatus == '2' && scope.row.inscompany=='永诚财险'"
@@ -740,13 +740,13 @@
 			</template>
 		  </el-table-column>
 		</el-table>
-  
+
 		<span slot="footer" class="dialog-footer">
 		  <el-button size="small" type="primary" style="background: #DE504C;border: 1px solid #DE504C;"
 			@click="historyDialogVisible = false">关 闭</el-button>
 		</span>
 	  </el-dialog>
-  
+
 	  <!-- 任务转发内容区域 -->
 	  <el-dialog title="订单任务转发" :visible.sync="taskForwardDialogVisible" width="800px" @close="closeTaskForward">
 		<div class="u-f-ac" style="height:40px;background-color: #F5F5F7;padding-left: 30px;">
@@ -927,7 +927,7 @@
 		  <div style="padding:0 20px">
 			<div class="ORcode ">
 			  <div style="padding:5px;position: relative;">
-              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安财险', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
+              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安平安', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
                 ref="qrcode">
               </div>
               <img v-show="['恒邦财险','安盛天平','国任财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" /> -->
@@ -984,7 +984,7 @@
 	  </el-dialog>
 	</div>
   </template>
-  
+
   <script>
   import CommonUtil from "@/utils/comutil.js";
   import {
@@ -1019,9 +1019,9 @@
         feeDetailInfo:[],//费用明细信息
 		loading: false, //加载事件
 		totalComapny: [],//全部机构
-  
+
 		payMoney: "",//合计金额
-  
+
 		ordersList: [], //展示页面上的订单列表数据
 		pageNum: 1, //当前页码
 		pageSize: 20,  //每页数据条数
@@ -1039,7 +1039,7 @@
 		  ownerinfo: {},
       orderCommissionVo:{},
 		},
-  
+
 		carImageList: [],//车辆影像
 		ownerImageList: [],//车主影像
 		policyImageList: [],//投保人影像
@@ -1051,13 +1051,13 @@
 		pic3Control: false,
 		pic4Control: false,
 		pic5Control: false,
-  
-  
+
+
 		insureListForm: [],//险种信息的原始版本,当回写时使用
-  
+
 		transferRightList: [],
-  
-  
+
+
 		//查询的表单
 		queryForm: {
 		  "deptId": "",
@@ -1083,14 +1083,14 @@
 		  "pageSize": 20,
           "insCompany":""
 		},
-  
+
 		sendBackDialogVisible: false,//控制退回修改弹框
 		sendBackData: [],
 		sendBackValue: [],
 		addSendBackValue: '',
-  
+
 		showInsureList: false,
-  
+
 		historyDialogVisible: false,
 		history: {
 		  taskid: "",
@@ -1109,7 +1109,7 @@
 		  auditId: "",
 		  operatorId: '',
 		},
-  
+
 		//文件上传的文件
 		oldfileList: [],
 		quoteno: "", //报价号
@@ -1141,11 +1141,11 @@
 	  } else {
 		this.peopledeptid = '9';
 	  }
-  
+
 	 this.getAllCompany();// 获取机构数据
 	  this.getOrderList()// 数据列表
 	  this.getAllStaff()//获取任务转发列表
-  
+
 	},
 	methods: {
     //公共操作进行校验,是否可以操作
@@ -1618,7 +1618,7 @@
               case "恒邦财险":
               case "安盛天平":
               case "中国人寿":
-              case "众安财险":
+              case "众安平安":
                 if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                   this.$api.letter.pythongetPolicyPrint({
                     subOrderNo: item.id,
@@ -2009,7 +2009,7 @@
 			}
 		  }
 		}
-  
+
 		this.$api.user.findPage(personRequest).then((res) => {
 		  if (res.code == 200) {
 			if (res.data.content.length > 0) {
@@ -2033,7 +2033,7 @@
 		  }
 		});
 	  },
-  
+
 	  // 跳转页面锚链接Start
 	  jump(obj) {
 		var s = document.getElementById(obj);
@@ -2177,7 +2177,7 @@
 			this.jqstartdate = res.data.jqstartdate;//交强起保日期
 			this.systartdate = res.data.systartdate;//商业起保日期
             // this.mobile = res.data.applyinfo.mobile;//投保人手机号
-  
+
 				this.$nextTick(() => {
               this.creatQrCode(res.data.qrCodeUrl);
 				});
@@ -2209,10 +2209,10 @@
         };
         this.$api.letter.getByCompanyId(params).then(res => {
           if (res.code == "200") {
-  
+
             var data = res.data;
-  
-  
+
+
             data.kindinfo.map((ele, index) => {
               switch (ele.kindCode) {
                 case "A":
@@ -2221,7 +2221,7 @@
                 case "D4":
                 case "SY_FJ_YBW2":
                   ele.unitAmount = this.toChinesNum(ele.unitAmount);
-  
+
 				break;
                 case "MJ1":
                 case "MJ2":
@@ -2252,7 +2252,7 @@
 		})
 		this.historyDialogVisible = true;
 	  },
-  
+
     //订单修改
     CloseEdit(orderno) {
       this.$api.letter.getByOrderNo({ orderNo: orderno }).then((res) => {
@@ -2279,7 +2279,7 @@
 			  this.$message.error(res.msg);
 			}
 		  })
-  
+
 		}).catch(() => {
 		})
 	  },
@@ -2312,20 +2312,20 @@
 	height: auto;
 	box-sizing: border-box;
   }
-  
+
   .code_title {
 	width: 100%;
 	height: 50px;
 	background-color: #fdcb08;
 	justify-content: center;
-  
+
 	&>span {
 	  font-size: 22px;
 	  color: #000;
 	  font-weight: bold;
 	}
   }
-  
+
   .ORcode {
 	width: 100%;
 	background: #fff;
@@ -2336,7 +2336,7 @@
 	padding: 30px;
 	box-sizing: border-box;
 	border-bottom: 6px dotted #fdcb08;
-  
+
 	&>div {
 	  width: 180px;
 	  height: 180px;
@@ -2344,14 +2344,14 @@
 	  border-radius: 5px;
 	}
   }
-  
+
   .ORtitle {
 	background: #fff;
 	width: 100%;
 	padding: 20px;
 	box-sizing: border-box;
 	border-bottom: 1px solid #f2f2f2;
-  
+
 	&>div {
 	  width: 100%;
 	  margin: 10px 0;
@@ -2359,14 +2359,14 @@
 	  font-size: 14px;
 	  display: flex;
 	  align-items: center;
-  
+
 	  &>span {
 		&:nth-child(1) {
 		  color: #979797;
 		  text-align: end;
 		  width: 150px;
 		}
-  
+
 		&:nth-child(2) {
 		  color: #000;
 		  margin-left: 10px;
@@ -2374,7 +2374,7 @@
 	  }
 	}
   }
-  
+
   .queryForm {
 	background: #f2f7fc;
 	position: relative;
@@ -2383,7 +2383,7 @@
 	margin-top: 15px;
 	margin-bottom: 15px;
 	padding: 10px 20px 0;
-  
+
 	&:before {
 	  content: attr(title);
 	  position: absolute;
@@ -2393,40 +2393,40 @@
 	  background-color: #fff;
 	}
   }
-  
+
   /* 检索区End */
   /* 页面的整体布局 */
   .page-container {
 	margin: 0px 10px;
   }
-  
+
   .task {
 	border-color: #a6a6a6;
 	line-height: 25px;
 	font-size: 14px;
 	margin-bottom: 10px;
-  
+
 	.row {
 	  margin-bottom: 10px;
 	  line-height: 28px;
 	  font-size: 12px;
-  
+
 	  .label {
 		padding: 0 10px;
 	  }
 	}
   }
-  
+
   .task_bottom {
 	margin-top: 10px;
   }
-  
+
   .leftContainer {
 	width: 80px;
 	position: fixed;
 	top: 79px;
 	left: 30px;
-  
+
 	.el-col {
 	  width: 80px;
 	  height: 80px;
@@ -2435,55 +2435,55 @@
 	  cursor: pointer;
 	  color: #a6aeb9;
 	  border-radius: 0;
-  
+
 	  a {
 		display: block;
 		color: #a6aeb9;
 		text-decoration: none;
-  
+
 		&:hover {
 		  color: #fff;
 		}
-  
+
 		&.active {
 		  color: #fff;
 		}
 	  }
-  
+
 	  i {
 		font-size: 30px;
 		margin: 15px 0px 5px;
 	  }
 	}
   }
-  
+
   .rightContainer {
 	width: calc(100vw - 160px);
 	margin-left: 100px;
-  
+
 	.header {
 	  .el-col {
 		font-size: 18px;
 		font-weight: bold;
 	  }
 	}
-  
+
 	.bodyTitle {
 	  height: 40px;
 	  background: #f3f3f3;
 	  border: 1px solid #dddddd;
-  
+
 	  &>label {
 		margin: 0px 15px;
 		font-weight: bold;
 	  }
 	}
-  
+
 	.el-card {
 	  margin-bottom: 15px;
 	}
   }
-  
+
   .rightContainer #demo2 .body,
   .rightContainer #demo5 .body,
   .rightContainer #demo6 .body,
@@ -2496,7 +2496,7 @@
 	padding: 15px;
 	border-top: none;
   }
-  
+
   .imageStyle {
 	display: inline-block;
 	width: 100px;
@@ -2504,15 +2504,15 @@
 	box-shadow: #ddd 0px 0px 5px;
 	margin-left: 20px;
   }
-  
+
   .el-transfer-panel {
 	width: calc(100%/3) !important;
   }
-  
+
   .body {
 	.el-row {
 	  margin-bottom: 15px;
-  
+
 	  .el-col {
 		label {
 		  text-align: right;
@@ -2527,7 +2527,7 @@
 	  }
 	}
   }
-  
+
   .disabledInput {
 	width: 80% !important;
 	max-width: 200px;
@@ -2542,7 +2542,7 @@
 	height: 36px;
 	margin: 0px 10%;
   }
-  
+
   .Risk {
 	width: 100%;
 	height: auto;
@@ -2551,11 +2551,11 @@
 	align-items: center;
 	font-size: 12px;
   }
-  
+
   .Risk_title {
 	width: 100%;
 	height: 40px;
-  
+
 	&>div {
 	  background: rgb(199, 20, 45);
 	  color: rgb(255, 255, 255);
@@ -2569,26 +2569,26 @@
 	  justify-content: center;
 	  align-items: center;
 	  border-bottom: none;
-  
+
 	  &:nth-child(1) {
 		border-top-left-radius: 10px;
 	  }
-  
+
 	  &:nth-child(2) {
 		border-left: none;
 		border-right: none;
 	  }
-  
+
 	  &:nth-child(3) {
 		border-top-right-radius: 10px;
 	  }
 	}
   }
-  
+
   .Risk_data {
 	width: 100%;
 	height: 40px;
-  
+
 	&>div {
 	  background: #fbf6f7;
 	  color: rgb(51, 51, 51);
@@ -2602,14 +2602,14 @@
 	  justify-content: center;
 	  align-items: center;
 	  border-bottom: none;
-  
+
 	  &:nth-child(2) {
 		border-left: none;
 		border-right: none;
 	  }
 	}
   }
-  
+
   .bjdbody {
 	width: 100%;
 	height: auto;
@@ -2618,7 +2618,7 @@
 	box-sizing: border-box;
 	border-radius: 8px;
   }
-  
+
   .bjdCarMessage,
   .bjdCarSum {
 	width: 100%;
@@ -2628,14 +2628,14 @@
 	margin-bottom: 10px;
 	padding-bottom: 10px;
   }
-  
+
   .bjdfooter {
 	border-top: 1px solid #fff;
 	padding: 10px;
 	box-sizing: border-box;
 	color: #fff;
   }
-  
+
   .bjdCarSum {
 	&>div {
 	  width: 100%;
@@ -2646,7 +2646,7 @@
 	  border-bottom: 1px solid #f2f2f2;
 	}
   }
-  
+
   .bjdCarMessage1 {
 	height: 80px;
 	padding: 16px;
@@ -2655,7 +2655,7 @@
 	display: flex;
 	align-items: center;
 	color: #000;
-  
+
 	.f-c {
 	  &>span {
 		&:nth-child(1) {
@@ -2665,31 +2665,31 @@
 	  }
 	}
   }
-  
+
   .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;
 	  }
-  
+
 	  &:nth-child(2) {
 		color: #999;
 	  }
 	}
   }
-  
+
   .bjdCarMessage2 {
 	&>ul {
 	  li {
@@ -2697,7 +2697,7 @@
 	  }
 	}
   }
-  
+
   .display {
 	display: flex;
 	justify-content: center;
@@ -2705,19 +2705,19 @@
 	padding: 10px;
 	box-sizing: border-box;
   }
-  
+
   .dis {
 	display: flex;
   }
-  
+
   .align {
 	align-items: center;
   }
-  
+
   .jus {
 	justify-content: space-between;
   }
-  
+
   .headers {
     display: flex;
     align-items: center;

+ 3 - 3
src/views/Task/UnderwriteBack.vue

@@ -708,7 +708,7 @@
                        @click="cancelorder(scope.row)" style="color:#f56c6c">撤单</el-button>
             <el-button type="text" size="mini" v-if="scope.row.orderstatus == '2'"  @click="revokeCode(scope.row.id)">撤销二维码</el-button>
             <el-button size="mini" type="text"
-                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安财险', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
+                       v-if="scope.row.orderstatus == '2' && ['恒邦财险', '众安平安', '中国人寿', '安盛天平', '紫金财险'].includes(scope.row.inscompany)"
                        @click="querystatus(scope.row)" style="color:#f56c6c">状态更新</el-button>
             <el-button size="mini" type="text"
                        v-if="scope.row.orderstatus == '2' && scope.row.inscompany=='永诚财险'"
@@ -927,7 +927,7 @@
         <div style="padding:0 20px">
           <div class="ORcode ">
             <div style="padding:5px;position: relative;">
-              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安财险', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
+              <!-- <div v-show="['永安财险', '人保财险', '永诚财险', '中煤财险','华泰财险', '众安平安', '紫金财险','中国人寿'].includes(inscompany)" id="qrcode"
                 ref="qrcode">
               </div>
               <img v-show="['恒邦财险','安盛天平','国任财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" /> -->
@@ -1618,7 +1618,7 @@
               case "恒邦财险":
               case "安盛天平":
               case "中国人寿":
-              case "众安财险":
+              case "众安平安":
                 if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                   this.$api.letter.pythongetPolicyPrint({
                     subOrderNo: item.id,

+ 11 - 11
src/views/Task/daikeComponents/KhgxKtLetter.vue

@@ -1504,7 +1504,7 @@
                               font-size: 20px;
                               transform: scale(0.8);
                               vertical-align: middle;
-                            " :disabled="reslistitem.namesimple == '众安财险' &&
+                            " :disabled="reslistitem.namesimple == '众安平安' &&
                               reslistitem.result.tips == '需要验车'
                               " v-show="reslistitem.quoteCode == '200' &&
                                 reslistitem.lastYearMsg
@@ -1528,7 +1528,7 @@
                         </el-tooltip>
 
                       </div>
-                      <el-button :disabled="reslistitem.namesimple == '众安财险' &&
+                      <el-button :disabled="reslistitem.namesimple == '众安平安' &&
                         reslistitem.result.tips == '需要验车'
                         " v-show="reslistitem.quoteCode == '200' &&
                         !('editStatus' in reslistitem.result)
@@ -1935,7 +1935,7 @@
                         font-size: 20px;
                         transform: scale(0.8);
                         vertical-align: middle;
-                      " :disabled="reslistitem.namesimple == '众安财险' &&
+                      " :disabled="reslistitem.namesimple == '众安平安' &&
                         reslistitem.result.tips == '需要验车'
                         " v-show="reslistitem.quoteCode == '200' &&
                           reslistitem.lastYearMsg
@@ -1957,7 +1957,7 @@
                         reslistitem.namesimple == '中国人寿'
                         "></i>
                   </el-tooltip>
-                  <el-button :disabled="reslistitem.namesimple == '众安财险' &&
+                  <el-button :disabled="reslistitem.namesimple == '众安平安' &&
                     reslistitem.result.tips == '需要验车'
                     " v-show="reslistitem.quoteCode == '200' &&
                     !('editStatus' in reslistitem.result)
@@ -2255,7 +2255,7 @@
                 </el-table>
               </div>
             </template>
-            <template v-if="reslistitem.namesimple == '众安财险' &&
+            <template v-if="reslistitem.namesimple == '众安平安' &&
               reslistitem.checked &&
               reslistitem.agreementId &&
               isLetter !== '3'
@@ -7669,7 +7669,7 @@ export default {
               case "太平财险":
               case "安盛天平":
               case "华农财险":
-              case "众安财险":
+              case "众安平安":
               case "太平洋财险":
                 res.data.map((ele) => {
                   ele.quantity = 1;
@@ -7762,7 +7762,7 @@ export default {
       //   case "太平财险":
       //   case "安盛天平":
       //   case "华农财险":
-      //   case "众安财险":
+      //   case "众安平安":
       //     this.$api.letter.pythongetDriving({ agreementId: val }).then(res => {
       //       if (res.code == 200) {
       //         let data = res.data;
@@ -8162,7 +8162,7 @@ export default {
                   case "太平财险":
                   case "华农财险":
                   case "安盛天平":
-                  case "众安财险":
+                  case "众安平安":
                   case "太平洋财险":
                     res.data.map((ele) => {
                       ele.quantity = 1;
@@ -8255,7 +8255,7 @@ export default {
         //   case "恒邦财险":
         //   case "太平财险":
         //   case "华农财险":
-        //   case "众安财险":
+        //   case "众安平安":
         //     this.$api.letter
         //       .pythongetDriving({
         //         agreementId: this.totalCompanyList[index].agreement[0].id
@@ -10511,7 +10511,7 @@ export default {
               return;
             }
             break;
-          case "众安财险":
+          case "众安平安":
             if (!!res.data) {
               if (res.data.tips == "需要验车") {
                 this.$notify.error({
@@ -11654,7 +11654,7 @@ export default {
               case "华农财险":
               case "太平财险":
               case "安盛天平":
-              case "众安财险":
+              case "众安平安":
               case "中国人寿":
               case "太平洋财险":
               // case "诚泰财险":

+ 6 - 6
src/views/Task/daikeComponents/KtLetter.vue

@@ -5646,7 +5646,7 @@ export default {
       //         case "太平财险":
       //         case "安盛天平":
       //         case "华农财险":
-      //         case "众安财险":
+      //         case "众安平安":
       //           res.data.map((ele) => {
       //             ele.quantity = 1;
       //             return ele;
@@ -5739,7 +5739,7 @@ export default {
       //   case "太平财险":
       //   case "安盛天平":
       //   case "华农财险":
-      //   case "众安财险":
+      //   case "众安平安":
       //     this.$api.letter.pythongetDriving({ agreementId: val }).then(res => {
       //       if (res.code == 200) {
       //         let data = res.data;
@@ -6093,7 +6093,7 @@ export default {
           //         case "太平财险":
           //         case "华农财险":
           //         case "安盛天平":
-          //         case "众安财险":
+          //         case "众安平安":
           //           res.data.map((ele) => {
           //             ele.quantity = 1;
           //             return ele;
@@ -6185,7 +6185,7 @@ export default {
         //   case "恒邦财险":
         //   case "太平财险":
         //   case "华农财险":
-        //   case "众安财险":
+        //   case "众安平安":
         //     this.$api.letter
         //       .pythongetDriving({
         //         agreementId: this.totalCompanyList[index].agreement[0].id
@@ -8387,7 +8387,7 @@ export default {
               return;
             }
             break;
-          case "众安财险":
+          case "众安平安":
             if (!!res.data) {
               if (res.data.tips == "需要验车") {
                 this.$notify.error({
@@ -9333,7 +9333,7 @@ export default {
               case "华农财险":
               case "太平财险":
               case "安盛天平":
-              case "众安财险":
+              case "众安平安":
               case "中国人寿":
               case "泰康财险":
                 let hengbangapi = "";

+ 11 - 11
src/views/Task/daikeComponents/KtLetter1.vue

@@ -1727,7 +1727,7 @@ agreementitem, agreementindex
                               font-size: 20px;
                               transform: scale(0.8);
                               vertical-align: middle;
-                            " :disabled="reslistitem.namesimple == '众安财险' &&
+                            " :disabled="reslistitem.namesimple == '众安平安' &&
                               reslistitem.result.tips == '需要验车'
                               " v-show="reslistitem.quoteCode == '200' &&
                                 reslistitem.lastYearMsg
@@ -1751,7 +1751,7 @@ agreementitem, agreementindex
                         </el-tooltip>
 
                       </div>
-                      <el-button :disabled="reslistitem.namesimple == '众安财险' &&
+                      <el-button :disabled="reslistitem.namesimple == '众安平安' &&
                         reslistitem.result.tips == '需要验车'
                         " v-show="reslistitem.quoteCode == '200' &&
                           !('editStatus' in reslistitem.result)
@@ -2159,7 +2159,7 @@ agreementitem, agreementindex
                         font-size: 20px;
                         transform: scale(0.8);
                         vertical-align: middle;
-                      " :disabled="reslistitem.namesimple == '众安财险' &&
+                      " :disabled="reslistitem.namesimple == '众安平安' &&
                         reslistitem.result.tips == '需要验车'
                         " v-show="reslistitem.quoteCode == '200' &&
                           reslistitem.lastYearMsg
@@ -2181,7 +2181,7 @@ agreementitem, agreementindex
                         reslistitem.namesimple == '中国人寿'
                         "></i>
                   </el-tooltip>
-                  <el-button :disabled="reslistitem.namesimple == '众安财险' &&
+                  <el-button :disabled="reslistitem.namesimple == '众安平安' &&
                     reslistitem.result.tips == '需要验车'
                     " v-show="reslistitem.quoteCode == '200' &&
                     !('editStatus' in reslistitem.result)
@@ -2474,7 +2474,7 @@ agreementitem, agreementindex
 </el-table>
 </div>
 </template>
-<template v-if="reslistitem.namesimple == '众安财险' &&
+<template v-if="reslistitem.namesimple == '众安平安' &&
               reslistitem.checked &&
               reslistitem.agreementId &&
               isLetter !== '3'
@@ -8041,7 +8041,7 @@ export default {
               case "华安财险":
               case "泰山财险":
 
-              case "众安财险":
+              case "众安平安":
               case "太平洋财险":
                 res.data.map(ele => {
                   ele.quantity = 1;
@@ -8134,7 +8134,7 @@ export default {
       //   case "太平财险":
       //   case "安盛天平":
       //   case "华农财险":
-      //   case "众安财险":
+      //   case "众安平安":
       //     this.$api.letter.pythongetDriving({ agreementId: val }).then(res => {
       //       if (res.code == 200) {
       //         let data = res.data;
@@ -8533,7 +8533,7 @@ export default {
                   case "华安财险":
                   case "泰山财险":
                   case "安盛天平":
-                  case "众安财险":
+                  case "众安平安":
                   case "太平洋财险":
                     res.data.map(ele => {
                       ele.quantity = 1;
@@ -8626,7 +8626,7 @@ export default {
         //   case "恒邦财险":
         //   case "太平财险":
         //   case "华农财险":
-        //   case "众安财险":
+        //   case "众安平安":
         //     this.$api.letter
         //       .pythongetDriving({
         //         agreementId: this.totalCompanyList[index].agreement[0].id
@@ -10901,7 +10901,7 @@ export default {
               return;
             }
             break;
-          case "众安财险":
+          case "众安平安":
             if (!!res.data) {
               if (res.data.tips == "需要验车") {
                 this.$notify.error({
@@ -12067,7 +12067,7 @@ export default {
 
               case "太平财险":
               case "安盛天平":
-              case "众安财险":
+              case "众安平安":
               case "中国人寿":
               case "人保财险":
               case "太平洋财险":

+ 7 - 7
src/views/Task/daikeComponents/KtOrder.vue

@@ -146,7 +146,7 @@
                   '华农财险',
                   '恒邦财险',
                   '诚泰财险',
-                  '众安财险',
+                  '众安平安',
                   '中国人寿',
                   '人保财险',
                   '安盛天平',
@@ -180,7 +180,7 @@
                   '华农财险',
                   '恒邦财险',
                   '诚泰财险',
-                  '众安财险',
+                  '众安平安',
                   '中国人寿',
                   '人保财险',
                   '安盛天平',
@@ -509,7 +509,7 @@
                   '华农财险',
                   '恒邦财险',
                   '诚泰财险',
-                  '众安财险',
+                  '众安平安',
                   '中国人寿',
                   '人保财险',
                   '安盛天平',
@@ -1536,7 +1536,7 @@ export default {
         华农财险: "auditStatusQuery",
         恒邦财险: "auditStatusQuery",
         太平洋财险: "auditStatusQuery",
-        众安财险: "auditStatusQuery",
+        众安平安: "auditStatusQuery",
         中国人寿: "auditStatusQuery",
         人保财险: "auditStatusQuery",
         安盛天平: "auditStatusQuery",
@@ -1838,7 +1838,7 @@ export default {
       if (
         item.inscompany == "恒邦财险" ||
         item.inscompany == "太平洋财险" ||
-        item.inscompany == "众安财险" ||
+        item.inscompany == "众安平安" ||
         item.inscompany == "中国人寿" ||
         item.inscompany == "人保财险" ||
         item.inscompany == "安盛天平" ||
@@ -1971,7 +1971,7 @@ export default {
       //           this.creatQrCode(res.data.paymentLink);
       //         });
       //         break;
-      //       case "众安财险":
+      //       case "众安平安":
       //       this.paycodeimg = res.data.paymentLink;
       //         break;
       //       case "中国人寿":
@@ -2916,7 +2916,7 @@ export default {
                 case "中国人寿":
                 case "太平财险":
                 case "华农财险":
-                case "众安财险":
+                case "众安平安":
                 case "泰康财险":
                   if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                     this.$api.letter

+ 2 - 2
src/views/Task/mixin.js

@@ -1047,7 +1047,7 @@ export const mixin = { // 导出混入对象
             case "中国人寿":
             case "太平财险":
             case "华农财险":
-            case "众安财险":
+            case "众安平安":
               if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
                 this.$api.letter
                   .pythongetPolicyPrint({
@@ -1383,7 +1383,7 @@ export const mixin = { // 导出混入对象
         华农财险: "auditStatusQuery",
         恒邦财险: "auditStatusQuery",
         诚泰财险: "auditStatusQuery",
-        众安财险: "auditStatusQuery",
+        众安平安: "auditStatusQuery",
         中国人寿: "auditStatusQuery",
         安盛天平: "auditStatusQuery",
         紫金财险: "auditStatusQueryZijin",