ソースを参照

“渠道分组管理结构调整”

baijunde 2 年 前
親
コミット
80abe9acb5
2 ファイル変更、1488 行追加、631 行削除
  1. 16 0
      src/http/moudules/insCompany.js
  2. 1472 631
      src/views/AgreementManage/ChannelCost.vue

+ 16 - 0
src/http/moudules/insCompany.js

@@ -1053,3 +1053,19 @@ export const optionalSchemeDelete = (data) => {
     data
   })
 }
+
+
+//机构管理授权机构列表
+export const gainTopAgreementList = (type) => {
+  return axios({
+    url: 'esmInsCompany/gainTopAgreementList?type='+type,
+    method: "get",
+  })
+}
+//渠道费用分组管理设置费用右侧已勾选列表
+export const sysChannelGroup = (id) => {
+  return axios({
+    url: '/sysChannelGroup/queryInfo/'+id,
+    method: "get",
+  })
+}

+ 1472 - 631
src/views/AgreementManage/ChannelCost.vue

@@ -1,664 +1,1505 @@
 <template>
-    <div>
-        <templateTable ref="expandTable" :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig"
-            :data="tableData" @getList="getList" :btnGroup="btnGroup" @handleSearchList="handleSearchList"
-            :pagination="page" @handleRowChange="handleRowChange">
-            <template slot="expand" slot-scope="scope">
-                <div style="width: 100%;margin-left:55px">
-                    <el-table :data="scope.row.insAreaCompanyList" border size="small" :key="updateChildTable"
-                        :header-cell-style="{
-                            background: '#ccc',
-                            fontWeight: '700',
-                            color: '#606266',
-                        }">
-                        <el-table-column prop="gradeName" label="级别">
-                        </el-table-column>
-                        <el-table-column prop="jqCostsProportion" label="交强加投">
-                        </el-table-column>
-                        <el-table-column prop="syCostsProportion" label="商业加投">
-                        </el-table-column>
-                        <el-table-column prop="noCostsProportion" label="非车加投">
-                        </el-table-column>
-                    </el-table>
-                </div>
-            </template>
-        </templateTable>
+  <div>
+    <templateTable
+      ref="expandTable"
+      :formList="formList"
+      :searchData.sync="searchData"
+      :tableConfig="tableConfig"
+      :data="tableData"
+      @getList="getList"
+      :btnGroup="btnGroup"
+      @handleSearchList="handleSearchList"
+      :pagination="page"
+      @handleRowChange="handleRowChange"
+    >
+      <template slot="expand" slot-scope="scope">
+        <div style="width: 100%; margin-left: 55px">
+          <el-table
+            :data="scope.row.insAreaCompanyList"
+            border
+            size="small"
+            :key="updateChildTable"
+            :header-cell-style="{
+              background: '#ccc',
+              fontWeight: '700',
+              color: '#606266',
+            }"
+          >
+            <el-table-column prop="gradeName" label="级别"> </el-table-column>
+            <el-table-column prop="jqCostsProportion" label="交强加投">
+            </el-table-column>
+            <el-table-column prop="syCostsProportion" label="商业加投">
+            </el-table-column>
+            <el-table-column prop="noCostsProportion" label="非车加投">
+            </el-table-column>
+          </el-table>
+        </div>
+      </template>
+    </templateTable>
 
-        <el-dialog :title="dialogTitle" width="40%" :visible.sync="dialogVisibleadd">
-            <el-form ref="queryFormRef" :model="queryForm" label-width="120px" class="queryform" size="small">
-                <el-row>
-                    <el-col :span="12">
-                        <el-form-item label="名称">
-                            <el-input clearable style="width:220px" v-model.trim="queryForm.name"
-                                placeholder="请输入"></el-input>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="12">
-                        <el-form-item label="是否启动">
-                            <el-switch v-model="queryForm.enabled" active-color="#D42426" active-value="1"
-                                inactive-value="0">
-                            </el-switch>
-                        </el-form-item>
-                    </el-col>
-                </el-row>
-                <el-row>
+    <el-dialog
+      :title="dialogTitle"
+      width="40%"
+      :visible.sync="dialogVisibleadd"
+    >
+      <el-form
+        ref="queryFormRef"
+        :model="queryForm"
+        label-width="120px"
+        class="queryform"
+        size="small"
+      >
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="名称">
+              <el-input
+                clearable
+                style="width: 220px"
+                v-model.trim="queryForm.name"
+                placeholder="请输入"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否启动">
+              <el-switch
+                v-model="queryForm.enabled"
+                active-color="#D42426"
+                active-value="1"
+                inactive-value="0"
+              >
+              </el-switch>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="开始时间">
+              <el-date-picker
+                v-model="queryForm.startTime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                type="datetime"
+                placeholder="选择日期时间"
+              ></el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="结束时间">
+              <el-date-picker
+                v-model="queryForm.endTime"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                type="datetime"
+                placeholder="选择日期时间"
+              ></el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
+            <el-form-item label="费用描述">
+              <el-input
+                type="textarea"
+                clearable
+                v-model.trim="queryForm.remark"
+                placeholder="请输入"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-table :data="channelFeesData" border style="width: 100%">
+            <el-table-column prop="gradeName" label="分组级别">
+            </el-table-column>
+            <el-table-column prop="jqCostsProportion" label="交强加投比例">
+              <template slot-scope="scope">
+                <el-input
+                  size="small"
+                  v-model.trim="scope.row.jqCostsProportion"
+                  placeholder="请输入"
+                ></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column prop="syCostsProportion" label="商业加投比例">
+              <template slot-scope="scope">
+                <el-input
+                  size="small"
+                  v-model.trim="scope.row.syCostsProportion"
+                  placeholder="请输入"
+                ></el-input>
+              </template>
+            </el-table-column>
+            <el-table-column prop="noCostsProportion" label="非车加投比例">
+              <template slot-scope="scope">
+                <el-input
+                  size="small"
+                  v-model.trim="scope.row.noCostsProportion"
+                  placeholder="请输入"
+                ></el-input>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisibleadd = false"
+          >取 消</el-button
+        >
+        <el-button type="primary" size="small" @click="sumbit">确 定</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog title="设置费用" width="90%" :visible.sync="dialogVisible">
+      <el-row :gutter="20">
+        <el-col :span="5">
+          <div class="title">保险公司</div>
+          <div style="height: 874px; overflow-y: auto">
+            <el-tree
+              ref="tree"
+              :data="treeData"
+              accordion
+              :props="defaultProps"
+              show-checkbox
+              node-key="id"
+              :default-checked-keys="treekeys"
+              @check="treechange"
+              :default-expand-all="expandshow"
+              class="stafftree"
+            >
+            </el-tree>
+          </div>
+        </el-col>
+        <el-col :span="14">
+          <div class="title">协议内容</div>
+          <templateTable
+            ref="productTable"
+            :formList="formList1"
+            :tableConfig="productcopyItemColumns"
+            @selectionChange="selectionChange"
+            :data="productcopyItemResult"
+            @getList="productcopyItemFindPage"
+            @handleSearchList="handleSearchList1"
+            :pagination="productcopypage"
+          >
+          </templateTable>
+          <span class="dialog-footer">
+            <el-button size="small" @click="dialogVisible = false"
+              >取 消</el-button
+            >
+            <el-button type="primary" size="small" @click="sumbitInstitution"
+              >确 定</el-button
+            >
+          </span>
+        </el-col>
+        <el-col :span="5">
+          <div class="title">已选协议内容</div>
+          <templateTable
+            ref="productTable1"
+            :tableConfig="selectedProtocol"
+            @selectionChange="selectionChange"
+            :data="rightList"
+            @getList="productcopyItemFindPage"
+            @handleSearchList="handleSearchList1"
+          >
+          </templateTable>
+        </el-col>
+      </el-row>
+    </el-dialog>
+    <el-dialog
+      title="详情"
+      :visible.sync="productCostAddVehicleFactorVisible"
+      width="80%"
+      top="6vh"
+      @close="productcloseDialog"
+    >
+      <el-tabs v-model="activeName" type="card">
+        <el-tab-pane label="单交费用" name="feiyong" class="tab-panestyle">
+          <div class="tab-panecent">
+            <el-form
+              ref="productCostForm"
+              :model="productCostForm"
+              label-width="140px"
+              :size="overSize"
+              disabled
+            >
+              <el-row>
+                <h4>费用详情</h4>
+                <el-col
+                  :span="20"
+                  :offset="2"
+                  v-if="productCostAddDialogType == 'edit'"
+                >
+                  <el-form-item label="产品">
+                    <el-select
+                      v-model="productUpdateObj.productId"
+                      placeholder="请选择"
+                    >
+                      <el-option
+                        v-for="(item, index) in productsTypeoptions"
+                        :label="item.dictTag"
+                        :value="item.dictValue"
+                        :key="index"
+                      >
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="20" :offset="2">
+                  <el-form-item label="费用描述">
+                    <el-input
+                      type="textarea"
+                      v-model="productCostForm.costsDescription"
+                      placeholder="输入费用描述内容"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="10" :offset="2">
+                  <el-form-item label="费用起期" prop="costsStartDate">
+                    <el-date-picker
+                      style="width: 100%"
+                      v-model="productCostForm.costsStartDate"
+                      type="datetime"
+                      placeholder="选择费用开始日期"
+                      value-format="yyyy-MM-dd HH:mm:ss"
+                    >
+                    </el-date-picker>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="10">
+                  <el-form-item label="费用止期" prop="costsEndDate">
+                    <el-date-picker
+                      style="width: 100%"
+                      v-model="productCostForm.costsEndDate"
+                      type="datetime"
+                      placeholder="选择费用结束日期"
+                      value-format="yyyy-MM-dd HH:mm:ss"
+                    >
+                    </el-date-picker>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="10" :offset="2">
+                  <el-form-item label="优先级">
+                    <el-input
+                      style="width: 100%"
+                      v-model="productCostForm.priorityLevel"
+                      onkeyup="value=value.replace(/\D/g,'')"
+                      placeholder="输入数字"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="10" v-show="!!$route.query.isExternal">
+                  <el-form-item label="是否现询">
+                    <el-select
+                      v-model="productCostForm.isInquiryNow"
+                      placeholder="请选择"
+                    >
+                      <el-option value="1" label="是"></el-option>
+                      <el-option value="0" label="否"></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+              </el-row>
 
