test 2 лет назад
Родитель
Сommit
0a5a77277b

+ 96 - 47
src/components/Form/retrievalForm.vue

@@ -1,36 +1,78 @@
 <template>
-  <el-form ref="form" :model="formData" :inline="true" :label-width="labelWidth" size="small">
+  <el-form
+    ref="form"
+    :model="formData"
+    :inline="true"
+    :label-width="labelWidth"
+    size="small"
+  >
     <el-row>
-      <el-col :span="6" v-for="field in formFields" :key="field.label" v-show="field.Retained !== false">
-        <el-form-item :label="field.label" >
+      <el-col
+        :span="6"
+        v-for="field in formFields"
+        :key="field.label"
+        v-show="field.Retained !== false"
+      >
+        <el-form-item :label="field.label">
           <template v-if="field.type === 'input'">
-            <el-input v-model="formData[field.name]" :placeholder="'请输入' + field.label"></el-input>
+            <el-input
+              v-model="formData[field.name]"
+              :placeholder="'请输入' + field.label"
+              clearable
+            ></el-input>
           </template>
           <template v-else-if="field.type === 'select'">
-            <el-select v-model="formData[field.name]" filterable clearable :placeholder="'请选择' + field.label"
-              @change="selectChange($event, field.name)">
-              <el-option v-for="(option, index) in field.options" :key="index"
-                :label="field.optionsIabel ? option[field.optionsIabel] : option.name"
-                :value="field.optionsValue ? option[field.optionsValue] : option.id"></el-option>
+            <el-select
+              v-model="formData[field.name]"
+              filterable
+              clearable
+              :placeholder="'请选择' + field.label"
+              @change="selectChange($event, field.name)"
+            >
+              <el-option
+                v-for="(option, index) in field.options"
+                :key="index"
+                :label="
+                  field.optionsIabel ? option[field.optionsIabel] : option.name
+                "
+                :value="
+                  field.optionsValue ? option[field.optionsValue] : option.id
+                "
+              ></el-option>
             </el-select>
           </template>
           <template v-else-if="field.type === 'date'">
-            <el-date-picker type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期"
-              end-placeholder="结束日期" v-model="formData[field.list]" style="width: 100%;"
-              @change="dateChange($event, field.name)"></el-date-picker>
+            <el-date-picker
+              type="daterange"
+              value-format="yyyy-MM-dd"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              v-model="formData[field.list]"
+              style="width: 100%"
+              @change="dateChange($event, field.name)"
+            ></el-date-picker>
           </template>
           <template v-else-if="field.type === 'switch'">
             <el-switch v-model="formData[field.name]"></el-switch>
           </template>
           <template v-else-if="field.type === 'checkbox'">
             <el-checkbox-group v-model="formData[field.name]">
-              <el-checkbox v-for="(option, index) in field.options" :key="index" :label="option.label"
-                :name="field.name"></el-checkbox>
+              <el-checkbox
+                v-for="(option, index) in field.options"
+                :key="index"
+                :label="option.label"
+                :name="field.name"
+              ></el-checkbox>
             </el-checkbox-group>
           </template>
           <template v-else-if="field.type === 'radio'">
             <el-radio-group v-model="formData[field.name]">
-              <el-radio v-for="(option, index) in field.options" :key="index" :label="option.label"></el-radio>
+              <el-radio
+                v-for="(option, index) in field.options"
+                :key="index"
+                :label="option.label"
+              ></el-radio>
             </el-radio-group>
           </template>
           <template v-else-if="field.type === 'textarea'">
@@ -38,13 +80,22 @@
           </template>
         </el-form-item>
       </el-col>
-      <el-col :span="2" :offset="1" style="margin-top: 10px;" class="fold">
+      <el-col :span="2" :offset="1" style="margin-top: 10px" class="fold">
         <span @click="toggleCollapse">折叠筛选信息</span>
-        <img src="../../../src/icon/Arrow.png" alt
-          :style="{ weith: '10px', height: '10px', transform: `rotate(${isCollapsed ? 0 : 180}deg)` }" />
+        <img
+          src="../../../src/icon/Arrow.png"
+          alt
+          :style="{
+            weith: '10px',
+            height: '10px',
+            transform: `rotate(${isCollapsed ? 0 : 180}deg)`,
+          }"
+        />
       </el-col>
-      <el-col :span="2" style="text-align: right;">
-        <el-button size="small" type="primary" @click="handleSubmit">查询</el-button>
+      <el-col :span="2" style="text-align: right">
+        <el-button size="small" type="primary" @click="handleSubmit"
+          >查询</el-button
+        >
       </el-col>
     </el-row>
   </el-form>
