Преглед на файлове

人员修改;平安添加补录订单

lihongxiao преди 2 години
родител
ревизия
3baa5b8df2

+ 1 - 1
build/check-versions.js

@@ -19,7 +19,7 @@ const versionRequirements = [
 if (shell.which('npm')) {
   versionRequirements.push({
     name: 'npm',
-    currentVersion: exec('npm --version'),
+    currentVersion: '6.14.14',
     versionRequirement: packageConfig.engines.npm
   })
 }

+ 2 - 2
config/dev.env.js

@@ -10,7 +10,7 @@ module.exports = merge(prodEnv, {
   // BASE_URL: '"https://test.baoxianzhanggui.com/web-api"',//测试服务器
   // BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
   // BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
-  BASE_URL: '"http://192.168.0.115:8080/"' //凯森
+  // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
   // BASE_URL: '"http://192.168.0.106:8080/"',//屈晨
   // BASE_URL: '"http://192.168.0.253:8080/"',//田智
   // BASE_URL: '"http:///192.168.0.42:8080/"',//武鸿鹏
@@ -19,7 +19,7 @@ module.exports = merge(prodEnv, {
   // BASE_URL: '"http://192.168.1.101:8080/"',
   // BASE_URL: '"http://192.168.0.250:8080/"',//
   // BASE_URL: '"http:///192.168.0.103:8080/"',//霍续亮
-  // BASE_URL: '"http://192.168.0.52:8080/"',//贺礼霄
+  BASE_URL: '"http://192.168.0.52:8080/"',//贺礼霄
   // BASE_URL: '"http:///192.168.0.55:8080/"',//蔡雅茹
   // CONSOLE_BASE_URL: '"http://localhost:8080/"' //控制台测试服务器
   // CONSOLE_BASE_URL: '"https://sxzgkj.baoxianzhanggui.com/console-api"' //控制台正式服务器

+ 2 - 0
src/components/TemplateTable/index.vue

@@ -511,6 +511,8 @@ export default {
       });
     },
     statMaps(list) {
+      console.log(list,9999999);
+
       if (!list) return;
       let obj = {};
       list.forEach((item) => {

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

@@ -810,3 +810,22 @@ export const queryExtractFeeAll = (data) => {
     data
   })
 }
+// 合伙人、工作室管理机构树
+export const getSysDeptTree = () => {
+  return axios({
+    url: '/dept/getSysDeptTree',
+    method: "get",
+  })
+}
+export const agencyGetUserInfo = (id) => {
+  return axios({
+    url: '/agency/getUserInfo/'+id,
+    method: "get",
+  })
+}
+export const queryRecommendAndPartner = (id) => {
+  return axios({
+    url: '/sysPartner/queryRecommendAndPartner/'+id,
+    method: "get",
+  })
+}

+ 8 - 0
src/http/moudules/letter.js

@@ -1226,3 +1226,11 @@ export const pingangetPolicyPrint = (data) => {
     data
   })
 }
+// 平安补传资料
+export const additionalInformation = (data) => {
+  return axios({
+    url: '/order/pingAnApi/additionalInformation',
+    method: 'post',
+    data
+  })
+}

Файловите разлики са ограничени, защото са твърде много
+ 517 - 502
src/views/Core/components/imageDialog.vue


+ 147 - 94
src/views/PeopleManage/Institutional.vue

@@ -1,25 +1,52 @@
 <template>
   <div>
-    <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
-            :formList="formList"
             :searchData.sync="queryFrom"
             :tableConfig="tableConfig"
-            :btnGroup="btnGroup"
             :data="pageResult"
             @getList="findPage"
             @handleSearchList="handleSearchList"
             :pagination="pageData"
           >
-          <template slot="source" slot-scope="scope">
+          <!-- <template slot="source" slot-scope="scope">
               <span>
                     {{ statMaps(scope.row.source) }}</span
                   >
-            </template>
+            </template> -->
           </templateTable>
-    </div>
-
+  </SplitArea>
+        <!-- 右侧列表页面End -->
+      </Split>
+    </el-main>
     <!-- 新增修改界面 -->
     <el-dialog
       :title="dialogTitle"
@@ -39,28 +66,30 @@
             size="small"
           >
             <el-row>
+             
               <el-col :span="12">
-                <el-form-item label="工号" prop="userId">
-                  <el-input v-model="formData.userId" disabled></el-input>
+                <el-form-item label="机构编码" prop="deptId">
+                  <el-input v-model="formData.deptId" disabled></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="名称" prop="userName">
-                  <el-select v-model="formData.userName" clearable filterable  placeholder="选择名称" @change="userChange">
-                <el-option v-for="(item, index) in useroption" :key="index" :label="item.name"
+                <el-form-item label="机构名称" prop="deptName">
+                  <el-input v-model="formData.deptName" disabled></el-input>
+                  <!-- <el-select v-model="formData.deptName" clearable filterable :disabled="dialogTitle=='编辑'" placeholder="选择机构名称" @change="deptChange">
+                <el-option v-for="(item, index) in deptoption" :key="index" :label="item.name"
                   :value="item.name"></el-option>
-              </el-select>
+              </el-select> -->
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="机构id" prop="deptId">
-                  <el-input v-model="formData.deptId" disabled></el-input>
+                <el-form-item label="管理员工号" prop="userId">
+                  <el-input v-model="formData.userId" disabled></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="机构名称" prop="deptName">
-                  <el-select v-model="formData.deptName" clearable filterable :disabled="dialogTitle=='编辑'" placeholder="选择机构名称" @change="deptChange">
-                <el-option v-for="(item, index) in deptoption" :key="index" :label="item.name"
+                <el-form-item label="管理员名称" prop="userName">
+                  <el-select v-model="formData.userName" style="width: 200px;" clearable filterable  placeholder="选择管理员名称" @change="userChange">
+                <el-option v-for="(item, index) in useroption" :key="index" :label="item.name"
                   :value="item.name"></el-option>
               </el-select>
                 </el-form-item>
@@ -71,13 +100,14 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="机构等级" prop="deptId">
+                <el-form-item label="机构等级" prop="comlevel">
                   <el-input v-model="formData.comlevel" disabled></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="12">
                 <el-form-item label="业务来源" prop="source">
-                  <el-select v-model="formData.source" multiple clearable  placeholder="请选择业务来源">
+                  <!-- <el-input v-model="formData.source" disabled></el-input> -->
+                  <el-select v-model="formData.source" style="width: 200px;"  clearable  placeholder="请选择业务来源" disabled>
                     <el-option
                       v-for="val in organizationSourceoptions"
                       :key="val.dictValue"
@@ -87,21 +117,9 @@
                   </el-select>
                 </el-form-item>
               </el-col>
-              <!-- <el-col :span="12">
-                <el-form-item label="业务来源" prop="source">
-                  <el-select v-model="formData.source" multiple clearable  placeholder="请选择业务来源">
-                    <el-option
-                      v-for="val in organizationSourceoptions"
-                      :key="val.dictValue"
-                      :label="val.dictTag"
-                      :value="val.dictValue">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col> -->
               <el-col :span="12">
                 <el-form-item label="推荐人" prop="suggestId">
-                  <el-select v-model="formData.suggestId" @change="suggestChange" clearable  placeholder="请选择推荐人">
+                  <el-select v-model="formData.suggestId" style="width: 200px;" @change="suggestChange" clearable  placeholder="请选择推荐人">
                     <el-option
                       v-for="val in sysPartnerOption"
                       :key="val.userId"
@@ -132,6 +150,10 @@ export default {
   },
   data() {
     return {
+      ztreeNodes: [],
+      leftSplitWidth: 20,
+      rightSplitWidth: 80,
+      currentTreeNode: null,
       formList: [
         // {
         //   label: "工号",
@@ -149,12 +171,12 @@ export default {
         //   prop: "deptId",
         //   type: "input",
         // },
-        {
-          label: "机构名称",
-          prop: "deptId",
-          type: "select",
-          options:[]
-        },
+        // {
+        //   label: "机构名称",
+        //   prop: "deptId",
+        //   type: "select",
+        //   options:[]
+        // },
         // {
         //   label: "业务来源",
         //   prop: "source",
@@ -162,16 +184,14 @@ export default {
         //   options:[]
         // },
       ],
-      btnGroup: [
-        {
-          name: "新增",
-          click: (row, index) => { return this.handleAddButton() },
+      // btnGroup: [
+      //   {
+      //     name: "新增",
+      //     click: (row, index) => { return this.handleAddButton() },
 
-        },
-      ],
+      //   },
+      // ],
       useroption:[],
-      deptoption:[],
-      organizationSourceoptions:[],
       tableConfig: {
         columns: [
           // 数据列
@@ -190,12 +210,18 @@ export default {
             label: "机构等级",
             type: "text",
           },
-          { name: "source", label: "业务来源", type: "slot" },
+          {
+            prop: "source",
+            label: "业务来源",
+            type: "statMap",
+            options:[]
+          },
+          // { name: "source", label: "业务来源", type: "slot" },
         ],
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
-        
+        operationWidth:150,
         optBtns: [
           {
             type: "primary",
@@ -240,26 +266,46 @@ export default {
       pageResult: [],
       dialogTitle: "",
       dialogVisible: false, // 新增编辑界面是否显示
-      sysPartnerOption:[]
-
+      sysPartnerOption:[],
+      organizationSourceoptions:[]
     };
   },
   created() {
     this.findPage();
-    this.$api.insCompany.sysPartner().then(res=>{
-      this.sysPartnerOption=res.data
-    })
-    this.$api.insCompany.getDeptInfo().then(res=>{
-      if(res.code==200){
-        this.formList.forEach(e=>{
-          if(e.prop=='deptId'){
-            e.options=res.data
+    this.findLeftTreeData(); // 获取机构树的数据
+    this.$api.insCompany.dicType('organizationSource').then((res) => {
+        if (res.code == 200) {
+          this.tableConfig.columns.forEach(e=>{
+          if(e.prop=='source'){
+            e.options=res.data.ddList
           }
         })
-        this.deptoption=res.data
+          this.organizationSourceoptions = res.data.ddList;
+        }
+      });
+  
+  },
+  methods: {
+    findLeftTreeData: function () {
+        this.$api.insCompany.getSysDeptTree().then((res) => {
+          // this.treeDataRecursion(res.data, treeTypeNum);
+          this.ztreeNodes = res.data;
+        });
+      },
+      //添加人员
+      handleAddButton() {
+      if (this.currentTreeNode == null) {
+        this.$message.info("请选择所属公司或部门");
+        return;
       }
-    })
-    this.$api.insCompany.getUserInfo().then(res=>{
+      if (
+        this.currentTreeNode.comlevel != null &&
+          this.currentTreeNode.comlevel !== "5"
+      ) {
+        this.$message.info("请选择第五级机构");
+        return;
+      }
+      this.$api.insCompany.agencyGetUserInfo(this.currentTreeNode.parentId).then(res=>{
       if(res.code==200){
         this.formList.forEach(e=>{
           if(e.prop=='userId'){
@@ -269,18 +315,31 @@ export default {
         this.useroption=res.data
       }
     })
-    this.$api.insCompany.dicType('organizationSource').then((res) => {
-        if (res.code == 200) {
-          this.formList.forEach(e=>{
-          if(e.prop=='source'){
-            e.options=res.data.ddList
-          }
-        })
-          this.organizationSourceoptions = res.data.ddList;
-        }
-      });
-  },
-  methods: {
+    this.$api.insCompany.queryRecommendAndPartner(this.currentTreeNode.parentId).then(res=>{
+      this.sysPartnerOption=res.data
+    })
+    
+      this.dialogTitle = "新增";
+      this.formData={
+        deptName:this.currentTreeNode.name,
+        deptId:this.currentTreeNode.id,
+        comlevel:this.currentTreeNode.comlevel,
+        source:this.currentTreeNode.managementSource,
+      }
+      this.dialogVisible = true;
+      if(this.$refs["formData"]){
+        this.$refs["formData"].resetFields();
+      }
+    },
+    onZTreeClick: function (evt, treeId, treeNode) {
+      // 点击事件
+      this.currentTreeNode = evt;
+      this.pageData.pageNum = 1;
+      let data={
+        deptId:this.currentTreeNode.id
+      } 
+      this.findPage(data);
+    },
     suggestChange(e){
       this.formData.suggestName=''
       if(e){
@@ -295,16 +354,6 @@ export default {
         this.formData.userId=''
       }
     },
-    deptChange(val){
-      if(val){
-        this.formData.deptId= this.deptoption.find(e=>e.name==val).id
-        this.formData.comlevel= this.deptoption.find(e=>e.name==val).comlevel
-      }
-      else{
-        this.formData.comlevel=''
-        this.formData.deptId=''
-      }
-    },
     // 查询Start
     queryStaffInfo() {
       this.findPage();
@@ -345,6 +394,19 @@ export default {
     },
     //编辑
     async handleTableEdit(params) {
+      this.$api.insCompany.agencyGetUserInfo(params.parentId).then(res=>{
+      if(res.code==200){
+        this.formList.forEach(e=>{
+          if(e.prop=='userId'){
+            e.options=res.data
+          }
+        })
+        this.useroption=res.data
+      }
+    })
+    this.$api.insCompany.queryRecommendAndPartner(params.parentId).then(res=>{
+      this.sysPartnerOption=res.data
+    })
       this.$api.insCompany
         .agencyQueryById(params.id)
         .then((res) => {
@@ -374,15 +436,6 @@ export default {
         })
         .catch(() => {});
     },
-    //添加人员
-    handleAddButton() {
-      this.dialogTitle = "新增";
-      this.formData={}
-      this.dialogVisible = true;
-      if(this.$refs["formData"]){
-        this.$refs["formData"].resetFields();
-      }
-    },
     handleDialogBefore(done) {
       // 退出对话框之前确认提示
       this.$confirm("确认关闭?")

+ 7 - 4
src/views/PeopleManage/InstitutionalExtraction.vue

@@ -26,12 +26,15 @@ export default {
   data() {
     return {
       formList: [
-      
+      {
+          label: "工号",
+          prop: "userId",
+          type: "input",
+        },
         {
           label: "名称",
-          prop: "userId",
-          type: "select",
-          options:[]
+          prop: "userName",
+          type: "input",
         },
       ],
       tableConfig: {

+ 7 - 36
src/views/PeopleManage/InstitutionalPremium.vue

@@ -109,12 +109,15 @@ export default {
       operationdialogVisible:false,
       operationtableData:[],
       formList: [
-      
         {
-          label: "名称",
+          label: "工号",
           prop: "userId",
-          type: "select",
-          options:[]
+          type: "input",
+        },
+        {
+          label: "名称",
+          prop: "userName",
+          type: "input",
         },
       ],
       btnGroup: [
@@ -124,8 +127,6 @@ export default {
 
         },
       ],
-      useroption:[],
-      deptoption:[],
       statusoption:[
         {
           label:'未审核',
@@ -254,26 +255,6 @@ export default {
   created() {
     this.findPage();
   
-    this.$api.insCompany.getDeptInfo().then(res=>{
-      if(res.code==200){
-        this.formList.forEach(e=>{
-          if(e.prop=='deptId'){
-            e.options=res.data
-          }
-        })
-        this.deptoption=res.data
-      }
-    })
-    this.$api.insCompany.getUserInfo().then(res=>{
-      if(res.code==200){
-        this.formList.forEach(e=>{
-          if(e.prop=='userId'){
-            e.options=res.data
-          }
-        })
-        this.useroption=res.data
-      }
-    })
   },
   methods: {
     handleClose(done) {
@@ -287,16 +268,6 @@ export default {
         this.formData.userId=''
       }
     },
-    deptChange(val){
-      if(val){
-        this.formData.deptId= this.deptoption.find(e=>e.name==val).id
-        this.formData.comlevel= this.deptoption.find(e=>e.name==val).comlevel
-      }
-      else{
-        this.formData.comlevel=''
-        this.formData.deptId=''
-      }
-    },
     // 查询Start
     queryStaffInfo() {
       this.findPage();

+ 209 - 92
src/views/PeopleManage/Partner.vue

@@ -1,19 +1,52 @@
 <template>
   <div>
-    <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
-            :formList="formList"
             :searchData.sync="queryFrom"
             :tableConfig="tableConfig"
-            :btnGroup="btnGroup"
             :data="pageResult"
             @getList="findPage"
             @handleSearchList="handleSearchList"
             :pagination="pageData"
           >
+          <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>
-    </div>
+        </SplitArea>
+        <!-- 右侧列表页面End -->
+      </Split>
+    </el-main>
 
     <!-- 新增修改界面 -->
     <el-dialog
@@ -41,10 +74,11 @@
               </el-col>
               <el-col :span="12">
                 <el-form-item label="名称" prop="userName">
-                  <el-select v-model="formData.userName" clearable filterable  placeholder="选择名称" @change="userChange">
+                  <el-input v-model="formData.userName" disabled></el-input>
+                  <!-- <el-select v-model="formData.name" disabled clearable filterable  placeholder="选择名称" @change="userChange">
                 <el-option v-for="(item, index) in useroption" :key="index" :label="item.name"
                   :value="item.name"></el-option>
-              </el-select>
+              </el-select> -->
                 </el-form-item>
               </el-col>
               <el-col :span="12">
@@ -62,9 +96,9 @@
                       :value="val.userId">
                     </el-option>
                   </el-select>
-                  
                 </el-form-item>
               </el-col>
+              
             </el-row>
           </el-form>
         <span slot="footer" class="dialog-footer">
@@ -78,6 +112,7 @@
 <script>
 import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
 import templateTable from "../../components/TemplateTable/index.vue";
+
 export default {
   components: {
     KtButton,
@@ -85,6 +120,10 @@ export default {
   },
   data() {
     return {
+      ztreeNodes: [],
+      leftSplitWidth: 20,
+      rightSplitWidth: 80,
+      currentTreeNode: null,
       formList: [
         // {
         //   label: "工号",
@@ -97,59 +136,47 @@ export default {
           type: "select",
           options:[]
         },
-        // {
-        //   label: "机构id",
-        //   prop: "deptId",
-        //   type: "input",
-        // },
-        // {
-        //   label: "机构名称",
-        //   prop: "deptId",
-        //   type: "select",
-        //   options:[]
-        // },
-        // {
-        //   label: "业务来源",
-        //   prop: "source",
-        //   type: "select",
-        //   options:[]
-        // },
-      ],
-      btnGroup: [
-        {
-          name: "新增",
-          click: (row, index) => { return this.handleAddButton() },
-
-        },
+       
       ],
+    
       useroption:[],
       tableConfig: {
         columns: [
           // 数据列
-          { prop: "userId", label: "工号", type: "text" },
+          { prop: "id", label: "工号", type: "text" },
           {
-            prop: "userName",
+            prop: "name",
             label: "名称",
             type: "text",
           },
-          { prop: "suggestId", label: "推荐人id", 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" },
+          { name: "type", label: "是否为合伙人", type: "slot" },
         ],
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
+        operationWidth:150,
         optBtns: [
-            // {
-            //   type: "primary",
-            //   label: "编辑",
-            //   perm: "sys:agent:edit",
-            //   icon: "fa fa-edit",
-            //   click: (row, index) => {
-            //     return this.handleTableEdit(row);
-            //   },
-            // },
+            {
+              type: "primary",
+              label: "编辑",
+              perm: "sys:agent:edit",
+              icon: "fa fa-edit",
+              hide:(row)=>{
+                return row.type!=='1'
+              },
+              click: (row, index) => {
+                return this.handleTableEdit(row);
+              },
+            },
           {
             type: "primary",
             label: "删除",
@@ -187,21 +214,29 @@ export default {
   },
   created() {
     this.findPage();
-    this.$api.insCompany.sysPartner().then(res=>{
-      this.sysPartnerOption=res.data
-    })
-    this.$api.insCompany.getUserInfo().then(res=>{
-      if(res.code==200){
-        this.formList.forEach(e=>{
-          if(e.prop=='userId'){
-            e.options=res.data
-          }
-        })
-        this.useroption=res.data
-      }
-    })
+    this.findLeftTreeData(); // 获取机构树的数据
   },
   methods: {
+    findLeftTreeData: function () {
+        this.$api.dept.findTree().then((res) => {
+          this.treeDataRecursion(res.data, '1');
+          this.ztreeNodes = res.data;
+        });
+      },
+       //树过滤五级机构递归
+       treeDataRecursion(data, num, one) {
+        data = data || this.ztreeNodes;
+        one = one || 0;
+        one++;
+        for (let i = 0; i < data.length; i++) {
+          if (data[i].comlevel == 5 && (data[i].managementSource != num)) {
+            data.splice(i, 1);
+            i = i - 1;
+          } else {
+            this.treeDataRecursion(data[i].children, num, one);
+          }
+        }
+      },
     userChange(val){
       if(val){
         this.formData.userId= this.useroption.find(e=>e.name==val).id
@@ -243,16 +278,25 @@ export default {
     },
     //编辑
     async handleTableEdit(params) {
-      this.$api.insCompany
-        .agencyQueryById(params.id)
-        .then((res) => {
-          if(res.code==200){
-            this.dialogTitle = "编辑";
-            this.dialogVisible= true
-            this.formData=res.data
-          }
+      this.$api.insCompany.queryRecommendAndPartner(params.parentId).then(res=>{
+        this.sysPartnerOption=res.data
+      })
+      this.dialogTitle = "编辑";
+      this.dialogVisible= true
+      params.userName=params.name
+      params.userId=params.id
+      this.formData= JSON.parse(JSON.stringify(params)) 
 
-        });
+      // this.$api.insCompany
+      //   .agencyQueryById(params.id)
+      //   .then((res) => {
+      //     if(res.code==200){
+      //       this.dialogTitle = "编辑";
+      //       this.dialogVisible= true
+      //       this.formData=res.data
+      //     }
+
+      //   });
     },
     // 删除单个人员
     handleTableDeleteFlag(data) {
@@ -272,15 +316,70 @@ export default {
         })
         .catch(() => {});
     },
-    //添加人员
-    handleAddButton() {
+   
+      //新增人员
+      handleAddButton() {
+      if (this.currentTreeNode == null) {
+        this.$message.info("请选择所属公司或部门");
+        return;
+      }
+      if (
+        this.currentTreeNode.comlevel != null &&
+          this.currentTreeNode.comlevel !== "5"
+      ) {
+        this.$message.info("请选择第五级机构");
+        return;
+      }
+      this.$api.insCompany.agencyGetUserInfo(this.currentTreeNode.parentId).then(res=>{
+      if(res.code==200){
+        this.formList.forEach(e=>{
+          if(e.prop=='userId'){
+            e.options=res.data
+          }
+        })
+        this.useroption=res.data
+      }
+    })
+    this.$api.insCompany.queryRecommendAndPartner(this.currentTreeNode.parentId).then(res=>{
+      this.sysPartnerOption=res.data
+    })
+    
       this.dialogTitle = "新增";
-      this.formData={}
+      this.formData={
+        deptName:this.currentTreeNode.name,
+        deptId:this.currentTreeNode.id,
+        comlevel:this.currentTreeNode.comlevel,
+        source:this.currentTreeNode.managementSource,
+      }
       this.dialogVisible = true;
       if(this.$refs["formData"]){
         this.$refs["formData"].resetFields();
       }
     },
+    onZTreeClick: function (evt, treeId, treeNode) {
+      // 点击事件
+      this.currentTreeNode = evt;
+      this.pageData.pageNum = 1;
+      let data={
+        deptId:this.currentTreeNode.id
+      } 
+      this.findPage(data);
+
+    },
+    suggestChange(e){
+      this.formData.suggestName=''
+      if(e){
+        this.formData.suggestName=this.sysPartnerOption.find(val=>val.userId==e).userName
+      }
+    },
+    userChange(val){
+      if(val){
+        this.formData.userId= this.useroption.find(e=>e.name==val).id
+      }
+      else{
+        this.formData.userId=''
+      }
+    },
     handleDialogBefore(done) {
       // 退出对话框之前确认提示
       this.$confirm("确认关闭?")
@@ -299,8 +398,7 @@ export default {
       this.$refs.formData.validate((valid) => {
         if (valid) {
           this.$confirm("确认提交吗?", "提示", {}).then(() => {
-            if (this.dialogTitle == "新增") {
-              this.$api.insCompany
+            this.$api.insCompany
                 .sysPartnerAdd(this.formData)
                 .then((res) => {
                   if (res.code == 200) {
@@ -318,26 +416,45 @@ export default {
                     });
                   }
                 });
-            } else {
-              this.$api.insCompany
-                .agencyEdit(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",
-                    });
-                  }
-                });
-            }
+            // 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
+            //     .agencyEdit(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",
+            //         });
+            //       }
+            //     });
+            // }
           });
         }
       });

+ 7 - 4
src/views/PeopleManage/PartnerExtraction.vue

@@ -26,12 +26,15 @@ export default {
   data() {
     return {
       formList: [
-      
         {
-          label: "名称",
+          label: "工号",
           prop: "userId",
-          type: "select",
-          options:[]
+          type: "input",
+        },
+        {
+          label: "名称",
+          prop: "userName",
+          type: "input",
         },
       ],
       tableConfig: {

+ 19 - 801
src/views/Task/daikeComponents/KtLetter.vue

@@ -2401,511 +2401,7 @@
         <el-button type="primary" @click="userOCRconfirm()" size="small">确 认</el-button>
       </span>
     </el-dialog>
-    <el-dialog :visible.sync="imageUploaddialogVisible" width="1070px">
-      <div slot="title" class="dialog-title">
-        <span>影像上传</span>
-      </div>
-      <el-row>
-        <el-col :span="3">
-          <div class="tab-style">
-            <li class="liMenu" :class="idx == tabLiIndex ? 'tabLi-style' : ''" @click="tabLiScroll(item.scroll, idx)"
-              v-for="(item, idx) in tabLimenu" :key="idx">
-              {{ item.name }}
-            </li>
-          </div>
-        </el-col>
-        <el-col :span="21" style="height: 320px; overflow-y: auto">
-          <div class="flex f-wrap" id="vehicle" >
-            <div class="aaa">
-              <span>1.行驶证主页</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList1', 'imgList1', 'C01')
-                " :file-list="imgList1" ref="upload1" :class="{ styleB: imgList1.length == 1 }">
-                <img v-show="imgList1.length == 0" src="../../../../static/carfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }" v-if="imgList1.length > 0">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList1', 'imgList1')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>2.行驶证副页</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList1', 'imgList2', 'D01')
-                " :file-list="imgList2" ref="upload2" :class="{ styleB: imgList2.length === 1 }">
-                <img v-show="imgList2.length == 0" src="../../../../static/carback.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList1', 'imgList2')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>3.机动车辆登记证书</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList1', 'imgList12', 'TAR05')
-                " :file-list="imgList12" ref="upload2" :class="{ styleB: imgList12.length === 1 }">
-                <img v-show="imgList12.length == 0" src="../../../../static/carback.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList1', 'imgList12')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>4.新车合格证</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList5', 'imgList9', 'XC00')
-                " :file-list="imgList9" multiple ref="upload3" :class="{ styleB: imgList9.length === 1 }">
-                <img v-show="imgList9.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList5', 'imgList9')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>5.购车发票</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList5', 'imgList10', 'GC00')
-                " :file-list="imgList10" multiple ref="upload4" :class="{ styleB: imgList10.length === 1 }">
-                <img v-show="imgList10.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList5', 'imgList10')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            
-          </div>
-          <div class="flex f-wrap" id="owner">
-            <div class="aaa">
-              <span>1.车主身份证(正面)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList2', 'imgList3', 'C02')
-                " :file-list="imgList3" multiple ref="upload3" :class="{ styleB: imgList3.length === 1 }">
-                <img v-show="imgList3.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList2', 'imgList3')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>2.车主身份证(反面)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList2', 'imgList4', 'D02')
-                " :file-list="imgList4" multiple ref="upload4" :class="{ styleB: imgList4.length === 1 }">
-                <img v-show="imgList4.length == 0" src="../../../../static/userback.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList2', 'imgList4')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>3.营业执照</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple ref="upload4">
-                <img src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList2', 'imgList4')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-          </div>
-          <div class="flex f-wrap" id="applicant">
-            <div class="aaa">
-              <span>1.投保人身份证(正面)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList3', 'imgList5', 'C03')
-                " :file-list="imgList5" multiple ref="upload5" :class="{ styleB: imgList5.length === 1 }">
-                <img v-show="imgList5.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList3', 'imgList5')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>2.投保人身份证(反面)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList3', 'imgList6', 'D03')
-                " :file-list="imgList6" multiple ref="upload6" :class="{ styleB: imgList6.length === 1 }">
-                <img v-show="imgList6.length == 0" src="../../../../static/userback.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList3', 'imgList6')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>3.营业执照</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple ref="upload4">
-                <img src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList2', 'imgList4')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-          </div>
-          <div class="flex f-wrap">
-            <div class="aaa">
-              <span id="insured">1.被保人身份证(正面)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList4', 'imgList7', 'C04')
-                " :file-list="imgList7" multiple ref="upload7" :class="{ styleB: imgList7.length === 1 }">
-                <img v-show="imgList7.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList4', 'imgList7')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>2.被保人身份证(反面)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) => drivingupload(file, 'imageList4', 'imgList8', 'D04')
-                " :file-list="imgList8" multiple ref="upload8" :class="{ styleB: imgList8.length === 1 }">
-                <img v-show="imgList8.length == 0" src="../../../../static/userback.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList4', 'imgList8')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>3.营业执照</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag multiple ref="upload4">
-                <img src="../../../../static/userfront.png" style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList2', 'imgList4')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-          </div>
-          <div class="flex f-wrap" id="relationship">
-            <div class="aaa">
-              <span>1.关系证明</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList5', 'imgList11', 'GX00')
-                " :file-list="imgList11" multiple ref="upload3" :class="{ styleB: imgList11.length === 1 }">
-                <img v-show="imgList11.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList5', 'imgList11')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-          </div>
-          <div class="flex f-wrap" id="yanchezhao">
-            <div class="aaa">
-              <span>1.验车照(车架)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList13', 'C0500')
-                " :file-list="imgList13" multiple ref="upload3" :class="{ styleB: imgList13.length === 1 }">
-                <img v-show="imgList13.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList13')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>2.验车照(后左)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList14', 'C0501')
-                " :file-list="imgList14" multiple ref="upload3" :class="{ styleB: imgList14.length === 1 }">
-                <img v-show="imgList14.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList14')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>3.验车照(后右)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList15', 'C0502')
-                " :file-list="imgList15" multiple ref="upload3" :class="{ styleB: imgList15.length === 1 }">
-                <img v-show="imgList15.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList15')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>4.验车照(前右)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList16', 'C0503')
-                " :file-list="imgList16" multiple ref="upload3" :class="{ styleB: imgList16.length === 1 }">
-                <img v-show="imgList16.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList16')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>5.验车照(前左)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList17', 'C0504')
-                " :file-list="imgList17" multiple ref="upload3" :class="{ styleB: imgList17.length === 1 }">
-                <img v-show="imgList17.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList17')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>6.验车照(正前)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList18', 'C0506')
-                " :file-list="imgList18" multiple ref="upload3" :class="{ styleB: imgList18.length === 1 }">
-                <img v-show="imgList18.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList18')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>7.验车照(正后)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList19', 'C0507')
-                " :file-list="imgList19" multiple ref="upload3" :class="{ styleB: imgList19.length === 1 }">
-                <img v-show="imgList19.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList19')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>8.验车照(人车合影)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList20', 'C0505')
-                " :file-list="imgList20" multiple ref="upload3" :class="{ styleB: imgList20.length === 1 }">
-                <img v-show="imgList20.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList20')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>9.验车照(地标合影)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList21', 'C0508')
-                " :file-list="imgList21" multiple ref="upload3" :class="{ styleB: imgList21.length === 1 }">
-                <img v-show="imgList21.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList21')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>10.验车照(工作台)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList22', 'C0509')
-                " :file-list="imgList22" multiple ref="upload3" :class="{ styleB: imgList22.length === 1 }">
-                <img v-show="imgList22.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList22')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-            <div class="aaa">
-              <span>11.验车照(天窗)</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList23', 'C0510')
-                " :file-list="imgList23" multiple ref="upload3" :class="{ styleB: imgList23.length === 1 }">
-                <img v-show="imgList23.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList23')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-          </div>
-          <div class="flex f-wrap" id="snbaodan">
-            <div class="aaa">
-              <span>1.上年商业险保单</span>
-              <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
-                drivingupload(file, 'imageList6', 'imgList24', 'LAST_INSURANCE_POLICY')
-                " :file-list="imgList24" multiple ref="upload3" :class="{ styleB: imgList24.length === 1 }">
-                <img v-show="imgList24.length == 0" src="../../../../static/userfront.png"
-                  style="width: 100%; height: 100%" />
-                <div slot="file" slot-scope="{ file }">
-                  <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
-                  <span class="el-upload-list__item-actions">
-                    <span class="el-upload-list__item-delete" @click="handleRemove1(file, 'imageList6', 'imgList24')">
-                      <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
-                      <i class="el-icon-delete"></i>
-                    </span>
-                  </span>
-                </div>
-              </el-upload>
-            </div>
-          </div>
-        </el-col>
-      </el-row>
-
-      <span slot="footer" class="dialog-footer">
-        <el-button size="small" @click="imageUploaddialogVisible = false">取 消</el-button>
-        <el-button size="small" type="primary" @click="uploadinformation">上传资料</el-button>
-      </span>
-    </el-dialog>
+    
     <el-dialog :visible.sync="pinganDataDetailVisible" width="40%"  title="责任明细">
       <el-table
       :data="pinganDataDetail"
@@ -3020,7 +2516,7 @@
       </span>
     </el-dialog>
 
-    <imageDialog ref="imageDialog" ></imageDialog>
+    <imageDialog ref="imageDialog" :quoteno="quoteno"></imageDialog>
 
     <!-- 报价单 -->
     <quotationDialog ref="quotationDialog" :queryOrders="queryOrders"></quotationDialog>
@@ -3106,7 +2602,6 @@ import quotationDialogPro from "@/views/Core/components/quotationDialogPro.vue";
 import detailsDialog from "@/views/Core/components/detailsDialog.vue";
 import imageDialog from "@/views/Core/components/imageDialog.vue";
 import { mapState } from "vuex";
-
 export default {
   inject: ["reload"],
   name: "qrCode",
@@ -4427,37 +3922,7 @@ export default {
       systartdate: "", //商业时间
       mobile: "", //投保人手机号
       //影像回显列表
-      imgList1: [],
-      imgList2: [],
-      imgList3: [],
-      imgList4: [],
-      imgList5: [],
-      imgList6: [],
-      imgList7: [],
-      imgList8: [],
-      imgList9: [],
-      imgList10: [],
-      imgList11: [],
-      imgList12: [],
-      imgList13: [],
-      imgList14: [],
-      imgList15: [],
-      imgList16: [],
-      imgList17: [],
-      imgList18: [],
-      imgList19: [],
-      imgList20: [],
-      imgList21: [],
-      imgList22: [],
-      imgList23: [],
-      imgList24: [],
-      //影像上传列表
-      imageList1: [],
-      imageList2: [],
-      imageList3: [],
-      imageList4: [],
-      imageList5: [],
-      imageList6: [],
+     
       // 是否禁用上传
       uploadDisabled: false,
       href: "",
@@ -4680,9 +4145,9 @@ export default {
     //--订单编辑回显--
     // this.paramsEdit = this.$route.query.data; //接收参数
     this.obtainProtocol(this.$route.query.data);
-    this.editingWay(this.$route.query.data);
   },
   mounted() {
+    this.editingWay(this.$route.query.data);
     this.onScroll();
     // console.log(this.$route.query.data.jqstartdate.split(" ")[1]);
     if (this.$route.query.data) {
@@ -4836,7 +4301,9 @@ export default {
         });
 
         //--获取影像信息--
-        _this.imageEcho(this.quoteno);
+        // _this.imageEcho(this.quoteno);
+        this.$refs.imageDialog.imageEcho(this.quoteno)
+
         // this.commpanyList()
         //--显示影像按钮--
         _this.imageUploadShow = true;
@@ -6982,7 +6449,8 @@ export default {
             quoteNo: this.$route.query.data.quoteno,
           };
           this.$api.letter.uploadImages(imageparam).then((responses) => {
-            this.imageEcho(this.$route.query.data.quoteno); // 获取图片
+            this.$refs.imageDialog.imageEcho(this.$route.query.data.quoteno)
+            // this.imageEcho(this.$route.query.data.quoteno); // 获取图片
           });
         }
         this.editorInfo.applyinfo.owner = this.tbczcarShow;
@@ -7057,7 +6525,9 @@ export default {
                 quoteNo: res.data.quoteno,
               };
               this.$api.letter.uploadImages(imageparam).then((responses) => {
-                this.imageEcho(res.data.quoteno); // 获取图片
+                // this.imageEcho(res.data.quoteno); // 获取图片
+        this.$refs.imageDialog.imageEcho(res.data.quoteno)
+
               });
             }
 
@@ -7506,7 +6976,9 @@ export default {
               quoteNo: res.data.quoteno,
             };
             this.$api.letter.uploadImages(imageparam).then((responses) => {
-              this.imageEcho(res.data.quoteno); // 获取图片
+              // this.imageEcho(res.data.quoteno); // 获取图片
+        this.$refs.imageDialog.imageEcho(res.data.quoteno)
+
             });
           }
           this.quoteno = res.data.quoteno;
@@ -8618,8 +8090,8 @@ export default {
       this.$refs.detailsDialog.setBackupVisible(true);
     },
     imageUpload() {
-      this.imageUploaddialogVisible = true;
-      // this.$refs.imageDialog.setBackupVisible(true);
+      // this.imageUploaddialogVisible = true;
+      this.$refs.imageDialog.setBackupVisible(true);
 
     },
     policyUpload() {
@@ -8649,223 +8121,7 @@ export default {
         }
       });
     },
-    imageEcho(quotenos) {
-      //影像查询
-      this.$api.letter.findByQuoteNo(quotenos).then((res) => {
-        if (res.code == "200") {
-          this.imageList1 = [];
-          this.imageList2 = [];
-          this.imageList3 = [];
-          this.imageList4 = [];
-          this.imageList5 = [];
-          this.imageList6 = [];
-          this.imgList1 = [];
-          this.imgList2 = [];
-          this.imgList3 = [];
-          this.imgList4 = [];
-          this.imgList5 = [];
-          this.imgList6 = [];
-          this.imgList7 = [];
-          this.imgList8 = [];
-          this.imgList9 = [];
-          this.imgList10 = [];
-          this.imgList11 = [];
-          this.imgList12 = [];
-          this.imgList13 = [];
-          this.imgList14 = [];
-          this.imgList15 = [];
-          this.imgList16 = [];
-          this.imgList17 = [];
-          this.imgList18 = [];
-          this.imgList19 = [];
-          this.imgList20 = [];
-          this.imgList21 = [];
-          this.imgList22 = [];
-          this.imgList23 = [];
-          this.imgList24 = [];
-          Object.keys(res.data).forEach((keys) => {
-            if (res.data[keys].url) {
-              res.data[keys].url = process.env.BASE_URL + res.data[keys].url;
-              switch (keys) {
-                case "C01":
-                  this.imageList1.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList1.push(res.data[keys]);
-                  break;
-                case "D01":
-                  this.imageList1.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList2.push(res.data[keys]);
-                  break;
-                case "C02":
-                  this.imageList2.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList3.push(res.data[keys]);
-                  break;
-
-                case "D02":
-                  this.imageList2.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList4.push(res.data[keys]);
-                  break;
-                case "C03":
-                  this.imageList3.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList5.push(res.data[keys]);
-                  break;
-                case "D03":
-                  this.imageList3.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList6.push(res.data[keys]);
-                  break;
-                case "C04":
-                  this.imageList4.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList7.push(res.data[keys]);
-                  break;
-                case "D04":
-                  this.imageList4.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList8.push(res.data[keys]);
-                  break;
-                case "XC00":
-                  this.imageList5.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList9.push(res.data[keys]);
-                  break;
-                case "GC00":
-                  this.imageList5.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList10.push(res.data[keys]);
-                  break;
-                case "GX00":
-                  this.imageList5.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList11.push(res.data[keys]);
-                  break;
-                 case "TAR05":
-                  this.imageList1.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList12.push(res.data[keys]);
-                  break;
-                case "C0500":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList13.push(res.data[keys]);
-                  break;
-                case "C0501":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList14.push(res.data[keys]);
-                  break;
-                case "C0502":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList15.push(res.data[keys]);
-                  break;
-                case "C0503":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList16.push(res.data[keys]);
-                  break;
-                case "C0504":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList17.push(res.data[keys]);
-                  break;
-                case "C0506":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList18.push(res.data[keys]);
-                  break;
-                case "C0507":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList19.push(res.data[keys]);
-                  break;
-                case "C0505":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList20.push(res.data[keys]);
-                  break;
-                case "C0508":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList21.push(res.data[keys]);
-                  break;
-                case "C0509":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList22.push(res.data[keys]);
-                  break;
-                  case "C0510":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList23.push(res.data[keys]);
-                  break;
-                  case "LAST_INSURANCE_POLICY":
-                  this.imageList6.push({
-                    imageId: res.data[keys].imageId,
-                    imageType: res.data[keys].imageType,
-                  });
-                  this.imgList24.push(res.data[keys]);
-                  break;
-                default:
-                  break;
-              }
-            }
-          });
-        } else {
-          this.$message({ message: res.msg, type: "info" });
-        }
-      });
-    },
+  
     hbsubmitdialog(data) {
       if (this.imageList1.length == 0 && this.imageList2.length == 0) {
         this.$message({ message: "影像不全,先上传影像", type: "error" });
@@ -10660,33 +9916,6 @@ export default {
       this.systartDate = this.jqstartDate;
       this.syendDate = this.jqendDate;
     },
-    //影像上传
-    uploadinformation() {
-      // //上传图片
-      const mergedArray = [
-        ...this.imageList1,
-        ...this.imageList2,
-        ...this.imageList3,
-        ...this.imageList4,
-        ...this.imageList5,
-        ...this.imageList6,
-      ];
-      let imageparam = {
-        imageList: mergedArray,
-        quoteNo: this.quoteno,
-      };
-      this.$api.letter.uploadImages(imageparam).then((responses) => {
-        if (responses.code == "200") {
-          this.imageEcho(this.quoteno);
-          this.$message({ message: responses.msg, type: "success" });
-        } else {
-          this.$message({ message: responses.msg, type: "error" });
-        }
-      });
-      // this.$refs.imageDialog.setBackupVisible(false);
-
-      this.imageUploaddialogVisible = false;
-    },
     add() {
       this.obtainProtocol();
       if (this.isLetter == "1") {
@@ -10717,18 +9946,7 @@ export default {
       (this.tbczcarShow = true), //投保人同车主
         // this.bbczcarShow = false, //被保人同车主
         (this.bbtbcarShow = true), //被保人同投保人
-        (this.imageList1 = []);
-      this.imageList2 = [];
-      this.imageList3 = [];
-      this.imageList4 = [];
-      this.imgList1 = [];
-      this.imgList2 = [];
-      this.imgList3 = [];
-      this.imgList4 = [];
-      this.imgList5 = [];
-      this.imgList6 = [];
-      this.imgList7 = [];
-      this.imgList8 = [];
+        this.$refs.imageDialog.emptyList()
 
       // 清空保险公司选中的意外险
       this.zijintemplateSelection = "";

+ 22 - 8
src/views/Task/daikeComponents/KtOrder.vue

@@ -174,6 +174,7 @@
               <el-button v-if="item.orderstatus !== '2'" size="mini" type="text" class="blue_color"
                 @click="orderTrajectory(scope.row, item)">订单轨迹</el-button>
               <el-button size="mini" type="primary" @click="bjdpreview(item.id, scope.row.userid)">报价单</el-button>
+              <el-button v-if="item.orderstatus == '1' && item.inscompany=='平安财险' && item.fileStatus" size="mini" type="text" class="green_color" @click="additionalInformation(item.id,scope.row)">补充资料</el-button>
               <!-- <el-button size="mini" type="text" @click="CloseEdit(scope.$index, scope.row)">编辑</el-button> -->
               <el-button type="text" size="mini" v-if="item.orderstatus == '2'">
                 <el-dropdown trigger="click">
@@ -487,6 +488,8 @@
     <!-- 报价单 -->
     <quotationDialog ref="quotationDialog" :queryOrders="queryOrders"></quotationDialog>
     <quotationDialogPro ref="quotationDialogPro" :queryOrders="queryOrders"></quotationDialogPro>
+    
+    <imageDialog ref="imageDialog" :companyId="companyId" :type="2"></imageDialog>
   </div>
 </template>
 <script>
@@ -498,9 +501,13 @@ import QRCode from "qrcodejs2";
 import quotationDialog from "@/views/Core/components/quotationDialog.vue";
 import quotationDialogPro from "@/views/Core/components/quotationDialogPro.vue";
 import detailsDialog from "@/views/Core/components/detailsDialog.vue";
+import imageDialog from "@/views/Core/components/imageDialog.vue";
+import { debounce } from 'lodash';
+
 export default {
   data() {
     return {
+      companyId:'',
       orderLoaing: false,
       qrcodeWidth: "180",
       qrcodeHeight: "180",
@@ -604,7 +611,7 @@ export default {
       resultMessageImg:''
     };
   },
-  components: { quotationDialog, detailsDialog, quotationDialogPro },
+  components: { quotationDialog, detailsDialog, quotationDialogPro,imageDialog},
   created() {
     this.getDicType("natureOfVehicleUse"); //车辆使用性质
     this.getDicType("vehicleType"); //车辆种类
@@ -693,6 +700,11 @@ export default {
     },
   },
   methods: {
+    additionalInformation(companyId,row){
+        this.companyId=companyId
+      this.$refs.imageDialog.imageEcho(row.quoteno)
+      this.$refs.imageDialog.setBackupVisible(true);
+    },
     //报价历史点击事件
     onoffQuotationHistory(row) {
       this.quotationhistoryRow = row;
@@ -2387,8 +2399,9 @@ export default {
     //         this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
     //   }
     // },
-    handleRowChange(row) {
-      if (!row.expanded) {
+    handleRowChange:debounce(function(row,expandedRows) {
+      console.log(expandedRows);
+      if (expandedRows.length>0) {
         this.$api.letter
           .querySonOrders({ orderNo: row.orderno })
           .then((res) => {
@@ -2405,11 +2418,12 @@ export default {
               this.$message.info("暂无数据");
             }
           });
-      } else {
-        row.expanded = !row.expanded;
-        this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
-      }
-    },
+      } 
+      // else {
+      //   row.expanded = !row.expanded;
+      //   this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
+      // }
+    }, 500), // 300 毫秒内不会重复触发,
     //数据
     findPage() {
       this.orderLoaing = true;

Някои файлове не бяха показани, защото твърде много файлове са промени