-                    <el-col :span="12">
-                        <el-form-item label="开始时间">
-                            <el-date-picker v-model="queryForm.startTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"
-                                placeholder="选择日期时间"></el-date-picker>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="12">
-                        <el-form-item label="结束时间">
-                            <el-date-picker v-model="queryForm.endTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime"
-                                placeholder="选择日期时间"></el-date-picker>
-                        </el-form-item>
-                    </el-col>
-                </el-row>
-                <el-row>
+              <!-- <el-row v-if="productjqincludes"> -->
+              <el-row>
+                <h4>交强险费用</h4>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    :label="
+                      $route.query.isExternal
+                        ? '交强入口手续费比例 '
+                        : '费用比例'
+                    "
+                    prop="jqCarCostsProportion"
+                  >
+                    <el-input
+                      v-model="productCostForm.jqCarCostsProportion"
+                      @blur="
+                        costRatioInput(
+                          'jqCostsProportion',
+                          'jqCarCostsProportion',
+                          'jqCarOtherCostsProportion'
+                        )
+                      "
+                      placeholder="请输入费用比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col
+                  :span="5"
+                  :offset="1"
+                  v-if="
+                    (permissions && !$route.query.isExternal) ||
+                    productCostForm.isInquiryNow === '0'
+                  "
+                >
+                  <el-form-item label="其他费用比例">
+                    <el-input
+                      disabled
+                      v-model="productCostForm.jqCarOtherCostsProportion"
+                      placeholder="请输入其他费用比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col
+                  :span="5"
+                  :offset="1"
+                  v-if="
+                    (permissions && !$route.query.isExternal) ||
+                    productCostForm.isInquiryNow === '0'
+                  "
+                >
+                  <el-form-item label="总费用比例" prop="jqCostsProportion">
+                    <el-input
+                      v-model="productCostForm.jqCostsProportion"
+                      @blur="
+                        totalCostRatioInput(
+                          'jqCostsProportion',
+                          'jqCarCostsProportion',
+                          'jqCarOtherCostsProportion'
+                        )
+                      "
+                      placeholder="请输入总费用比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="交强管理比例一级	"
+                    prop="jqExportRadioLevel1"
+                  >
+                    <el-input
+                      v-model="productCostForm.jqExportRadioLevel1"
+                      placeholder="请输入管理费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="交强管理比例二级	"
+                    prop="jqExportRadioLevel2"
+                  >
+                    <el-input
+                      v-model="productCostForm.jqExportRadioLevel2"
+                      placeholder="请输入管理费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="交强管理比例三级	"
+                    prop="jqExportRadioLevel3"
+                  >
+                    <el-input
+                      v-model="productCostForm.jqExportRadioLevel3"
+                      placeholder="请输入管理费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="交强管理比例四级	"
+                    prop="jqExportRadioLevel4"
+                  >
+                    <el-input
+                      v-model="productCostForm.jqExportRadioLevel4"
+                      placeholder="请输入管理费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="交强管理比例五级	"
+                    prop="jqExportRadioLevel5"
+                  >
+                    <el-input
+                      v-model="productCostForm.jqExportRadioLevel5"
+                      placeholder="请输入管理费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="交强出口手续比例"
+                    prop="jqCostsExportProportion"
+                  >
+                    <el-input
+                      v-model="productCostForm.jqCostsExportProportion"
+                      placeholder="请输入出口手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <!-- <el-row v-if="productsyincludes"> -->
+              <el-row>
+                <h4>商业险费用</h4>
 