@@ -55,12 +106,12 @@ export default {
   props: {
     fields: {
       type: Array,
-      required: true
+      required: true,
     },
     labelWidth: {
       type: String,
-      default: '120px'
-    }
+      default: "120px",
+    },
   },
   data() {
     return {
@@ -73,15 +124,18 @@ export default {
     currentDate() {
       const today = new Date();
       const year = today.getFullYear();
-      const month = String(today.getMonth() + 1).padStart(2, '0');
-      const day = String(today.getDate()).padStart(2, '0');
+      const month = String(today.getMonth() + 1).padStart(2, "0");
+      const day = String(today.getDate()).padStart(2, "0");
       return `${year}-${month}-${day}`;
-    }
+    },
   },
   created() {
     this.fields.forEach((field) => {
-      if (field.label === '报价时间' && !this.formData[field.list]) {
-        this.$set(this.formData, field.list, [this.currentDate, this.currentDate]);
+      if (field.label === "报价时间" && !this.formData[field.list]) {
+        this.$set(this.formData, field.list, [
+          this.currentDate,
+          this.currentDate,
+        ]);
         this.$set(this.formData, field.name[0], this.currentDate);
         this.$set(this.formData, field.name[1], this.currentDate);
       }
@@ -94,21 +148,19 @@ export default {
   methods: {
     selectChange(id, filed) {
       switch (filed) {
-        case 'provinceId':
-          console.log(this.formData)
+        case "provinceId":
+          console.log(this.formData);
           break;
-        case 'cityId':
-
+        case "cityId":
           break;
-        case 'countyId':
-
+        case "countyId":
           break;
 
         default:
           break;
       }
       if (id) {
-        this.$emit('areaSelectChange', { id, filed });
+        this.$emit("areaSelectChange", { id, filed });
       }
     },
     dateChange(event, filed) {
@@ -122,45 +174,42 @@ export default {
     },
     toggleCollapse() {
       this.isCollapsed = !this.isCollapsed; // 切换折叠状态
-      this.$emit('toggleCollapse', this.isCollapsed);
-
+      this.$emit("toggleCollapse", this.isCollapsed);
     },
     handleSubmit() {
       this.$refs.form.validate((valid) => {
         if (valid) {
-          this.$emit('submit', this.formData);
+          this.$emit("submit", this.formData);
         } else {
           // 表单验证失败,做相应处理
         }
       });
     },
-    resetForm() {
-    }
-  }
+    resetForm() {},
+  },
 };
 </script>
 <style scoped lang="scss">
-.el-row{
+.el-row {
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
 }
-.el-form-item>>>.el-input {
+.el-form-item >>> .el-input {
   width: 250px;
 }
 
-.el-form-item>>>.el-form-item__content {
+.el-form-item >>> .el-form-item__content {
   width: 250px;
 }
 
 .fold {
   font-size: 14px;
-  color: #D42426;
+  color: #d42426;
   cursor: pointer;
-
 }
 
->>>.el-form-item--mini.el-form-item,
+>>> .el-form-item--mini.el-form-item,
 .el-form-item--small.el-form-item {
   margin-bottom: 10px;
 }

+ 321 - 113
src/components/TemplateTable/index.vue

@@ -1,86 +1,196 @@
 <template>
   <div ref="commonTable">
     <!-- 搜索栏 -->
-    <el-form v-if="formList.length > 0" :inline="true" :model="searchDataClone" label-width="130px" ref="searchDataClone"
-      id="commonTable" class="device-wrapper">
-      <el-form-item v-for="f in formList" :key="f.prop" :label="f.label" :prop="f.prop">
+    <el-form
+      v-if="formList.length > 0"
+      :inline="true"
+      :model="searchDataClone"
+      label-width="130px"
+      ref="searchDataClone"
+      id="commonTable"
+      class="device-wrapper"
+    >
+      <el-form-item
+        v-for="f in formList"
+        :key="f.prop"
+        :label="f.label"
+        :prop="f.prop"
+      >
         <template>
           <template v-if="f.type === 'input'">
-            <el-input clearable v-model.trim="searchDataClone[f.prop]" size="small"
-              :placeholder="'请输入' + f.label"></el-input>
+            <el-input
+              clearable
+              v-model.trim="searchDataClone[f.prop]"
+              size="small"
+              :placeholder="'请输入' + f.label"
+            ></el-input>
           </template>
           <template v-else-if="f.type === 'company'">
-            <el-select size="small" clearable v-model="searchDataClone[f.prop]" :placeholder="'请输入' + f.label" filterable >
+            <el-select
+              size="small"
+              clearable
+              v-model="searchDataClone[f.prop]"
+              :placeholder="'请输入' + f.label"
+              filterable
+            >
               <el-option label="不限" value v-if="f.selectAuto"></el-option>
-              <el-option v-for="(s, i) in InsCompanyList" :key="i" :label="s.name" :value="s.id"></el-option>
-            </el-select>          
+              <el-option
+                v-for="(s, i) in InsCompanyList"
+                :key="i"
+                :label="s.name"
+                :value="s.id"
+              ></el-option>
+            </el-select>
           </template>
           <template v-else-if="f.type === 'companyCheck'">
-            <el-select class="selectLength" multiple collapse-tags size="small" v-model="searchDataClone[f.prop]"
-              :placeholder="'请输入' + f.label">
+            <el-select
+              class="selectLength"
+              multiple
+              collapse-tags
+              size="small"
+              v-model="searchDataClone[f.prop]"
+              :placeholder="'请输入' + f.label"
+            >
               <el-option label="不限" value v-if="f.selectAuto"></el-option>
-              <el-option v-for="(s, i) in InsCompanyList" :key="i" :label="s.name" :value="s.id"></el-option>
+              <el-option
+                v-for="(s, i) in InsCompanyList"
+                :key="i"
+                :label="s.name"
+                :value="s.id"
+              ></el-option>
             </el-select>
           </template>
           <template v-else-if="f.type === 'select'">
-            <el-select size="small" clearable v-model="searchDataClone[f.prop]" :placeholder="'请输入' + f.label">
+            <el-select
+              size="small"
+              clearable
+              v-model="searchDataClone[f.prop]"
+              :placeholder="'请输入' + f.label"
+            >
               <el-option label="不限" value v-if="f.selectAuto"></el-option>
-              <el-option v-for="(s, i) in f.options" :key="i" :label="s.label || s.dictTag"
-                :value="s.value || s.dictValue"></el-option>
+              <el-option
+                v-for="(s, i) in f.options"
+                :key="i"
+                :label="s.label || s.dictTag"
+                :value="s.value || s.dictValue"
+              ></el-option>
             </el-select>
           </template>
           <template v-else-if="f.type === 'selectDept'">
-            <el-select  size="small" v-model="searchDataClone[f.prop]" filterable clearable :placeholder="'请选择' + f.label"
-              @change="selectChange($event, f.prop)">
-              <el-option v-for="(option, index) in f.options" :key="index"
+            <el-select
+              size="small"
+              v-model="searchDataClone[f.prop]"
+              filterable
+              clearable
+              :placeholder="'请选择' + f.label"
+              @change="selectChange($event, f.prop)"
+            >
+              <el-option
+                v-for="(option, index) in f.options"
+                :key="index"
                 :label="f.optionsIabel ? option[f.optionsIabel] : option.name"
-                :value="f.optionsValue ? option[f.optionsValue] : option.id"></el-option>
+                :value="f.optionsValue ? option[f.optionsValue] : option.id"
+              ></el-option>
             </el-select>
           </template>
           <template v-else-if="f.type === 'selectCompany'">
-            <el-select  size="small" v-model="searchDataClone[f.prop]" filterable clearable :placeholder="'请选择' + f.label"
-              @change="selectCompanyChange($event, f.prop)">
-              <el-option v-for="(option, index) in f.options" :key="index"
+            <el-select
+              size="small"
+              v-model="searchDataClone[f.prop]"
+              filterable
+              clearable
+              :placeholder="'请选择' + f.label"
+              @change="selectCompanyChange($event, f.prop)"
+            >
+              <el-option
+                v-for="(option, index) in f.options"
+                :key="index"
                 :label="f.optionsIabel ? option[f.optionsIabel] : option.name"
-                :value="f.optionsValue ? option[f.optionsValue] : option.id"></el-option>
+                :value="f.optionsValue ? option[f.optionsValue] : option.id"
+              ></el-option>
             </el-select>
           </template>
           <template v-else-if="f.type === 'datePicker'">
             <!-- 日期区间 -->
-            <el-date-picker style="width: 215px;" type="daterange" size="small" v-model="searchDataClone[f.prop]" align="right" unlink-panels
-              range-separator="-" start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd HH:mm:ss"
-              :default-time="['00:00:00', '23:59:59']" :clearable="true"></el-date-picker>
+            <el-date-picker
+              style="width: 215px"
+              type="daterange"
+              size="small"
+              v-model="searchDataClone[f.prop]"
+              align="right"
+              unlink-panels
+              range-separator="-"
+              start-placeholder="开始时间"
+              end-placeholder="结束时间"
+              value-format="yyyy-MM-dd HH:mm:ss"
+              :default-time="['00:00:00', '23:59:59']"
+              :clearable="true"
+            ></el-date-picker>
           </template>
           <template v-else-if="f.type === 'date'">
             <!-- 一天 -->
-            <el-date-picker type="date" size="small"  v-model="searchDataClone[f.prop]" placeholder="选择日期"
-              value-format="yyyy-MM-dd"></el-date-picker>
+            <el-date-picker
+              type="date"
+              size="small"
+              v-model="searchDataClone[f.prop]"
+              placeholder="选择日期"
+              value-format="yyyy-MM-dd"
+            ></el-date-picker>
           </template>
           <!-- 年份 -->
           <template v-else-if="f.type === 'year'">
-            <el-date-picker  type="year" size="small" v-model="searchDataClone[f.prop]" placeholder="选择年">
-          </el-date-picker>
+            <el-date-picker
+              type="year"
+              size="small"
+              v-model="searchDataClone[f.prop]"
+              placeholder="选择年"
+            >
+            </el-date-picker>
           </template>
           <template v-else-if="f.type === 'radio'">
-            <el-radio-group v-model="searchDataClone[f.prop]" :placeholder="'请输入' + f.label">
-              <el-radio v-for="(r, i) in f.radioList" :key="i" :label="r.value">{{ r.label }}</el-radio>
+            <el-radio-group
+              v-model="searchDataClone[f.prop]"
+              :placeholder="'请输入' + f.label"
+            >
+              <el-radio
+                v-for="(r, i) in f.radioList"
+                :key="i"
+                :label="r.value"
+                >{{ r.label }}</el-radio
+              >
             </el-radio-group>
           </template>
           <template v-else-if="f.type === 'slot'">
-            <slot show-overflow-tooltip :name="f.name" ></slot>
+            <slot show-overflow-tooltip :name="f.name"></slot>
           </template>
         </template>
-
       </el-form-item>
 
-
       <el-form-item>
-        <el-button style="margin-left:30px" size="small" @click="resetForm('searchDataClone')">重置</el-button>
-        <el-button type="primary" size="small" @click="handleSearchList()">查询</el-button>
+        <el-button
+          style="margin-left: 30px"
+          size="small"
+          @click="resetForm('searchDataClone')"
+          >重置</el-button
+        >
+        <el-button type="primary" size="small" @click="handleSearchList()"
+          >查询</el-button
+        >
         <template v-if="btnGroup.length > 0">
-          <span v-for="(val, idx) in btnGroup" :key="idx" style="margin-left:10px">
-            <slot  v-if="val.slot" show-overflow-tooltip :name="val.name"></slot>
-            <el-button v-else :disabled="false || (val.disabled && val.disabled())" :type="val.type || 'primary'" size="small" @click="val.click()">{{ val.name }}</el-button>
+          <span
+            v-for="(val, idx) in btnGroup"
+            :key="idx"
+            style="margin-left: 10px"
+          >
+            <slot v-if="val.slot" show-overflow-tooltip :name="val.name"></slot>
+            <el-button
+              v-else
+              :disabled="false || (val.disabled && val.disabled())"
+              :type="val.type || 'primary'"
+              size="small"
+              @click="val.click()"
+              >{{ val.name }}</el-button
+            >
           </span>
         </template>
       </el-form-item>
@@ -89,53 +199,126 @@
       </el-form-item> -->
     </el-form>
 
-    <slot v-if="custom" show-overflow-tooltip ></slot>
+    <slot v-if="custom" show-overflow-tooltip></slot>
 
-    <el-table ref="table" :show-summary="tableConfig.showSummary||false" :data="data" border size="small" style="width: 100%" :height="tableConfig.tableHeight ||tableHeight" v-loading="tableConfig.loading"
-      element-loading-text="数据加载中" element-loading-spinner="el-icon-loading" @selection-change="handleSelectionChange"  @select-all="selectAll"
-      :row-style="{ height: '55px' }" :cell-style="{ padding: '0px' }" @current-change="handleCurrentTableChange"
-      :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#606266' }" :cell-class-name="rowClass">
-      <el-table-column type="selection" :width="tableConfig.selectionWidth || '50'" v-if="tableConfig.isCheckBox"
-        align="center" />
-      <el-table-column type="index" :width="tableConfig.indexWidth || '50'" v-if="tableConfig.isShowIndex" align="center"
-        label="序号" />
+    <el-table
+      ref="table"
+      :show-summary="tableConfig.showSummary || false"
+      :data="data"
+      border
+      size="small"
+      style="width: 100%"
+      :height="tableConfig.tableHeight || tableHeight"
+      v-loading="tableConfig.loading"
+      element-loading-text="数据加载中"
+      element-loading-spinner="el-icon-loading"
+      @selection-change="handleSelectionChange"
+      @select-all="selectAll"
+      :row-style="{ height: '55px' }"
+      :cell-style="{ padding: '0px' }"
+      @current-change="handleCurrentTableChange"
+      :header-cell-style="{
+        background: '#F2F7FC',
+        fontWeight: '700',
+        color: '#606266',
+      }"
+      :cell-class-name="rowClass"
+    >
+      <el-table-column
+        type="selection"
+        :width="tableConfig.selectionWidth || '50'"
+        v-if="tableConfig.isCheckBox"
+        align="center"
+      />
+      <el-table-column
+        type="index"
+        :width="tableConfig.indexWidth || '50'"
+        v-if="tableConfig.isShowIndex"
+        align="center"
+        label="序号"
+      />
       <template v-for="(item, index) in tableConfig.columns">
         <!-- 日期内容 -->
-        <el-table-column v-if="item.type === 'date'" :align="'center'" :fixed="item.fixed" :width="item.width || 150"
-          show-overflow-tooltip :label="item.label" :key="item.prop">
+        <el-table-column
+          v-if="item.type === 'date'"
+          :align="'center'"
+          :fixed="item.fixed"
+          :width="item.width || 150"
+          show-overflow-tooltip
+          :label="item.label"
+          :key="item.prop"
+        >
           <template slot-scope="scope">
             <div>{{ scope.row[item.prop] | formateDate }}</div>
           </template>
         </el-table-column>
         <!-- 字典项 -->
-        <el-table-column v-if="item.type === 'dic'" :align="'center'" :width="item.width || ''" :fixed="item.fixed"
-          show-overflow-tooltip :label="item.label" :key="item.prop" :prop="item.prop">
+        <el-table-column
+          v-if="item.type === 'dic'"
+          :align="'center'"
+          :width="item.width || ''"
+          :fixed="item.fixed"
+          show-overflow-tooltip
+          :label="item.label"
+          :key="item.prop"
+          :prop="item.prop"
+        >
           <template slot-scope="scope">
-            <span>{{ selectDictLabel(dictData[item.dic], scope.row[item.prop]) }}</span>
+            <span>{{
+              selectDictLabel(dictData[item.dic], scope.row[item.prop])
+            }}</span>
           </template>
         </el-table-column>
-        <el-table-column v-if="item.type === 'statMap'" :align="'center'" :width="item.width || ''" :fixed="item.fixed"
-          show-overflow-tooltip :label="item.label" :key="item.prop" :prop="item.prop">
+        <el-table-column
+          v-if="item.type === 'statMap'"
+          :align="'center'"
+          :width="item.width || ''"
+          :fixed="item.fixed"
+          show-overflow-tooltip
+          :label="item.label"
+          :key="item.prop"
+          :prop="item.prop"
+        >
           <template slot-scope="scope">
-            <span> {{ statMaps(item.options)[scope.row[item.prop]] || '--' }}</span>
+            <span>
+              {{ statMaps(item.options)[scope.row[item.prop]] || "--" }}</span
+            >
           </template>
         </el-table-column>
         <!-- 自定义内容 -->
-        <el-table-column v-if="item.type === 'slot'" :align="'center'"  show-overflow-tooltip :name="item.name"
-          :label="item.label" :key="item.prop" :prop="item.prop">
+        <el-table-column
+          v-if="item.type === 'slot'"
+          :align="'center'"
+          show-overflow-tooltip
+          :name="item.name"
+          :label="item.label"
+          :key="item.prop"
+          :prop="item.prop"
+        >
           <template slot-scope="scope">
             <slot show-overflow-tooltip v-bind="scope" :name="item.name"></slot>
           </template>
         </el-table-column>
         <!-- 常规文本内容 -->
-        <el-table-column v-if="item.type === 'text'" :align="'center'" :width="item.width || ''" :fixed="item.fixed"
-          :label="item.label" :key="item.prop" :prop="item.prop"></el-table-column>
-
+        <el-table-column
+          v-if="item.type === 'text'"
+          :align="'center'"
+          :width="item.width || ''"
+          :fixed="item.fixed"
+          :label="item.label"
+          :key="item.prop"
+          :prop="item.prop"
+        ></el-table-column>
       </template>
       <!-- <slot name="operate" :row="scope.row"></slot> -->
       <!-- 自定义操作栏 -->
-      <el-table-column v-if="tableConfig.operateShow" label="操作" align="center"
-        :min-width="tableConfig.operationWidth || '100'" fixed="right">
+      <el-table-column
+        v-if="tableConfig.operateShow"
+        label="操作"
+        align="center"
+        :min-width="tableConfig.operationWidth || '100'"
+        fixed="right"
+      >
         <template slot-scope="scope">
           <slot name="operate" :row="scope.row"></slot>
         </template>
@@ -151,27 +334,47 @@
             //     click:(row, index) => {return this.modifyFun(row)},
             //   }
             // ] -->
-      <el-table-column v-if="tableConfig.optBtns" :min-width="tableConfig.operationWidth || '100'" label="操作"
-        fixed="right" header-align="center" align="center">
+      <el-table-column
+        v-if="tableConfig.optBtns"
+        :min-width="tableConfig.operationWidth || '100'"
+        label="操作"
+        fixed="right"
+        header-align="center"
+        align="center"
+      >
         <template slot-scope="scope">
           <span v-for="(btn, index) in tableConfig.optBtns" :key="index">
             <!-- <el-button style="margin:0 10px" v-if="!btn.hide || (btn.hide && btn.hide(scope.row))" v-permission="btn.perm"
               @click="btn.click(scope.row, index)" :type="btn.type || 'primary'" :icon="btn.icon" size="small">{{
                 btn.label
               }} </el-button> -->
-            <kt-button style="margin:0 10px" v-if="!btn.hide || (btn.hide && btn.hide(scope.row))" :icon="btn.icon" :label="btn.label"
-              :type="btn.type || 'primary'" size="small" :perms="btn.perm"  @click="btn.click(scope.row, index)" />
+            <kt-button
+              style="margin: 0 10px"
+              v-if="!btn.hide || (btn.hide && btn.hide(scope.row))"
+              :icon="btn.icon"
+              :label="btn.label"
+              :type="btn.type || 'primary'"
+              size="small"
+              :perms="btn.perm"
+              @click="btn.click(scope.row, index)"
+            />
           </span>
         </template>
       </el-table-column>
-
     </el-table>
     <!-- 分页 -->
     <div class="block" ref="bottomFixed">
-      <el-pagination v-if="tableConfig.isPaginationShow && pagination.totalSize" style="margin-top: 10px"
-        :page-size="pagination.pageSize" :current-page.sync="pagination.pageNum" :total="pagination.totalSize"
-        layout="total, sizes,prev, pager, next,jumper" :page-sizes="[10, 20, 50, 100]" @size-change="handleSizeChange"
-        @current-change="handleCurrentChange" />
+      <el-pagination
+        v-if="tableConfig.isPaginationShow && pagination.totalSize"
+        style="margin-top: 10px"
+        :page-size="pagination.pageSize"
+        :current-page.sync="pagination.pageNum"
+        :total="pagination.totalSize"
+        layout="total, sizes,prev, pager, next,jumper"
+        :page-sizes="[10, 20, 50, 100]"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
     </div>
   </div>
 </template>
@@ -187,25 +390,25 @@ export default {
       type: Boolean,
       default: () => {
         return false;
-      }
+      },
     },
     formList: {
       type: Array,
       default: () => {
         return [];
-      }
+      },
     },
     btnGroup: {
       type: Array,
       default: () => {
         return [];
-      }
+      },
     },
     tableConfig: {
       type: Object,
       default: () => {
         return {};
-      }
+      },
     },
     // searchDataClone: {
     //   type: Object,
@@ -223,78 +426,82 @@ export default {
     },
     rowClass: {
       type: Function,
-      default: () => '',
+      default: () => "",
     },
     data: {
       type: Array,
-      default: () => []
+      default: () => [],
     },
   },
   data() {
     return {
       tableHeight: 0,
       InsCompanyList: [],
-      searchDataClone: {}
+      searchDataClone: {},
     };
   },
   created() {
-    if(this.formList.length>0 && this.formList.find(val=>val.type=='company' || val.type=='companyCheck')){
-      this.companyFun()
+    if (
+      this.formList.length > 0 &&
+      this.formList.find(
+        (val) => val.type == "company" || val.type == "companyCheck"
+      )
+    ) {
+      this.companyFun();
     }
   },
   mounted() {
     setTimeout(() => {
       var divHg = 0;
       if (document.getElementById("commonTable") != null) {
-        divHg = document.getElementById("commonTable").clientHeight
+        divHg = document.getElementById("commonTable").clientHeight;
       } else {
-        divHg = 100
+        divHg = 100;
       }
       let bottomTop = this.$refs.bottomFixed.offsetTop;
-      this.tableHeight = window.innerHeight - divHg -160  + "px";
+      //160??待调整
+      this.tableHeight = window.innerHeight - divHg - 210 + "px";
     }, 10);
   },
   filters: {
     formateDate(val) {
-      return formatDateTime(val)
-    }
+      return formatDateTime(val);
+    },
   },
 
   methods: {
     selectChange(id, filed) {
       switch (filed) {
-        case 'provinceId':
+        case "provinceId":
           break;
-        case 'cityId':
-
+        case "cityId":
           break;
-        case 'countyId':
-
+        case "countyId":
           break;
 
         default:
           break;
       }
       if (id) {
-        this.$emit('areaSelectChange', { id, filed });
+        this.$emit("areaSelectChange", { id, filed });
       }
     },
     selectCompanyChange(id, filed) {
       if (id) {
-        this.$emit('companySelectChange', { id, filed });
+        this.$emit("companySelectChange", { id, filed });
       }
     },
     formatDateTime(date) {
       let d = new Date(date),
-        month = '' + (d.getMonth() + 1),
-        day = '' + d.getDate(),
+        month = "" + (d.getMonth() + 1),
+        day = "" + d.getDate(),
         year = d.getFullYear();
-      if (month.length < 2) month = '0' + month;
-      if (day.length < 2) day = '0' + day;
-      return [year, month, day].join('-');
+      if (month.length < 2) month = "0" + month;
+      if (day.length < 2) day = "0" + day;
+      return [year, month, day].join("-");
     },
     companyFun() {
-      this.$api.cost.gainTopList({ type: 1 }).then(res => {
+      this.$api.cost.gainTopList({ type: 1 }).then((res) => {
         if (res.data) {
           this.InsCompanyList = res.data;
         }
@@ -303,7 +510,7 @@ export default {
     statMaps(list) {
       if (!list) return;
       let obj = {};
-      list.forEach(item => {
+      list.forEach((item) => {
         obj[item.value || item.id] = item.label || item.value;
       });
       return obj;
@@ -311,10 +518,10 @@ export default {
 
     selectDictLabel(dicts, value) {
       if (value === undefined) {
-        return '';
+        return "";
       }
       if (dicts === undefined) {
-        return '';
+        return "";
       }
       const actions = [];
       Object.keys(dicts).some((key) => {
@@ -326,45 +533,46 @@ export default {
       if (actions.length === 0) {
         actions.push(value);
       }
-      return actions.join('');
+      return actions.join("");
     },
     // 表格多选
     handleSelectionChange(currentRow) {
-      this.$emit('selectionChange', currentRow,this.$refs.table);
+      this.$emit("selectionChange", currentRow, this.$refs.table);
     },
     selectAll(currentRow) {
-      this.$emit('selectAll', currentRow,this.$refs.table);
+      this.$emit("selectAll", currentRow, this.$refs.table);
     },
     handleSizeChange(value) {
       this.pagination.pageSize = value;
       this.pagination.pageNum = 1;
-      this.$emit('getList',{...this.pagination,...this.searchDataClone});
+      this.$emit("getList", { ...this.pagination, ...this.searchDataClone });
     },
     handleCurrentChange(val) {
       this.pagination.pageNum = val;
-      this.$emit('getList',{...this.pagination,...this.searchDataClone});
+      this.$emit("getList", { ...this.pagination, ...this.searchDataClone });
     },
     handleCurrentTableChange(val) {
-      this.$emit('handleCurrentTableChange',val);
+      this.$emit("handleCurrentTableChange", val);
     },
     // 搜索
     handleSearchList() {
       // 更新父组件searchData
       this.pagination.pageNum = 1;
-      this.pagination.pageSize = 20;
+      this.pagination.pageSize = 20; //查询添加默认每页20条
       this.$emit("handleSearchList", this.searchDataClone);
     },
     // 重置
     resetForm(formName) {
       this.$emit("handleResetForm");
-      this.searchDataClone = {}
+      this.searchDataClone = {};
+      console.log(this.searchDataClone);
       // this.$refs[formName].resetFields();
       this.handleSearchList();
     },
     handleOpt(row, index) {
-      this.$emit('handleOpt', row, index)
+      this.$emit("handleOpt", row, index);
     },
-  }
+  },
 };
 </script>
 <style scoped>
@@ -375,7 +583,7 @@ export default {
   text-overflow: ellipsis;
   white-space: nowrap;
 }
-.device-wrapper /deep/  .el-form-item {
+.device-wrapper /deep/ .el-form-item {
   margin-bottom: 12px;
 }
 </style>

Разница между файлами не показана из-за своего большого размера
+ 501 - 325
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFeesDetail.vue


Разница между файлами не показана из-за своего большого размера
+ 465 - 229
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/HandlingFees.vue


Разница между файлами не показана из-за своего большого размера
+ 571 - 442
src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyintasks.vue


+ 136 - 69
src/views/PeopleManage/Agent/AgentManage.vue

@@ -5,15 +5,12 @@
         <!-- 左侧树Start -->
         <SplitArea :size="leftSplitWidth" :minSize="240">
           <div>
-            <div >
+            <div>
               <!-- <el-checkbox v-model="containsSubDeptChecked"
                 >包含下级机构</el-checkbox
               > -->
               <kt-button
-                style="
-                  background-color: #ffc000;
-                  border: #ffc000;
-                "
+                style="background-color: #ffc000; border: #ffc000"
                 icon="fa fa-plus"
                 label="添加人员"
                 type="primary"
@@ -62,7 +59,7 @@
       @close="closeDialog"
       v-dialogDrag
     >
-      <el-tabs v-model="activeName" >
+      <el-tabs v-model="activeName">
         <el-tab-pane label="基本信息" name="1">
           <el-form
             :model="formData"
@@ -103,7 +100,7 @@
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="身份证号" prop="identity">
                   <el-input
@@ -119,18 +116,22 @@
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item  label="密码" prop="password">
+                <el-form-item label="密码" prop="password">
                   <el-input
                     v-model="formData.password"
                     :class="isShow == true ? 'disc' : 'none'"
                   ></el-input>
-                  <i class="el-icon-view icon" @click="isShowFun()" v-if="dialogPassword"></i>
+                  <i
+                    class="el-icon-view icon"
+                    @click="isShowFun()"
+                    v-if="dialogPassword"
+                  ></i>
                   <!-- <el-input style="width:200px"  v-model="formData.password" autocomplete="new-password"
                     show-password></el-input> -->
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="状态" prop="status">
                   <el-select
@@ -167,13 +168,22 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="岗位" prop="positionId">
-                  <el-select style="width:200px" v-model="formData.positionId" placeholder="请选择">
-                    <el-option v-for="val in postOption" :label="val.postName" :value="val.postId" :key="val.postId"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formData.positionId"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in postOption"
+                      :label="val.postName"
+                      :value="val.postId"
+                      :key="val.postId"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="推荐人" prop="referrerId">
                   <el-select
@@ -198,8 +208,19 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="领导人" prop="leaderId">
-                  <el-select style="width: 200px" clearable filterable  v-model="formData.leaderId" placeholder="请选择">
-                    <el-option v-for="val in leaderOptions" :label="val.name" :value="val.userId" :key="val.userId"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    clearable
+                    filterable
+                    v-model="formData.leaderId"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in leaderOptions"
+                      :label="val.name"
+                      :value="val.userId"
+                      :key="val.userId"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
@@ -265,7 +286,7 @@
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="出生日期" prop="birthday">
                   <el-date-picker
@@ -284,37 +305,72 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="婚姻状况" prop="maritalStatus">
-                  <el-select  v-model="formDataDetail.maritalStatus" placeholder="请选择婚姻状况" style="width:200px">
-                    <el-option v-for="val in maritalStatusOption" :key="val.value" :label="val.label" :value="val.value"></el-option>
+                  <el-select
+                    v-model="formDataDetail.maritalStatus"
+                    placeholder="请选择婚姻状况"
+                    style="width: 200px"
+                  >
+                    <el-option
+                      v-for="val in maritalStatusOption"
+                      :key="val.value"
+                      :label="val.label"
+                      :value="val.value"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="民族" prop="nations">
-                  <el-select  style="width:200px" v-model="formDataDetail.nations" placeholder="请选择民族">
-                    <el-option :label="national" :value="national" v-for="national in nationalList"
-                      :key="national"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.nations"
+                    placeholder="请选择民族"
+                  >
+                    <el-option
+                      :label="national"
+                      :value="national"
+                      v-for="national in nationalList"
+                      :key="national"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="政治面貌" prop="politicsStatus">
-                  <el-select  style="width:200px" v-model="formDataDetail.politicsStatus" placeholder="请选择">
-                    <el-option v-for="val in politicsStatusOption" :key="val.value" :label="val.label" :value="val.value"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.politicsStatus"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in politicsStatusOption"
+                      :key="val.value"
+                      :label="val.label"
+                      :value="val.value"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="健康状况" prop="health">
-                  <el-select  style="width:200px" v-model="formDataDetail.health" placeholder="请选择">
-                    <el-option v-for="val in healthOption" :key="val.value" :label="val.label" :value="val.value"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.health"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in healthOption"
+                      :key="val.value"
+                      :label="val.label"
+                      :value="val.value"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="邮政编码" prop="postalCode">
                   <el-input v-model="formDataDetail.postalCode"></el-input>
@@ -333,12 +389,17 @@
                     v-model="formDataDetail.bloodType"
                     placeholder="请选择"
                   >
-                  <el-option v-for="val in bloodOption" :key="val.value" :label="val.label" :value="val.value"></el-option>
+                    <el-option
+                      v-for="val in bloodOption"
+                      :key="val.value"
+                      :label="val.label"
+                      :value="val.value"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="学历" prop="education">
                   <el-select
@@ -373,7 +434,7 @@
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="原工作单位" prop="formerEmployer">
                   <el-input v-model="formDataDetail.formerEmployer"></el-input>
@@ -469,10 +530,10 @@ import tree from "@/components/ztree.vue"; // 机构树组件
 import templateTable from "../../../components/TemplateTable/index.vue";
 import peopleImage from "@/components/PeopleImage/index.vue";
 import { validateSfz } from "../../../utils/validate.js";
-import mixa from '../mixin'
+import mixa from "../mixin";
 const mixin = new mixa({
-  treeTypeNum:2 //树分类过滤参数
-})
+  treeTypeNum: 2, //树分类过滤参数
+});
 export default {
   components: {
     KtButton,
@@ -522,7 +583,7 @@ export default {
         {
           label: "领导人",
           prop: "leaderId",
-          type: "select",
+          type: "selectDept",
           options: [],
         },
       ],
@@ -557,10 +618,10 @@ export default {
             type: "text",
           },
           {
-          prop: "managementSource",
-          label: "来源",
-          type: "text",
-        },
+            prop: "managementSource",
+            label: "来源",
+            type: "text",
+          },
           {
             prop: "status",
             label: "状态",
@@ -574,7 +635,7 @@ export default {
           {
             type: "primary",
             label: "编辑",
-            perm:'sys:agent:edit',
+            perm: "sys:agent:edit",
             icon: "fa fa-edit",
             click: (row, index) => {
               return this.handleTableEdit(row);
@@ -593,8 +654,7 @@ export default {
         roleId: "20",
       },
       formDataDetail: {},
-      formDataRulesDetail: {
-      },
+      formDataRulesDetail: {},
       formDataRules: {
         deptId: [{ required: true, message: "请选择机构", trigger: "change" }],
         mobile: [
@@ -640,22 +700,22 @@ export default {
     // this.getDictItems("sex");
     // this.getDictItems("user_status");
     this.findPage();
-    this.searchLeaderFun()
+    this.searchLeaderFun();
   },
   methods: {
     searchLeaderFun() {
       this.$api.user
         .findBackListByDeptId({ deptId: this.deptId })
         .then((res) => {
-          res.data.forEach(e=>{
-            e.value= e.id
-            e.label= e.name
-          })
-          this.formList.forEach(val=>{
-            if(val.prop=="leaderId"){
-              val.options=res.data;
+          res.data.forEach((e) => {
+            e.value = e.id;
+            e.label = e.name;
+          });
+          this.formList.forEach((val) => {
+            if (val.prop == "leaderId") {
+              val.options = res.data;
             }
-          })
+          });
         });
     },
     //状态改变时
@@ -710,7 +770,7 @@ export default {
       this.deptId = this.currentTreeNode.id;
       this.pageData.pageNum = 1;
       this.findPage();
-      this.searchLeaderFun()
+      this.searchLeaderFun();
       // this.formData.deptId = [];
       // this.platform(treeId);
     },
@@ -733,8 +793,8 @@ export default {
           .then((res) => {
             this.recommenderOptions = res.data;
           });
-          this.$api.user
-          .findListByDeptId({ deptId: this.formData.deptId, })
+        this.$api.user
+          .findListByDeptId({ deptId: this.formData.deptId })
           .then((res) => {
             this.leaderOptions = res.data;
           });
@@ -747,12 +807,13 @@ export default {
         // .findPage({dto,pageNum:this.pageData.pageNum,pageSize:this.pageData.pageSize})
         .findUserList({
           ...this.pageData,
-          dto: { ...data, roleId: "20", deptId: this.deptId,agentFlag: "2", },
+          dto: { ...data, roleId: "20", deptId: this.deptId, agentFlag: "2" },
         })
         .then((res) => {
           if (res.code == 200 && res.data.records.length > 0) {
             res.data.records.forEach((val) => {
-              val.managementSource=val.managementSource=='2'?"个代":"渠道"
+              val.managementSource =
+                val.managementSource == "2" ? "个代" : "渠道";
               if (val.sex && val.sex !== "" && val.sex !== null) {
                 val.sex = this.sexoptions.find(
                   (ele) => ele.value == val.sex
@@ -768,7 +829,7 @@ export default {
           }
 
           this.tableConfig.loading = false;
-        
+
           this.pageResult = res.data.records;
           this.pageData.pageNum = res.data.current;
           this.pageData.pageSize = res.data.size;
@@ -796,11 +857,9 @@ export default {
       this.activeName = "1";
       let res = await this.$api.user.getUserDatail(params.userId);
       if (res.code == 200) {
-        this.$api.user
-        .findBackUserList1({agentFlag: 0})
-          .then((res) => {
-            this.leaderOptions = res.data;
-          });
+        this.$api.user.findBackUserList1({ agentFlag: 0 }).then((res) => {
+          this.leaderOptions = res.data;
+        });
         this.$api.user
           .selectfindByreferrerId({ deptId: res.data.sysUser.deptId })
           .then((res) => {
@@ -858,7 +917,7 @@ export default {
         .then((res) => {
           this.recommenderOptions = res.data;
         });
-        this.$api.user
+      this.$api.user
         .findListByDeptId({ deptId: this.formData.deptId })
         .then((res) => {
           this.leaderOptions = res.data;
@@ -867,7 +926,11 @@ export default {
         this.$message.info("请选择所属公司或部门");
         return;
       }
-      if(this.currentTreeNode.comlevel!=null||this.currentTreeNode.managementSource!=2){ //团队代理人managementSource为2  渠道为1  后线为空
+      if (
+        this.currentTreeNode.comlevel != null ||
+        this.currentTreeNode.managementSource != 2
+      ) {
+        //团队代理人managementSource为2  渠道为1  后线为空
         this.$message.info("请选择第六级机构");
         return;
       }
@@ -908,12 +971,16 @@ export default {
             //   });
             //   return false
             // }
-            if(this.formData.positionId){
-                this.formData.positionName=this.postOption.find(val=>val.postId==this.formData.positionId).postName
-              }
-              if (this.formData.leaderId) {
-                this.formData.leaderName = this.leaderOptions.find(val => val.userId == this.formData.leaderId).name
-              }
+            if (this.formData.positionId) {
+              this.formData.positionName = this.postOption.find(
+                (val) => val.postId == this.formData.positionId
+              ).postName;
+            }
+            if (this.formData.leaderId) {
+              this.formData.leaderName = this.leaderOptions.find(
+                (val) => val.userId == this.formData.leaderId
+              ).name;
+            }
             if (this.dialogTitle == "新增代理人") {
               if (!this.formDataDetail.password) {
                 this.formDataDetail.password =

+ 104 - 54
src/views/PeopleManage/Player/PlayerManage.vue

@@ -39,16 +39,23 @@
             @handleSearchList="handleSearchList"
             :pagination="pageData"
           >
-          <template slot="领导人" >
-          <el-select size="small" v-model="queryFrom.leaderName" placeholder="请选择" clearable>
-              <el-option
-                v-for="item in searchLeaderOptions"
-                :key="item.id"
-                :label="item.name"
-                :value="item.name">
-              </el-option>
-            </el-select>
-          </template>
+            <!-- <template slot="领导人">
+              <el-select
+                size="small"
+                v-model="queryFrom.leaderName"
+                placeholder="请选择"
+                clearable
+                filterable
+              >
+                <el-option
+                  v-for="item in searchLeaderOptions"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.name"
+                >
+                </el-option>
+              </el-select>
+            </template> -->
           </templateTable>
         </SplitArea>
         <!-- 右侧列表页面End -->
@@ -105,19 +112,23 @@
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="名称" prop="name">
                   <el-input v-model="formData.name"></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item  label="密码" prop="password">
+                <el-form-item label="密码" prop="password">
                   <el-input
                     v-model="formData.password"
                     :class="isShow == true ? 'disc' : 'none'"
                   ></el-input>
-                  <i class="el-icon-view icon" @click="isShowFun()" v-if="dialogPassword"></i>
+                  <i
+                    class="el-icon-view icon"
+                    @click="isShowFun()"
+                    v-if="dialogPassword"
+                  ></i>
                   <!-- <el-input style="width:200px"  v-model="formData.password" autocomplete="new-password"
                       show-password></el-input> -->
                 </el-form-item>
@@ -141,7 +152,7 @@
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="角色" prop="roleId">
                   <el-select
@@ -161,8 +172,17 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="岗位" prop="positionId">
-                  <el-select style="width:200px" v-model="formData.positionId" placeholder="请选择">
-                    <el-option v-for="val in postOption" :label="val.postName" :value="val.postId" :key="val.postId"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formData.positionId"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in postOption"
+                      :label="val.postName"
+                      :value="val.postId"
+                      :key="val.postId"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
@@ -183,7 +203,7 @@
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="领导人工号" prop="leaderName">
                   <el-input v-model="formData.leaderId" disabled></el-input>
@@ -236,10 +256,10 @@ import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
 import tree from "@/components/ztree.vue"; // 机构树组件
 import templateTable from "../../../components/TemplateTable/index.vue";
 import peopleImage from "@/components/PeopleImage/index.vue";
-import mixa from '../mixin'
+import mixa from "../mixin";
 const mixin = new mixa({
-  treeTypeNum:1
-})
+  treeTypeNum: 1,
+});
 export default {
   components: {
     KtButton,
@@ -277,8 +297,9 @@ export default {
         },
         {
           label: "领导人",
-          name: "领导人",
-          type: "slot",
+          prop: "leaderName",
+          type: "selectDept",
+          options: [],
         },
         // {
         //   label: "角色",
@@ -310,10 +331,10 @@ export default {
             type: "text",
           },
           {
-          prop: "managementSource",
-          label: "来源",
-          type: "text",
-        },
+            prop: "managementSource",
+            label: "来源",
+            type: "text",
+          },
           {
             prop: "status",
             label: "状态",
@@ -327,7 +348,7 @@ export default {
           {
             type: "primary",
             label: "编辑",
-            perm:'sys:issuerchannel:edit',
+            perm: "sys:issuerchannel:edit",
             icon: "fa fa-edit",
             click: (row, index) => {
               return this.handleTableEdit(row);
@@ -374,14 +395,13 @@ export default {
       dialogVisible: false, // 新增编辑界面是否显示
       option: [], //机构列表
       dialogPassword: true, //密码是否显示明文
-      leaderOptions:[],
-      searchLeaderOptions:[]
+      leaderOptions: [],
+      searchLeaderOptions: [],
     };
   },
   created() {
     this.findPage();
-    this.searchLeaderFun()
-
+    this.searchLeaderFun();
   },
   watch: {
     containsSubDeptChecked() {
@@ -389,12 +409,21 @@ export default {
     },
   },
   methods: {
-    searchLeaderFun(){
+    searchLeaderFun() {
       this.$api.user
-          .findBackListByDeptId({ deptId: this.deptId })
-          .then((res) => {
-            this.searchLeaderOptions = res.data;
+        .findBackListByDeptId({ deptId: this.deptId })
+        .then((res) => {
+          res.data.forEach((e) => {
+            e.value = e.id;
+            e.label = e.name;
+          });
+          this.searchLeaderOptions = [...res.data];
+          this.formList.forEach((val) => {
+            if (val.prop == "leaderName") {
+              val.options = res.data;
+            }
           });
+        });
     },
     // 点击事件
     onZTreeClick(evt, treeId, treeNode) {
@@ -416,7 +445,7 @@ export default {
             this.recommenderOptions = res.data;
           });
         this.$api.user
-          .findBackListByDeptId({ deptId: this.formData.deptId, })
+          .findBackListByDeptId({ deptId: this.formData.deptId })
           .then((res) => {
             this.leaderOptions = res.data;
           });
@@ -425,15 +454,29 @@ export default {
     // 右侧列表的方法Start
     findPage(data) {
       this.tableConfig.loading = true;
+      let leaderName = "";
+      this.searchLeaderOptions.forEach((val) => {
+        if (val.id == data.leaderName) {
+          leaderName = val.name;
+        }
+      });
+
       this.$api.user
         .findUserList({
           ...this.pageData,
-          dto: { ...data, deptId: this.deptId, agentFlag: "1",roleId:'19',leaderName:this.queryFrom.leaderName},
+          dto: {
+            ...data,
+            deptId: this.deptId,
+            agentFlag: "1",
+            roleId: "19",
+            leaderName: leaderName,
+          },
         })
         .then((res) => {
           if (res.code == 200 && res.data.records.length > 0) {
             res.data.records.forEach((val) => {
-              val.managementSource=val.managementSource=='2'?"个代":"渠道"
+              val.managementSource =
+                val.managementSource == "2" ? "个代" : "渠道";
               if (val.status && val.status !== "" && val.status !== null) {
                 val.status = this.user_statusoptions.find(
                   (ele) => ele.value == val.status
@@ -478,11 +521,9 @@ export default {
           .then((res) => {
             this.recommenderOptions = res.data;
           });
-          this.$api.user
-        .findBackUserList1({agentFlag: 0})
-          .then((res) => {
-            this.leaderOptions = res.data;
-          });
+        this.$api.user.findBackUserList1({ agentFlag: 0 }).then((res) => {
+          this.leaderOptions = res.data;
+        });
         res.data.sysUser.status += "";
         this.formData = res.data.sysUser;
         this.dialogTitle = "编辑渠道信息";
@@ -499,16 +540,21 @@ export default {
         .then((res) => {
           this.recommenderOptions = res.data;
         });
-        this.$api.user
-          .findBackListByDeptId({ deptId: this.deptId})
-          .then((res) => {
-            this.leaderOptions = res.data;
-          });
+      this.$api.user
+        .findBackListByDeptId({ deptId: this.deptId })
+        .then((res) => {
+          this.leaderOptions = res.data;
+        });
       if (this.currentTreeNode == null) {
         this.$message.info("请选择所属公司或部门");
         return;
       }
-      if((this.currentTreeNode.comlevel!=null&&this.currentTreeNode.comlevel!='')||this.currentTreeNode.managementSource!=1){ //团队代理人managementSource为2  渠道为1  后线为空
+      if (
+        (this.currentTreeNode.comlevel != null &&
+          this.currentTreeNode.comlevel != "") ||
+        this.currentTreeNode.managementSource != 1
+      ) {
+        //团队代理人managementSource为2  渠道为1  后线为空
         this.$message.info("请选择第六级机构");
         return;
       }
@@ -544,11 +590,15 @@ export default {
       this.$refs.formData.validate((valid) => {
         if (valid) {
           this.$confirm("确认提交吗?", "提示", {}).then(() => {
-            if(this.formData.positionId){
-                this.formData.positionName=this.postOption.find(val=>val.postId==this.formData.positionId).postName
-              }
-            if(this.formData.leaderId){
-              this.formData.leaderName=this.leaderOptions.find(val=>val.userId==this.formData.leaderId).name
+            if (this.formData.positionId) {
+              this.formData.positionName = this.postOption.find(
+                (val) => val.postId == this.formData.positionId
+              ).postName;
+            }
+            if (this.formData.leaderId) {
+              this.formData.leaderName = this.leaderOptions.find(
+                (val) => val.userId == this.formData.leaderId
+              ).name;
             }
             if (this.dialogTitle == "新增渠道信息") {
               this.$api.user

+ 179 - 85
src/views/PeopleManage/Player/PlayerManageteam.vue

@@ -39,7 +39,7 @@
             @handleSearchList="handleSearchList"
             :pagination="pageData"
           >
-          <template slot="领导人" >
+            <!-- <template slot="领导人" >
           <el-select size="small" v-model="queryFrom.leaderName" placeholder="请选择" clearable  filterable>
               <el-option
                 v-for="item in searchLeaderOptions"
@@ -48,7 +48,7 @@
                 :value="item.name">
               </el-option>
             </el-select>
-          </template>
+          </template> -->
           </templateTable>
         </SplitArea>
         <!-- 右侧列表页面End -->
@@ -91,7 +91,6 @@
                       checkStrictly: true,
                     }"
                     @change="handleChange"
-
                   >
                   </el-cascader> </el-form-item
               ></el-col>
@@ -106,14 +105,16 @@
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="身份证号" prop="identity">
                   <el-input
                     v-model="formData.identity"
                     :maxlength="18"
-                    @change="iden
-                    tityChange"
+                    @change="
+                      iden;
+                      tityChange;
+                    "
                   ></el-input>
                 </el-form-item>
               </el-col>
@@ -122,19 +123,23 @@
                   <el-input v-model="formData.name"></el-input>
                 </el-form-item>
               </el-col>
-              <el-col  :span="8">
+              <el-col :span="8">
                 <el-form-item label="密码" prop="password">
                   <el-input
                     v-model="formData.password"
                     :class="isShow == true ? 'disc' : 'none'"
                   ></el-input>
-                  <i class="el-icon-view icon" @click="isShowFun()" v-if="dialogPassword"></i>
+                  <i
+                    class="el-icon-view icon"
+                    @click="isShowFun()"
+                    v-if="dialogPassword"
+                  ></i>
                   <!-- <el-input style="width:200px" v-model="formData.password" autocomplete="new-password" -->
                   <!-- show-password></el-input> -->
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="状态" prop="status">
                   <el-select
@@ -171,13 +176,22 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="岗位" prop="positionId">
-                  <el-select style="width:200px" v-model="formData.positionId" placeholder="请选择">
-                    <el-option v-for="val in postOption" :label="val.postName" :value="val.postId" :key="val.postId"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formData.positionId"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in postOption"
+                      :label="val.postName"
+                      :value="val.postId"
+                      :key="val.postId"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="领导人" prop="leaderId">
                   <el-select
@@ -258,7 +272,7 @@
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="出生日期" prop="birthday">
                   <el-date-picker
@@ -277,37 +291,72 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="婚姻状况" prop="maritalStatus">
-                  <el-select  v-model="formDataDetail.maritalStatus" placeholder="请选择婚姻状况" style="width:200px">
-                    <el-option v-for="val in maritalStatusOption" :key="val.value" :label="val.label" :value="val.value"></el-option>
+                  <el-select
+                    v-model="formDataDetail.maritalStatus"
+                    placeholder="请选择婚姻状况"
+                    style="width: 200px"
+                  >
+                    <el-option
+                      v-for="val in maritalStatusOption"
+                      :key="val.value"
+                      :label="val.label"
+                      :value="val.value"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="民族" prop="nations">
-                  <el-select  style="width:200px" v-model="formDataDetail.nations" placeholder="请选择民族">
-                    <el-option :label="national" :value="national" v-for="national in nationalList"
-                      :key="national"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.nations"
+                    placeholder="请选择民族"
+                  >
+                    <el-option
+                      :label="national"
+                      :value="national"
+                      v-for="national in nationalList"
+                      :key="national"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="政治面貌" prop="politicsStatus">
-                  <el-select  style="width:200px" v-model="formDataDetail.politicsStatus" placeholder="请选择">
-                    <el-option v-for="val in politicsStatusOption" :key="val.value" :label="val.label" :value="val.value"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.politicsStatus"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in politicsStatusOption"
+                      :key="val.value"
+                      :label="val.label"
+                      :value="val.value"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="健康状况" prop="health">
-                  <el-select  style="width:200px" v-model="formDataDetail.health" placeholder="请选择">
-                    <el-option v-for="val in healthOption" :key="val.value" :label="val.label" :value="val.value"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formDataDetail.health"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in healthOption"
+                      :key="val.value"
+                      :label="val.label"
+                      :value="val.value"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="邮政编码" prop="postalCode">
                   <el-input v-model="formDataDetail.postalCode"></el-input>
@@ -326,12 +375,17 @@
                     v-model="formDataDetail.bloodType"
                     placeholder="请选择"
                   >
-                  <el-option v-for="val in bloodOption" :key="val.value" :label="val.label" :value="val.value"></el-option>
+                    <el-option
+                      v-for="val in bloodOption"
+                      :key="val.value"
+                      :label="val.label"
+                      :value="val.value"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="学历" prop="education">
                   <el-select
@@ -339,7 +393,12 @@
                     v-model="formDataDetail.education"
                     placeholder="请选择"
                   >
-                  <el-option v-for="val in educationOption" :key="val.value" :label="val.label" :value="val.value"></el-option>
+                    <el-option
+                      v-for="val in educationOption"
+                      :key="val.value"
+                      :label="val.label"
+                      :value="val.value"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
@@ -360,7 +419,7 @@
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item label="原工作单位" prop="formerEmployer">
                   <el-input v-model="formDataDetail.formerEmployer"></el-input>
@@ -395,7 +454,7 @@
                 </el-form-item>
               </el-col>
             </el-row>
-              <el-row>
+            <el-row>
               <el-col :span="8">
                 <el-form-item
                   label="紧急联系人姓名"
@@ -434,10 +493,10 @@ import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
 import tree from "@/components/ztree.vue"; // 机构树组件
 import templateTable from "../../../components/TemplateTable/index.vue";
 import peopleImage from "@/components/PeopleImage/index.vue";
-import mixa from '../mixin'
+import mixa from "../mixin";
 const mixin = new mixa({
-  treeTypeNum:1 //树分类过滤参数
-})
+  treeTypeNum: 1, //树分类过滤参数
+});
 export default {
   components: {
     KtButton,
@@ -448,8 +507,8 @@ export default {
   mixins: [mixin],
   data() {
     return {
-      searchLeaderOptions:[],
-      leaderOptions:[],
+      searchLeaderOptions: [],
+      leaderOptions: [],
       activeName: "1", //弹框tab索引
       isShow: true, //密码是否显示
       formList: [
@@ -477,8 +536,9 @@ export default {
         },
         {
           label: "领导人",
-          name: "领导人",
-          type: "slot",
+          prop: "leaderName",
+          type: "selectDept",
+          options: [],
         },
       ],
       tableConfig: {
@@ -501,10 +561,10 @@ export default {
             type: "text",
           },
           {
-          prop: "managementSource",
-          label: "来源",
-          type: "text",
-        },
+            prop: "managementSource",
+            label: "来源",
+            type: "text",
+          },
           {
             prop: "status",
             label: "状态",
@@ -518,7 +578,7 @@ export default {
           {
             type: "primary",
             label: "编辑",
-            perm:'sys:teamchannel:edit',
+            perm: "sys:teamchannel:edit",
             icon: "fa fa-edit",
             click: (row, index) => {
               return this.handleTableEdit(row);
@@ -568,12 +628,12 @@ export default {
       dialogPassword: true, //密码是否显示明文
       // postOption:[],
       formDataDetail: {},
-      formDataRulesDetail: { },
+      formDataRulesDetail: {},
     };
   },
   created() {
     this.findPage();
-    this.searchLeaderFun()
+    this.searchLeaderFun();
   },
 
   watch: {
@@ -582,12 +642,21 @@ export default {
     },
   },
   methods: {
-    searchLeaderFun(){
+    searchLeaderFun() {
       this.$api.user
-          .findBackListByDeptId({ deptId: this.deptId })
-          .then((res) => {
-            this.searchLeaderOptions = res.data;
+        .findBackListByDeptId({ deptId: this.deptId })
+        .then((res) => {
+          res.data.forEach((e) => {
+            e.value = e.id;
+            e.label = e.name;
           });
+          this.searchLeaderOptions = [...res.data];
+          this.formList.forEach((val) => {
+            if (val.prop == "leaderName") {
+              val.options = res.data;
+            }
+          });
+        });
     },
     beforeTabLeave() {
       // let p = new Promise((resolve, reject) => {
@@ -600,8 +669,8 @@ export default {
       // });
       // return p;
     },
-     //状态改变时
-     statusChange(e) {
+    //状态改变时
+    statusChange(e) {
       if (e == 0) {
         this.$set(this.formDataRules, "logoutTime", [
           { required: true, message: "请选择日期", trigger: "change" },
@@ -636,26 +705,25 @@ export default {
         (val) => sex == val.label
       ).value;
     },
-      // 下一步
-      nextStep() {
-        this.$refs.formData.validate((valid) => {
-          if (valid) {
+    // 下一步
+    nextStep() {
+      this.$refs.formData.validate((valid) => {
+        if (valid) {
           this.activeName = "2";
-          }
-        });
+        }
+      });
     },
     onZTreeClick: function (evt, treeId, treeNode) {
-        // 点击事件
-        this.currentTreeNode = evt;
-        // this.pageData.deptId = this.currentTreeNode.id;
-        this.deptId = this.currentTreeNode.id
-        this.pageData.pageNum =1;
-        this.findPage();
-        this.searchLeaderFun();
-        this.formData.deptId = [];
-        this.platform(treeId);
-
-      },
+      // 点击事件
+      this.currentTreeNode = evt;
+      // this.pageData.deptId = this.currentTreeNode.id;
+      this.deptId = this.currentTreeNode.id;
+      this.pageData.pageNum = 1;
+      this.findPage();
+      this.searchLeaderFun();
+      this.formData.deptId = [];
+      this.platform(treeId);
+    },
     platform(array) {
       if (!array.parent) {
         return;
@@ -669,7 +737,7 @@ export default {
         this.formData.referrerId = "";
         this.formData.deptId = val.at(-1);
         this.$api.user
-          .findBackListByDeptId({ deptId: this.formData.deptId, })
+          .findBackListByDeptId({ deptId: this.formData.deptId })
           .then((res) => {
             this.leaderOptions = res.data;
           });
@@ -678,15 +746,28 @@ export default {
     // 右侧列表的方法Start
     findPage(data) {
       this.tableConfig.loading = true;
+      let leaderName = "";
+      this.searchLeaderOptions.forEach((val) => {
+        if (val.id == data.leaderName) {
+          leaderName = val.name;
+        }
+      });
       this.$api.user
         .findUserList({
           ...this.pageData,
-          dto: { ...data, deptId: this.deptId, agentFlag: "1",roleId:'21',leaderName:this.queryFrom.leaderName },
+          dto: {
+            ...data,
+            deptId: this.deptId,
+            agentFlag: "1",
+            roleId: "21",
+            leaderName: leaderName,
+          },
         })
         .then((res) => {
           if (res.code == 200 && res.data.records.length > 0) {
             res.data.records.forEach((val) => {
-              val.managementSource=val.managementSource=='2'?"个代":"渠道"
+              val.managementSource =
+                val.managementSource == "2" ? "个代" : "渠道";
               if (val.status && val.status !== "" && val.status !== null) {
                 val.status = this.user_statusoptions.find(
                   (ele) => ele.value == val.status
@@ -726,11 +807,9 @@ export default {
       this.activeName = "1";
       let res = await this.$api.user.getUserDatail(params.userId);
       if (res.code == 200) {
-        this.$api.user
-        .findBackUserList1({agentFlag: 0})
-          .then((res) => {
-            this.leaderOptions = res.data;
-          });
+        this.$api.user.findBackUserList1({ agentFlag: 0 }).then((res) => {
+          this.leaderOptions = res.data;
+        });
         res.data.sysUser.status += "";
         this.formData = res.data.sysUser;
         this.dialogTitle = "编辑渠道信息";
@@ -744,15 +823,20 @@ export default {
     handleAddButton() {
       //级联渲染部门列表
       this.$api.user
-          .findBackListByDeptId({ deptId: this.formData.deptId })
-          .then((res) => {
-            this.leaderOptions = res.data;
-          });
+        .findBackListByDeptId({ deptId: this.formData.deptId })
+        .then((res) => {
+          this.leaderOptions = res.data;
+        });
       if (this.currentTreeNode == null) {
         this.$message.info("请选择所属公司或部门");
         return;
       }
-      if((this.currentTreeNode.comlevel!=null&&this.currentTreeNode.comlevel!='')||this.currentTreeNode.managementSource!=1){ //团队代理人managementSource为2  渠道为1  后线为空
+      if (
+        (this.currentTreeNode.comlevel != null &&
+          this.currentTreeNode.comlevel != "") ||
+        this.currentTreeNode.managementSource != 1
+      ) {
+        //团队代理人managementSource为2  渠道为1  后线为空
         this.$message.info("请选择第六级机构");
         return;
       }
@@ -789,15 +873,22 @@ export default {
       this.$refs.formData.validate((valid) => {
         if (valid) {
           this.$confirm("确认提交吗?", "提示", {}).then(() => {
-            if(this.formData.positionId){
-                this.formData.positionName=this.postOption.find(val=>val.postId==this.formData.positionId).postName
+            if (this.formData.positionId) {
+              this.formData.positionName = this.postOption.find(
+                (val) => val.postId == this.formData.positionId
+              ).postName;
             }
-            if(this.formData.leaderId){
-              this.formData.leaderName=this.leaderOptions.find(val=>val.userId==this.formData.leaderId).name
+            if (this.formData.leaderId) {
+              this.formData.leaderName = this.leaderOptions.find(
+                (val) => val.userId == this.formData.leaderId
+              ).name;
             }
             if (this.dialogTitle == "新增渠道信息") {
               this.$api.user
-                .saveUserInfo({ sysUser: this.formData,sysUserInfo: this.formDataDetail})
+                .saveUserInfo({
+                  sysUser: this.formData,
+                  sysUserInfo: this.formDataDetail,
+                })
                 .then((res) => {
                   if (res.code == 200) {
                     this.$message({
@@ -817,7 +908,10 @@ export default {
                 });
             } else {
               this.$api.user
-                .updateUserInfo(this.formData.id, { sysUser: this.formData, sysUserInfo: this.formDataDetail, })
+                .updateUserInfo(this.formData.id, {
+                  sysUser: this.formData,
+                  sysUserInfo: this.formDataDetail,
+                })
                 .then((res) => {
                   if (res.code == 200) {
                     this.$message({

Некоторые файлы не были показаны из-за большого количества измененных файлов