-                    <el-col :span="24">
-                        <el-form-item label="费用描述">
-                            <el-input type="textarea" clearable v-model.trim="queryForm.remark"
-                                placeholder="请输入"></el-input>
-                        </el-form-item>
-                    </el-col>
-                    <el-table :data="channelFeesData" border style="width: 100%">
-                        <el-table-column prop="gradeName" label="分组级别">
-                        </el-table-column>
-                        <el-table-column prop="jqCostsProportion" label="交强加投比例">
-                            <template slot-scope="scope">
-                                <el-input size="small" v-model.trim="scope.row.jqCostsProportion"
-                                    placeholder="请输入"></el-input>
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="syCostsProportion" label="商业加投比例">
-                            <template slot-scope="scope">
-                                <el-input size="small" v-model.trim="scope.row.syCostsProportion"
-                                    placeholder="请输入"></el-input>
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="noCostsProportion" label="非车加投比例">
-                            <template slot-scope="scope">
-                                <el-input size="small" v-model.trim="scope.row.noCostsProportion"
-                                    placeholder="请输入"></el-input>
-                            </template>
-                        </el-table-column>
-                    </el-table>
-                </el-row>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    :label="
+                      $route.query.isExternal
+                        ? '商业入口手续费比例'
+                        : '费用比例'
+                    "
+                    prop="syCarCostsProportion"
+                  >
+                    <el-input
+                      v-model="productCostForm.syCarCostsProportion"
+                      @blur="
+                        totalCostRatioInput(
+                          'syCostsProportion',
+                          'syCarCostsProportion',
+                          'syCarOtherCostsProportion'
+                        )
+                      "
+                      placeholder="请输入费用比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+
+                <el-col
+                  :span="5"
+                  :offset="1"
+                  v-if="
+                    (permissions && !$route.query.isExternal) ||
+                    productCostForm.isInquiryNow === '0'
+                  "
+                >
+                  <el-form-item label="其他费用比例">
+                    <el-input
+                      v-model="productCostForm.syCarOtherCostsProportion"
+                      placeholder="请输入其他费用比例"
+                      disabled
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+
+                <el-col
+                  :span="5"
+                  :offset="1"
+                  v-if="
+                    (permissions && !$route.query.isExternal) ||
+                    productCostForm.isInquiryNow === '0'
+                  "
+                >
+                  <el-form-item label="总费用比例" prop="syCostsProportion">
+                    <el-input
+                      v-model="productCostForm.syCostsProportion"
+                      placeholder="请输入总费用比例"
+                      @blur="
+                        totalCostRatioInput(
+                          'syCostsProportion',
+                          'syCarCostsProportion',
+                          'syCarOtherCostsProportion'
+                        )
+                      "
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="商业手续比例一级	"
+                    prop="syExportRadioLevel1"
+                  >
+                    <el-input
+                      v-model="productCostForm.syExportRadioLevel1"
+                      placeholder="请输入手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="商业手续比例二级	"
+                    prop="syExportRadioLevel2"
+                  >
+                    <el-input
+                      v-model="productCostForm.syExportRadioLevel2"
+                      placeholder="请输入手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="商业手续比例三级	"
+                    prop="syExportRadioLevel3"
+                  >
+                    <el-input
+                      v-model="productCostForm.syExportRadioLevel3"
+                      placeholder="请输入手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="商业手续比例四级	"
+                    prop="syExportRadioLevel4"
+                  >
+                    <el-input
+                      v-model="productCostForm.syExportRadioLevel4"
+                      placeholder="请输入手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="商业手续比例五级	"
+                    prop="syExportRadioLevel5"
+                  >
+                    <el-input
+                      v-model="productCostForm.syExportRadioLevel5"
+                      placeholder="请输入手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="商业出口手续比例"
+                    prop="syCostsExportProportion"
+                  >
+                    <el-input
+                      v-model="productCostForm.syCostsExportProportion"
+                      placeholder="请输入出口手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row>
+                <h4>非车费用</h4>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    :label="
+                      $route.query.isExternal
+                        ? '非车入口手续费比例'
+                        : '费用比例'
+                    "
+                    prop="noCarCostsProportion"
+                  >
+                    <el-input
+                      v-model="productCostForm.noCarCostsProportion"
+                      @blur="
+                        totalCostRatioInput(
+                          'noCostsProportion',
+                          'noCarCostsProportion',
+                          'noCarOtherCostsProportion'
+                        )
+                      "
+                      placeholder="请输入费用比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+
+                <el-col
+                  :span="5"
+                  :offset="1"
+                  v-if="
+                    (permissions && !$route.query.isExternal) ||
+                    productCostForm.isInquiryNow === '0'
+                  "
+                >
+                  <el-form-item label="其他费用比例">
+                    <el-input
+                      v-model="productCostForm.noCarOtherCostsProportion"
+                      placeholder="请输入其他费用比例"
+                      disabled
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+
+                <el-col
+                  :span="5"
+                  :offset="1"
+                  v-if="
+                    (permissions && !$route.query.isExternal) ||
+                    productCostForm.isInquiryNow === '0'
+                  "
+                >
+                  <el-form-item label="总费用比例" prop="noCostsProportion">
+                    <el-input
+                      v-model="productCostForm.noCostsProportion"
+                      placeholder="请输入总费用比例"
+                      @blur="
+                        totalCostRatioInput(
+                          'noCostsProportion',
+                          'noCarCostsProportion',
+                          'noCarOtherCostsProportion'
+                        )
+                      "
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="非车手续比例一级	"
+                    prop="noCarExportRadioLevel1"
+                  >
+                    <el-input
+                      v-model="productCostForm.noCarExportRadioLevel1"
+                      placeholder="请输入手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="非车手续比例二级	"
+                    prop="noCarExportRadioLevel2"
+                  >
+                    <el-input
+                      v-model="productCostForm.noCarExportRadioLevel2"
+                      placeholder="请输入手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="非车手续比例三级	"
+                    prop="noCarExportRadioLevel3"
+                  >
+                    <el-input
+                      v-model="productCostForm.noCarExportRadioLevel3"
+                      placeholder="请输入手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="非车手续比例四级	"
+                    prop="noCarExportRadioLevel4"
+                  >
+                    <el-input
+                      v-model="productCostForm.noCarExportRadioLevel4"
+                      placeholder="请输入手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="非车手续比例五级	"
+                    prop="noCarExportRadioLevel5"
+                  >
+                    <el-input
+                      v-model="productCostForm.noCarExportRadioLevel5"
+                      placeholder="请输入手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5" :offset="1">
+                  <el-form-item
+                    label="非车出口手续比例"
+                    prop="noCostsExportProportion"
+                  >
+                    <el-input
+                      v-model="productCostForm.noCostsExportProportion"
+                      placeholder="请输入出口手续费比例"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+              </el-row>
             </el-form>
-            <span slot="footer" class="dialog-footer">
-                <el-button size="small" @click="dialogVisibleadd = false">取 消</el-button>
-                <el-button type="primary" size="small" @click="sumbit">确 定</el-button>
-            </span>
-        </el-dialog>
-        <el-dialog title="设置费用" width="80%" :visible.sync="dialogVisible">
-            <templateTable ref="productTable" :formList="formList1" :tableConfig="productcopyItemColumns"
-                @selectionChange="selectionChange" :data="productcopyItemResult" @getList="productcopyItemFindPage"
-                @handleSearchList="handleSearchList1" :pagination="productcopypage">
-            </templateTable>
-            <span slot="footer" class="dialog-footer">
-                <el-button size="small" @click="dialogVisible = false">取 消</el-button>
-                <el-button type="primary" size="small" @click="sumbitInstitution">确 定</el-button>
-            </span>
-        </el-dialog>
-    </div>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane
+          label="产品费用因子"
+          name="yinzi"
+          class="tab-panestyle"
+          v-if="!$route.query.isExternal"
+        >
+          <div class="tab-panecent2">
+            <Product-Cost-Form
+              ref="ProductRef"
+              v-if="productCostAddVehicleFactorVisible"
+              :form="dynamicFormArray"
+              :operator="operatorlist"
+              over-size="small"
+              :disabled="true"
+            ></Product-Cost-Form>
+          </div>
+        </el-tab-pane>
+      </el-tabs>
+      <span slot="footer" class="dialog-footer">
+        <el-button
+          :size="overSize"
+          style="background: #eaedf1; color: #2d4d89"
+          @click="productCostAddVehicleFactorVisible = false"
+          >取 消</el-button
+        >
+        <!-- <el-button :size="overSize" style="background: #2D4D89;color: #fff;border-color: #2D4D89;" type="primary"
+          @click="productCostAddSubmit('productCostForm')">确 定</el-button> -->
+      </span>
+    </el-dialog>
+  </div>
 </template>
 <script>
 import templateTable from "@/components/TemplateTable/index.vue";
+import ProductCostForm from "@/components/Form/ProductCostForm.vue"; //表单组件
 
 export default {
-    name: "ChannelCost",
-    components: { templateTable },
-    data() {
-        return {
-            dept: '',
-            queryForm: {},
-            dialogTitle: '新增',
-            rowId: '',
-            dialogVisible: false,
-            dialogVisibleadd: false,
-            labelWidth: '100px',
-            btnGroup: [
-                {
-                    name: '新增',
-                    click: () => this.add()
-                }
-            ],
-            formList: [
-                {
-                    label: "渠道分组名称",
-                    prop: "name",
-                    type: "input",
-                },
-
-            ],
-            formList1: [
-                {
-                    label: "保险公司",
-                    prop: "companyId",
-                    type: "company",
-                    change:(partnerCompaniesId,val)=>{
-                        this.findAgreement(partnerCompaniesId)
-                    }
-                },
-                {
-                    label: "协议",
-                    prop: "agreementId",
-                    type: "select",
-                    options: []
-                },
-                {
-                    label: "产品类型",
-                    prop: "productCode",
-                    type: "select",
-                    options: []
-                },
-                {
-                    label: "审核状态",
-                    prop: "isAudit",
-                    type: "select",
-                    options: []
-                },
-                {
-                    label: "费用起期",
-                    prop: "costStartDate",
-                    type: "date",
-                },
-                {
-                    label: "费用止期",
-                    prop: "costsEndDate",
-                    type: "date",
-                },
-                {
-                    label: "是否有效",
-                    prop: "isEffective",
-                    type: "select",
-                    options: [
-                        {
-                            label: '失效',
-                            value: '1'
-                        },
-                        {
-                            label: '有效',
-                            value: '2'
-                        }
-                    ]
-                },
-                {
-                    label: "费用描述",
-                    prop: "costsDescription",
-                    type: "input",
-                },
+  name: "ChannelCost",
+  components: { templateTable, ProductCostForm },
+  data() {
+    return {
+      productCostAddVehicleFactorVisible: false, //详情弹窗显示
+      activeName: "feiyong",
+      tabtitle: "",
+      //产品费用
+      productCostForm: {
+        agreementId: "",
+        productName: [],
+        productId: [],
+        costsDescription: "", //费用描述
+        costsStartDate: "", //费用起期
+        costsEndDate: "", //费用止期
+        priorityLevel: "", //方案优先级
+        jqCarCostsProportion: 4, //费用比例(交强)
+        jqCarOtherCostsProportion: "", //其他费用比例(交强)
+        jqCostsProportion: "", //总费用比例(交强)
+        jqExportRadioLevel1: "", //交强出口比例1级
+        jqExportRadioLevel2: "", //交强出口比例2级
+        jqExportRadioLevel3: "", //交强出口比例3级
+        jqExportRadioLevel4: "", //交强出口比例4级
+        jqExportRadioLevel5: "", //交强出口比例5级
+        syCarCostsProportion: "", //费用比例(商业)
+        syCarOtherCostsProportion: "", //其他费用比例(商业)
+        syCostsProportion: "", //总费用比例(商业)
+        syExportRadioLevel1: "", //商业出口比例1级
+        syExportRadioLevel2: "", //商业出口比例2级
+        syExportRadioLevel3: "", //商业出口比例3级
+        syExportRadioLevel4: "", //商业出口比例4级
+        syExportRadioLevel5: "", //商业出口比例5级
+        noCarExportRadioLevel1: "", //非车出口比例1级
+        noCarExportRadioLevel2: "", //非车出口比例2级
+        noCarExportRadioLevel3: "", //非车出口比例3级
+        noCarExportRadioLevel4: "", //非车出口比例4级
+        noCarExportRadioLevel5: "", //非车出口比例5级
+        jqExportInvestmentRadio: "", //交强出口加投比例
+        syExportInvestmentRadio: "", //商业出口加投比例
+        noCarExportInvestmentRadio: "", //非车出口加投比例
+        noCarCostsProportion: "", //费用比例(非车)
+        noCarOtherCostsProportion: "", //其他费用比例(非车)
+        noCostsProportion: "", //总费用比例(非车)
+        costsAttrLinks: [], //费用因子
+        isInquiryNow: "1", // 是否现询
+      },
+      overSize: "small",
+      productCostAddDialogType: "add",
+      permissions: null,
+      dynamicFormArray: [],
+      operatorlist: [],
+      //操作符字典
+      operator: {
+        pageNum: 1,
+        pageSize: 10,
+        columnFilters: {
+          label: { name: "label", value: "agreement_operator" },
+        },
+      },
 
-            ],
-            searchData: {},
-            page: {
-                pageNum: 1,
-                pageSize: 20,
-                totalSize: 0
+      dept: "",
+      queryForm: {},
+      dialogTitle: "新增",
+      rowId: "",
+      dialogVisible: false,
+      dialogVisibleadd: false,
+      labelWidth: "100px",
+      btnGroup: [
+        {
+          name: "新增",
+          click: () => this.add(),
+        },
+      ],
+      formList: [
+        {
+          label: "渠道分组名称",
+          prop: "name",
+          type: "input",
+        },
+      ],
+      formList1: [
+        {
+          label: "产品类型",
+          prop: "productCode",
+          type: "select",
+          options: [],
+        },
+        {
+          label: "审核状态",
+          prop: "isAudit",
+          type: "select",
+          options: [],
+        },
+        {
+          label: "费用起期",
+          prop: "costStartDate",
+          type: "date",
+        },
+        {
+          label: "费用止期",
+          prop: "costsEndDate",
+          type: "date",
+        },
+        {
+          label: "是否有效",
+          prop: "isEffective",
+          type: "select",
+          options: [
+            {
+              label: "失效",
+              value: "1",
             },
-            productcopypage: {
-                pageNum: 1,
-                pageSize: 10,
-                totalSize: 0
+            {
+              label: "有效",
+              value: "2",
             },
-            tableData: [],
-            tableConfig: {
-                columns: [
-                    {
-                        prop: "name",
-                        label: "费用名称",
-                        type: "text"
-                    },
-                    {
-                        prop: "remark",
-                        label: "费用描述",
-                        type: "text"
-                    },
-                    {
-                        prop: "startTime",
-                        label: "开始时间",
-                        type: "text"
-                    },
-                    {
-                        prop: "endTime",
-                        label: "结束时间",
-                        type: "text"
-                    },
-                    {
-                        prop: "enabled",
-                        label: "是否启动",
-                        type: "text"
-                    },
-                ],
-                expand: true,
-                loading: true,
-                isPaginationShow: true,
-                optBtns: [
-                    {
-                        type: "primary",
-                        label: "设置费用",
-                        click: (row, index) => {
-                            return this.setFees(row)
-                        },
-                    },
-                    {
-                        type: "primary",
-                        label: "修改",
-                        click: (row, index) => {
-                            return this.handleTableUpload(row);
-                        },
-                    },
-                    {
-                        type: "primary",
-                        label: "删除",
-                        click: (row, index) => {
-                            return this.handleTableDatl(row);
-                        },
-                    },
-
-                ],
+          ],
+        },
+        {
+          label: "费用描述",
+          prop: "costsDescription",
+          type: "input",
+        },
+      ],
+      searchData: {},
+      page: {
+        pageNum: 1,
+        pageSize: 20,
+        totalSize: 0,
+      },
+      productcopypage: {
+        pageNum: 1,
+        pageSize: 10,
+        totalSize: 0,
+      },
+      tableData: [],
+      tableConfig: {
+        columns: [
+          {
+            prop: "name",
+            label: "费用名称",
+            type: "text",
+          },
+          {
+            prop: "remark",
+            label: "费用描述",
+            type: "text",
+          },
+          {
+            prop: "startTime",
+            label: "开始时间",
+            type: "text",
+          },
+          {
+            prop: "endTime",
+            label: "结束时间",
+            type: "text",
+          },
+          {
+            prop: "enabled",
+            label: "是否启动",
+            type: "text",
+          },
+        ],
+        expand: true,
+        loading: true,
+        isPaginationShow: true,
+        optBtns: [
+          {
+            type: "primary",
+            label: "设置费用",
+            click: (row, index) => {
+              return this.setFees(row);
+            },
+          },
+          {
+            type: "primary",
+            label: "修改",
+            click: (row, index) => {
+              return this.handleTableUpload(row);
             },
-            productcopyItemColumns: {
-                columns: [
-                    {
-                        prop: "productName", label: "产品名称",
-                        type: "text"
-                    },
-                    {
-                        prop: "insuranceCompany", label: "保险公司名称",
-                        type: "text"
-                    },
-                    {
-                        prop: "agreementName", label: "协议名称",
-                        type: "text"
-                    },
-                    {
-                        prop: "costsStartDate", label: "费用起期",
-                        width: 160,
-                        type: "text"
-                    },
-                    {
-                        prop: "costsEndDate", label: "费用止期",
-                        width: 160,
-                        type: "text"
-                    },
-                    {
-                        prop: "costsDescription", label: "费用描述",
-                        width: 220,
-                        type: "text"
-                    },
-                    {
-                        prop: "desc", label: "费用因子描述",
-                        width: 500,
-                        type: "text"
-                    },
-                    {
-                        prop: "priorityLevel", label: "方案优先级",
-                        type: "text"
-                    },
-                    // {
-                    //     prop: "jqCarCostsProportion",
-                    //     label: "费用比例(交强)",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "jqCarOtherCostsProportion",
-                    //     label: "其他费用比例(交强)",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "jqCostsProportion",
-                    //     label: "总费用比例(交强)",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "jqExportRadioLevel1",
-                    //     label: "交强出口比例一级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "jqExportRadioLevel2",
-                    //     label: "交强出口比例二级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "jqExportRadioLevel3",
-                    //     label: "交强出口比例三级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "jqExportRadioLevel4",
-                    //     label: "交强出口比例四级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "jqExportRadioLevel5",
-                    //     label: "交强出口比例五级",
-                    //     type: "text"
-                    // },
+          },
+          {
+            type: "primary",
+            label: "删除",
+            click: (row, index) => {
+              return this.handleTableDatl(row);
+            },
+          },
+        ],
+      },
+      productcopyItemColumns: {
+        columns: [
+          {
+            prop: "productName",
+            label: "产品名称",
+            type: "text",
+          },
+          {
+            prop: "insuranceCompany",
+            label: "保险公司名称",
+            type: "text",
+          },
+          {
+            prop: "agreementName",
+            label: "协议名称",
+            type: "text",
+          },
+          {
+            prop: "costsStartDate",
+            label: "费用起期",
+            width: 160,
+            type: "text",
+          },
+          {
+            prop: "costsEndDate",
+            label: "费用止期",
+            width: 160,
+            type: "text",
+          },
+          {
+            prop: "costsDescription",
+            label: "费用描述",
+            width: 220,
+            type: "text",
+          },
+          {
+            prop: "desc",
+            label: "费用因子描述",
+            width: 500,
+            type: "text",
+          },
+          {
+            prop: "priorityLevel",
+            label: "方案优先级",
+            type: "text",
+          },
+
+          // {
+          //     prop: "jqCarCostsProportion",
+          //     label: "费用比例(交强)",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "jqCarOtherCostsProportion",
+          //     label: "其他费用比例(交强)",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "jqCostsProportion",
+          //     label: "总费用比例(交强)",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "jqExportRadioLevel1",
+          //     label: "交强出口比例一级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "jqExportRadioLevel2",
+          //     label: "交强出口比例二级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "jqExportRadioLevel3",
+          //     label: "交强出口比例三级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "jqExportRadioLevel4",
+          //     label: "交强出口比例四级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "jqExportRadioLevel5",
+          //     label: "交强出口比例五级",
+          //     type: "text"
+          // },
 
-                    // {
-                    //     prop: "syCarCostsProportion",
-                    //     label: "费用比例(商业)",
-                    //     minWidth: 120,
-                    // },
-                    // {
-                    //     prop: "syCarOtherCostsProportion",
-                    //     label: "其他费用比例(商业)",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "syCostsProportion",
-                    //     label: "总费用比例(商业)",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "syExportRadioLevel1",
-                    //     label: "商业出口比例一级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "syExportRadioLevel2",
-                    //     label: "商业出口比例二级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "syExportRadioLevel3",
-                    //     label: "商业出口比例三级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "syExportRadioLevel4",
-                    //     label: "商业出口比例四级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "syExportRadioLevel5",
-                    //     label: "商业出口比例五级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "noCarCostsProportion",
-                    //     label: "费用比例(非车)",
-                    //     minWidth: 120,
-                    // },
-                    // {
-                    //     prop: "noCarOtherCostsProportion",
-                    //     label: "其他费用比例(非车)",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "noCostsProportion",
-                    //     label: "总费用比例(非车)",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "noCarExportRadioLevel1",
-                    //     label: "非车出口比例一级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "noCarExportRadioLevel2",
-                    //     label: "非车出口比例二级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "noCarExportRadioLevel3",
-                    //     label: "非车出口比例三级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "noCarExportRadioLevel4",
-                    //     label: "非车出口比例四级",
-                    //     type: "text"
-                    // },
-                    // {
-                    //     prop: "noCarExportRadioLevel5",
-                    //     label: "非车出口比例五级",
-                    //     type: "text"
-                    // },
-                ],
-                loading: true,
-                isPaginationShow: true,
-                isCheckBox: true
+          // {
+          //     prop: "syCarCostsProportion",
+          //     label: "费用比例(商业)",
+          //     minWidth: 120,
+          // },
+          // {
+          //     prop: "syCarOtherCostsProportion",
+          //     label: "其他费用比例(商业)",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "syCostsProportion",
+          //     label: "总费用比例(商业)",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "syExportRadioLevel1",
+          //     label: "商业出口比例一级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "syExportRadioLevel2",
+          //     label: "商业出口比例二级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "syExportRadioLevel3",
+          //     label: "商业出口比例三级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "syExportRadioLevel4",
+          //     label: "商业出口比例四级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "syExportRadioLevel5",
+          //     label: "商业出口比例五级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "noCarCostsProportion",
+          //     label: "费用比例(非车)",
+          //     minWidth: 120,
+          // },
+          // {
+          //     prop: "noCarOtherCostsProportion",
+          //     label: "其他费用比例(非车)",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "noCostsProportion",
+          //     label: "总费用比例(非车)",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "noCarExportRadioLevel1",
+          //     label: "非车出口比例一级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "noCarExportRadioLevel2",
+          //     label: "非车出口比例二级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "noCarExportRadioLevel3",
+          //     label: "非车出口比例三级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "noCarExportRadioLevel4",
+          //     label: "非车出口比例四级",
+          //     type: "text"
+          // },
+          // {
+          //     prop: "noCarExportRadioLevel5",
+          //     label: "非车出口比例五级",
+          //     type: "text"
+          // },
+        ],
+        optBtns: [
+          {
+            type: "primary",
+            label: "详情",
+            // hide:(row) => {
+            //  return row.importStatus == 1?true:false
+            // },
+            click: (row, index) => {
+              return this.details(row);
             },
-            channelFeesData: [],
-            productcopyItemResult: [],
-            updateChildTable: false,
-            costIdList: []
-        };
-    },
-    created() {
-        this.getList();
-        this.$api.insCompany.dicType("productsType").then((res) => {
-            if (res.code == 200) {
-                this.formList1.forEach(val => {
-                    if (val.prop == 'productCode') {
-                        val.options = res.data.ddList
-                    }
-                })
-            }
+          },
+        ],
+        loading: true,
+        isPaginationShow: true,
+        isCheckBox: true,
+      },
+      selectedProtocol: {
+        columns: [
+          {
+            prop: "agreementName",
+            label: "协议名称",
+            width: 80,
+            type: "text",
+          },
+          {
+            prop: "costsDescription",
+            label: "费用描述",
+            width: 80,
+            type: "text",
+          },
+        ],
+        optBtns: [
+          {
+            type: "primary",
+            label: "详情",
+            // hide:(row) => {
+            //  return row.importStatus == 1?true:false
+            // },
+            click: (row, index) => {
+              return this.details(row);
+            },
+          },
+        ],
+        loading: true,
+        isPaginationShow: true,
+        isCheckBox: true,
+        tableHeight:'823px',
+      },
+      channelFeesData: [],
+      productcopyItemResult: [],
+      updateChildTable: false,
+      costIdList: [],
+      treeData: [], //左侧结构树
+      defaultProps: {
+        //自定义参数
+        children: "agreementList",
+        label: "name",
+      },
+      treekeys: [],
+      expandshow: false,
+      agreementList: [], //左侧树查询参数
+      rightList:[]//右侧列表
+    };
+  },
+  created() {
+    this.getList();
+    this.getLeftTree();
+    this.$api.insCompany.dicType("productsType").then((res) => {
+      if (res.code == 200) {
+        this.formList1.forEach((val) => {
+          if (val.prop == "productCode") {
+            val.options = res.data.ddList;
+          }
         });
-      
-
-        let data = { "pageNum": 1, "pageSize": 10, "columnFilters": { "label": { "name": "label", "value": "agreement_audit_status" } } }
-        this.$api.dict.findPage(data).then(res => {
-            if (res.code == 200) {
-                this.formList1.forEach(val => {
-                    if (val.prop == 'isAudit') {
-                        val.options = res.data.content
-                    }
-                })
-            }
-        })
+      }
+    });
+    //获取操作符
+    this.$api.dict.findPage(this.operator).then((res) => {
+      this.operatorlist = res.data.content;
+    });
 
-        this.$api.dept.findDeptTree("9", "").then((res) => {
-            this.treedata = res.data;
+    let data = {
+      pageNum: 1,
+      pageSize: 10,
+      columnFilters: {
+        label: { name: "label", value: "agreement_audit_status" },
+      },
+    };
+    this.$api.dict.findPage(data).then((res) => {
+      if (res.code == 200) {
+        this.formList1.forEach((val) => {
+          if (val.prop == "isAudit") {
+            val.options = res.data.content;
+          }
         });
-      
+      }
+    });
 
+    this.$api.dept.findDeptTree("9", "").then((res) => {
+      this.treedata = res.data;
+    });
+  },
+  methods: {
+    //查看详情
+    details(row) {
+        console.log(row);
+        
+    //   this.$api.insCompany.productcostFactorQuery(row.id).then((res) => {
+    //     if (res.code == "200") {
+    //       let obj = Object.assign({}, res.data);
+    //       this.dynamicFormArray = res.data.costsAttrLinks;
+    //       this.productCostForm = obj;
+    //       obj.costsAttrLinks.map((val) => {
+    //         switch (val.attrType) {
+    //           case "inputNumber":
+    //             if (!val.operator) {
+    //               val.operator = "1";
+    //             }
+    //             break;
+    //         }
+    //         if (val.attrCode == "LicenseNo") {
+    //           val.dictLabal = this.areanumberplateList;
+    //         }
+    //         if (val.attrCode == "LicenseArea") {
+    //           val.dictLabal = this.licenseAreaList;
+    //         }
+    //         return val;
+    //       });
+         
+    //         this.productCostAddVehicleFactorVisible = true;
+    //     } else {
+    //       this.$message({
+    //         type: "error",
+    //         message: res.msg,
+    //       });
+    //     }
+    //   });
     },
-    methods: {
-        setFees(row) {
-            this.rowId = row.id
-            this.dialogVisible = true
-            this.productcopyItemFindPage()
-            this.findAgreement()
-        },
-        findAgreement(partnerCompaniesId){
-            this.$api.insCompany.findAgreementByCompanyId({ isExternal: 0,partnerCompaniesId }).then((res) => {
-            if (res.code == 200) {
-                this.formList1.forEach(val => {
-                    if (val.prop == 'agreementId') {
-                        res.data.forEach(e => {
-                            e.name = e.agreementName + (e.jobDescriptione ? '-' + e.jobDescription : '') + (e.businessDescription ? '-' + e.businessDescription : '')
-                        })
-                        val.options = res.data
-                    }
-                })
-            }
+    //弹窗关闭
+    productcloseDialog() {
+      this.productCostAddVehicleFactorVisible = false;
+      for (const key in this.productCostForm) {
+        if (key !== "agreementId" && key !== "costsAttrLinks") {
+          this.productCostForm[key] = "";
+        }
+      }
+      this.productCostForm.productId = [];
+      this.productCostForm.productName = [];
+      this.productCostForm.isInquiryNow = "1";
+    },
+    //获取左侧结构树
+    getLeftTree() {
+      this.$api.insCompany.gainTopAgreementList(1).then((res) => {
+        this.treeData = res.data;
+        this.setDisabled(this.treeData);
+      });
+    },
+    //  向有children的节点上增加disabled属性
+    setDisabled(treeData) {
+      if (treeData) {
+        treeData.forEach((item) => {
+          if (!item.agreementList == []) {
+            item.disabled = true;
+            this.setDisabled(item.children);
+          }
         });
-        },
-        handleSearchList1(val) {
-            this.productcopyItemFindPage(val)
-        },
-        selectionChange(val, refs) {
-            this.costIdList = []
-            this.costIdList = val
-        },
-        productcopyItemFindPage(data) {
-            this.productcopyItemColumns.loading = true;
-            this.$api.sys
-                .agreementGetProductPage({ id: this.rowId, ...this.productcopypage, ...data })
-                .then(res => {
-                    if (res.code == 200) {
-                        let productTable = this.$refs.productTable.$refs.table
-                        this.productcopyItemResult = res.data.records;
-                        this.productcopypage.pageNum = res.data.current;
-                        this.productcopypage.pageSize = res.data.size;
-                        this.productcopypage.totalSize = res.data.total;
-                        this.productcopyItemColumns.loading = false;
-                        this.$nextTick(() => {
-                            this.productcopyItemResult.forEach((val) => {
-                                if (val.check) {
-                                    productTable.toggleRowSelection(val);
-                                }
-                            });
-                        });
-                    } else {
-                        this.productcopyItemResult = [];
-                        this.$message.error(res.msg);
-                        this.productcopypage.totalSize = 0;
-                        this.productcopyItemColumns.loading = false;
-                    }
+      }
+    },
+    //获取选中节点
+    treechange(node, nodeState) {
+      if (this.agreementList.includes(node.id)) {
+        // return
+        this.agreementList = this.agreementList.filter(
+          (item) => item !== node.id
+        );
+      } else {
+        this.agreementList.push(node.id);
+      }
+    },
+    setFees(row) {
+      this.rowId = row.id;
+      this.dialogVisible = true;
+      this.productcopyItemFindPage();
+      this.findAgreement();
+      this.getRightList(row.id)
+    },
+    //获取设置费用右侧已勾选列表
+    getRightList(id){
+        this.selectedProtocol.loading = true
+        this.$api.insCompany.sysChannelGroup(id).then(res => {
+            console.log(res);
+            this.rightList = res.data
+            this.selectedProtocol.loading = false
+            
+        })
+    },
+    findAgreement(partnerCompaniesId) {
+      this.$api.insCompany
+        .findAgreementByCompanyId({ isExternal: 0, partnerCompaniesId })
+        .then((res) => {
+          if (res.code == 200) {
+            this.formList1.forEach((val) => {
+              if (val.prop == "agreementId") {
+                res.data.forEach((e) => {
+                  e.name =
+                    e.agreementName +
+                    (e.jobDescriptione ? "-" + e.jobDescription : "") +
+                    (e.businessDescription ? "-" + e.businessDescription : "");
                 });
-        },
-        handleRowChange(row) {
-            let expandTable = this.$refs.expandTable.$refs.table
-            if (!row.expanded) {
-                this.$api.sys.sysChannelGroupQuery(row.id).then(res => {
-                    if (res.code == "200") {
-                        this.tableData.map(item => {
-                            if (item.id === row.id) {
-                                item.insAreaCompanyList = res.data.sysChannelGroupInfos
-                            }
-                            return item;
-                        });
-                        this.updateChildTable = !this.updateChildTable;
-                        row.expanded = !row.expanded;
-                        expandTable.toggleRowExpansion(row, row.expanded);
+                val.options = res.data;
+              }
+            });
+          }
+        });
+    },
+    handleSearchList1(val) {
+      this.productcopyItemFindPage(val);
+    },
+    selectionChange(val, refs) {
+      this.costIdList = [];
+      this.costIdList = val;
+    },
+    productcopyItemFindPage(data) {
+      this.productcopyItemColumns.loading = true;
 
-                    } else {
-                        this.$message.info("暂无数据");
-                    }
-                });
+      this.$api.sys
+        .agreementGetProductPage({
+          id: this.rowId,
+          ...this.productcopypage,
+          agreementList: this.agreementList,
+          ...data,
+        })
+        .then((res) => {
+          if (res.code == 200) {
+            let productTable = this.$refs.productTable.$refs.table;
+            this.productcopyItemResult = res.data.records;
+            this.productcopypage.pageNum = res.data.current;
+            this.productcopypage.pageSize = res.data.size;
+            this.productcopypage.totalSize = res.data.total;
+            this.productcopyItemColumns.loading = false;
+            this.$nextTick(() => {
+              this.productcopyItemResult.forEach((val) => {
+                if (val.check) {
+                  productTable.toggleRowSelection(val);
+                }
+              });
+            });
+          } else {
+            this.productcopyItemResult = [];
+            this.$message.error(res.msg);
+            this.productcopypage.totalSize = 0;
+            this.productcopyItemColumns.loading = false;
+          }
+        });
+    },
+    handleRowChange(row) {
+      let expandTable = this.$refs.expandTable.$refs.table;
+      if (!row.expanded) {
+        this.$api.sys.sysChannelGroupQuery(row.id).then((res) => {
+          if (res.code == "200") {
+            this.tableData.map((item) => {
+              if (item.id === row.id) {
+                item.insAreaCompanyList = res.data.sysChannelGroupInfos;
+              }
+              return item;
+            });
+            this.updateChildTable = !this.updateChildTable;
+            row.expanded = !row.expanded;
+            expandTable.toggleRowExpansion(row, row.expanded);
+          } else {
+            this.$message.info("暂无数据");
+          }
+        });
+      } else {
+        row.expanded = !row.expanded;
+        this.$refs.expandTable.$refs.table.toggleRowExpansion(
+          row,
+          row.expanded
+        );
+      }
+    },
+    // 查询
+    handleSearchList(data) {
+      this.getList(data);
+    },
+    add() {
+      this.queryForm = {};
+      this.$api.sys.sysChannelGradeList().then((res) => {
+        if (res.code == 200) {
+          res.data.forEach((val) => {
+            val.gradeId = val.id;
+            val.gradeName = val.name;
+            val.id = null;
+          });
+          this.channelFeesData = res.data;
+        }
+      });
+      this.dialogVisibleadd = true;
+      this.dialogTitle = "新增";
+    },
+    handleTableDatl(row) {
+      this.$confirm("确认删除该条数据吗?", "提示", {
+        type: "warning",
+      }).then(() => {
+        this.$api.sys.sysChannelGroupDelete(row.id).then((res) => {
+          if (res.code == 200) {
+            this.getList();
+          } else {
+            this.$message.error(res.msg);
+          }
+        });
+      });
+    },
+    sumbit() {
+      if (this.dialogTitle == "新增") {
+        this.$api.sys
+          .sysChannelGroupChannel({
+            ...this.queryForm,
+            infos: this.channelFeesData,
+          })
+          .then((res) => {
+            if (res.code == 200) {
+              this.getList();
+              this.dialogVisibleadd = false;
             } else {
-                row.expanded = !row.expanded;
-                this.$refs.expandTable.$refs.table.toggleRowExpansion(row, row.expanded);
+              this.$message.error(res.msg);
             }
-
-
-        },
-        // 查询
-        handleSearchList(data) {
-            this.getList(data);
-        },
-        add() {
-            this.queryForm={}
-            this.$api.sys.sysChannelGradeList().then((res) => {
+          });
+      } else {
+        this.$api.sys
+          .sysChannelGroupGradeUp(this.queryForm.id, {
+            ...this.queryForm,
+            infos: this.queryForm.sysChannelGroupInfos,
+          })
+          .then((res) => {
             if (res.code == 200) {
-                res.data.forEach(val => {
-                    val.gradeId = val.id
-                    val.gradeName = val.name
-                    val.id = null
-                })
-                this.channelFeesData = res.data;
+              this.getList();
+              this.dialogVisibleadd = false;
+            } else {
+              this.$message.error(res.msg);
             }
+          });
+      }
+    },
+    //列表数据
+    getList(data) {
+      this.tableConfig.loading = true;
+      this.$api.sys.queryChannelPage({ ...data, ...this.page }).then((res) => {
+        if (res.code == 200) {
+          res.data.content.forEach((val) => {
+            val.enabled = val.enabled == "1" ? "启动" : "禁用";
+          });
+          this.tableData = res.data.content;
+          this.page.pageNum = res.data.pageNum;
+          this.page.pageSize = res.data.pageSize;
+          this.page.totalSize = res.data.totalSize;
+          this.tableConfig.loading = false;
+        } else {
+          this.tableData = [];
+          this.$message.error(res.msg);
+          this.page.totalSize = 0;
+          this.tableConfig.loading = false;
+        }
+      });
+    },
+    sumbitInstitution() {
+      this.$api.sys
+        .sysChannelGroupCostSet({
+          costIdList: this.costIdList.map((val) => val.id),
+          id: this.rowId,
+        })
+        .then((res) => {
+          if (res.code == 200) {
+            this.getList();
+            this.dialogVisible = false;
+          } else {
+            this.$message.error(res.msg);
+          }
         });
-            this.dialogVisibleadd = true
-            this.dialogTitle = '新增'
-        },
-        handleTableDatl(row) {
-            this.$confirm("确认删除该条数据吗?", "提示", {
-                type: "warning",
-            })
-                .then(() => {
-                    this.$api.sys
-                        .sysChannelGroupDelete(row.id)
-                        .then(res => {
-                            if (res.code == 200) {
-                                this.getList();
-
-                            } else {
-                                this.$message.error(res.msg);
-                            }
-                        });
-                })
-        },
-        sumbit() {
-            if (this.dialogTitle == '新增') {
-                this.$api.sys
-                    .sysChannelGroupChannel({ ...this.queryForm, infos: this.channelFeesData })
-                    .then(res => {
-                        if (res.code == 200) {
-                            this.getList();
-                            this.dialogVisibleadd = false
-                        } else {
-                            this.$message.error(res.msg);
-                        }
-                    });
-            }
-            else {
-                this.$api.sys
-                    .sysChannelGroupGradeUp(this.queryForm.id, { ...this.queryForm, infos: this.queryForm.sysChannelGroupInfos })
-                    .then(res => {
-                        if (res.code == 200) {
-                            this.getList();
-                            this.dialogVisibleadd = false
-
-                        } else {
-                            this.$message.error(res.msg);
-                        }
-                    });
-            }
-        },
-        //列表数据
-        getList(data) {
-            this.tableConfig.loading = true;
-            this.$api.sys
-                .queryChannelPage({ ...data, ...this.page })
-                .then(res => {
-                    if (res.code == 200) {
-                        res.data.content.forEach(val => {
-                            val.enabled = val.enabled == '1' ? '启动' : '禁用'
-                        })
-                        this.tableData = res.data.content;
-                        this.page.pageNum = res.data.pageNum;
-                        this.page.pageSize = res.data.pageSize;
-                        this.page.totalSize = res.data.totalSize;
-                        this.tableConfig.loading = false;
-                    } else {
-                        this.tableData = [];
-                        this.$message.error(res.msg);
-                        this.page.totalSize = 0;
-                        this.tableConfig.loading = false;
-                    }
-                });
-        },
-        sumbitInstitution() {
-            this.$api.sys
-                .sysChannelGroupCostSet({ costIdList: this.costIdList.map(val => val.id), id: this.rowId })
-                .then(res => {
-                    if (res.code == 200) {
-                        this.getList();
-                        this.dialogVisible = false
-
-                    } else {
-                        this.$message.error(res.msg);
-                    }
-                });
-
-        },
-        handleTableUpload(row) {
-            this.$api.sys
-                .sysChannelGroupDetail(row.id)
-                .then(res => {
-                    if (res.code == 200) {
-                        this.channelFeesData = res.data.sysChannelGroupInfos
-                        this.dialogTitle = '编辑'
-                        this.dialogVisibleadd = true
-                        res.data.enabled+=''
-                        this.queryForm = res.data
-
-                    } else {
-                        this.$message.error(res.msg);
-                    }
-                });
+    },
+    handleTableUpload(row) {
+      this.$api.sys.sysChannelGroupDetail(row.id).then((res) => {
+        if (res.code == 200) {
+          this.channelFeesData = res.data.sysChannelGroupInfos;
+          this.dialogTitle = "编辑";
+          this.dialogVisibleadd = true;
+          res.data.enabled += "";
+          this.queryForm = res.data;
+        } else {
+          this.$message.error(res.msg);
         }
-    }
+      });
+    },
+  },
 };
 </script>
+<style lang="scss" scoped>
+.title {
+  margin-bottom: 10px;
+}
+.dialog-footer {
+  display: inline-block;
+  width: 100%;
+  text-align: right;
+}
+::v-deep {
+  .el-tree-node {
+    .el-checkbox__input.is-disabled {
+      display: none;
+    }
+  }
+}
+</style>