Ver Fonte

返回正确的页面号

wucl há 2 anos atrás
pai
commit
b811ad56e9

+ 1 - 0
public/index.html

@@ -7,6 +7,7 @@
   <meta name="renderer" content="webkit">
   <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
   <link rel="shortcut icon" href="<%= BASE_URL %>dayou_favicon.ico">
+  <link rel="stylesheet" href="//at.alicdn.com/t/c/font_3982342_d30pzxlair.css"/>
   <title><%= webpackConfig.name %></title>
 </head>
 <body>

+ 182 - 0
src/components/YDetailPageLayout/back.vue

@@ -0,0 +1,182 @@
+<template>
+  <div :class="`y-detail-page-layout ${isEdit?'':'page-disabled'}`"   >
+    <div class="y-page-content">
+      <slot></slot>
+    </div>
+    <div class="y-options" v-if="$slots.default">
+      <template v-if="$route.query.back">
+        <el-button class="y-cancel" type="info" round @click="goBack">返回</el-button>
+      </template>
+    </div>
+  </div>
+</template>
+
+<script>
+  import PermissionButton from '../PermissionButton/PermissionButton'
+
+  export default {
+    components: { PermissionButton },
+    name: 'YDetailPageLayoutBack',
+    inject:['reload'],
+    watch: {
+      editStatus: function (value) {
+        this.isEdit = value
+      },
+      isEdit: function (value) {
+        this.initPageStatus(value, false)
+      }
+    },
+    props: {
+      //按钮编号
+      menuCode: {
+        default: '',
+        type: String
+      },
+      //编辑状态
+      editStatus: {
+        type: Boolean,
+        default: false
+      },
+      value: {
+        type: Object
+      },
+      edits:{
+        type:String,
+        default:'编辑'
+      },
+      listQuery: null
+    },
+    data() {
+      return {
+        isDisable: false,
+        isEdit: this.editStatus,
+        editingData:null,
+      }
+    },
+    mounted() {
+      this.initPageStatus(this.isEdit, true)
+    },
+    methods: {
+      editForm(){
+        this.isEdit = true
+        this.$emit("selectionChange", true);
+      },
+      initPageStatus(editStatus, bindEventStatus) {
+        const that = this
+        that.$nextTick(() => {
+          let formList = document.querySelectorAll('.y-detail-page-layout .el-form')
+          if (formList) {
+            formList.forEach(function (form) {
+              form.forEach(function (formItem) {
+                if (!formItem.className || (formItem.className && formItem.className.indexOf('el-dialog__headerbtn') == -1)){
+                  formItem.disabled = !editStatus
+                  formItem.readOnly = !editStatus
+                }
+              })
+            })
+
+            const iframeEditor = document.querySelectorAll('.y-detail-page-layout .el-form iframe')
+            iframeEditor.forEach(function (obj) {
+              obj.contentWindow.document.body.setAttribute('contenteditable', editStatus)
+            })
+
+            if (bindEventStatus) {
+              that.addFormPageClick()
+            }
+          }
+        })
+      },
+      formPageClick(event) {
+        if (!this.isEdit) {
+          if (event.target && event.target.className.indexOf('el-icon-zoom-in') != -1){
+            return
+          }
+          event.stopPropagation()
+        }
+      },
+      addFormPageClick() {
+        const that = this
+        const formObj = document.querySelectorAll('.y-detail-page-layout .y-page-content .el-tab-pane')
+        if (formObj && formObj.length > 0) {
+          formObj.forEach(function (obj) {
+            obj.addEventListener('click', that.formPageClick, true)
+          })
+        }
+      },
+      save() {
+        if (!this.isDisable) {
+          this.isDisable = true;
+          this.$emit('save')
+        }
+        setTimeout(() => {
+          this.isDisable = false
+        }, 2000)
+      },
+      cancel(){
+        //this.isEdit = false
+        this.$emit("selectionChange", false);
+        this.reload()
+      },
+
+      goBack(){
+        const back = this.$route.query.back;
+        console.log(back);
+        if (back) {
+          this.$router.push({path:back, query:this.listQuery})
+        }
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .y-detail-page-layout {
+    background-color: #fff;
+    margin-top: 8px;
+    position: relative;
+
+    .y-options {
+      position: absolute;
+      right: 9px;
+      top: 9px;
+    }
+
+    /*.el-tabs__item {*/
+    /*  font-size: 15px;*/
+    /*}*/
+  }
+</style>
+<style scoped>
+  .y-detail-page-layout >>> .el-tabs__item {
+    height: 50px;
+    line-height: 50px;
+    font-size: 15px;
+  }
+
+  .y-detail-page-layout >>> .el-tabs__item.is-top:nth-child(2) {
+    padding-left: 20px;
+  }
+
+  .y-detail-page-layout >>> .el-tabs__content {
+    padding: 17px;
+  }
+
+  .y-detail-page-layout >>> .el-tabs__nav-wrap::after {
+    height: 1px;
+  }
+
+  .y-detail-page-layout.page-disabled >>> input:disabled, .y-detail-page-layout.page-disabled >>> textarea:disabled {
+    border: none;
+    cursor: text;
+    resize: none;
+    padding-left: 0px; /*对齐*/
+  }
+  .y-detail-page-layout.page-disabled >>>.el-upload-list .el-icon-close-tip,
+  .y-detail-page-layout.page-disabled >>>.el-upload-list .el-icon-delete,
+  .y-detail-page-layout.page-disabled >>> input:disabled + *,
+  .y-detail-page-layout.page-disabled >>> .el-input__suffix,
+  .y-detail-page-layout.page-disabled >>> .edui-default .edui-editor-toolbarbox,
+  .y-detail-page-layout.page-disabled >>> .edui-default .edui-editor-bottomContainer {
+    display: none;
+  }
+</style>

+ 6 - 5
src/components/YDetailPageLayout/index.vue

@@ -58,7 +58,8 @@
       edits:{
         type:String,
         default:'编辑'
-      }
+      },
+      listQuery: null
     },
     data() {
       return {
@@ -119,7 +120,7 @@
       },
       save() {
         if (!this.isDisable) {
-          this.isDisable = true
+          this.isDisable = true;
           this.$emit('save')
         }
         setTimeout(() => {
@@ -133,10 +134,10 @@
       },
 
       goBack(){
-        const back = this.$route.query.back
-        console.log(this.$store.state.tagsView.cachedViews)
+        const back = this.$route.query.back;
+        console.log(back);
         if (back) {
-          this.$router.push(back)
+          this.$router.push({path:back, query:this.listQuery})
         }
       }
     }

+ 1 - 0
src/main.js

@@ -29,6 +29,7 @@ import './router/permission' // permission control
 
 // vueConfig
 import './VueConfig'
+import './styles/iconfont.css'
 // 引入复制链接
 import VueClipboard from 'vue-clipboard2'
 Vue.use(VueClipboard)

+ 8 - 0
src/styles/iconfont.css

@@ -0,0 +1,8 @@
+[class^="el-icon-ali-"],[class*="el-icon-ali-"]
+{
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}

BIN
src/styles/menu/modules/ab.png


+ 5 - 0
src/views/brokerage/collect.vue

@@ -200,6 +200,10 @@
       }
     },
     created() {
+      const that = this;
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
       this.getList()
     },
     methods: {
@@ -207,6 +211,7 @@
         this.$router.push(`/brokerage/item/detail?generalId=${id}`)
       },
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 7 - 1
src/views/brokerage/deduction.vue

@@ -113,6 +113,10 @@
       }
     },
     created() {
+      const that = this;
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
       this.getList()
     },
     methods: {
@@ -143,7 +147,8 @@
                   return prev;
                 }
               }, 0);
-              sums[index] += '';
+             sums[index] = Math.round(sums[index]*Math.pow(10, 2))/Math.pow(10, 2);
+             sums[index] += '';
             } else {
               sums[index] = 'N/A';
             }
@@ -178,6 +183,7 @@
         }
       },
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 5 - 0
src/views/brokerage/sequence.vue

@@ -171,6 +171,10 @@
       }
     },
     created() {
+      const that = this;
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
       this.getList()
     },
     methods: {
@@ -199,6 +203,7 @@
         }
       },
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 3 - 2
src/views/item/detail.vue

@@ -3,7 +3,7 @@
     <div class="title-container">
       <breadcrumb id="breadcrumb-container" class="breadcrumb-container"/>
     </div>
-    <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。">
+    <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。" :list-query="listQuery">
       <div style="padding-top: 30px;">
         <el-tabs v-model="activeName">
           <el-tab-pane label="项目信息" name="first">
@@ -315,7 +315,7 @@
         activeName: 'first',
         vLoading: false,
         users:[],
-        listQuery:{},
+        listQuery:null,
         userIds: [],
         filterMethod(query, item) {
           return item.label.indexOf(query) > -1;
@@ -333,6 +333,7 @@
       }
     },
     created() {
+      this.listQuery = this.$route.query.listQuery;
       this.getAllUser();
       this.getDepartment();
       this.getDetail();

+ 3 - 2
src/views/item/detailReadonly.vue

@@ -3,7 +3,7 @@
     <div class="title-container">
       <breadcrumb id="breadcrumb-container" class="breadcrumb-container"/>
     </div>
-    <y-detail-page-layout :edit-status="false" v-loading="vLoading" element-loading-text="处理中。。。">
+    <y-detail-page-layout :edit-status="false" v-loading="vLoading" element-loading-text="处理中。。。" :list-query="listQuery">
       <div style="padding-top: 30px;">
         <el-tabs v-model="activeName">
           <el-tab-pane label="项目信息" name="first">
@@ -224,7 +224,7 @@
         activeName: 'first',
         vLoading: false,
         users:[],
-        listQuery:{},
+        listQuery:null,
         userIds: [],
         filterMethod(query, item) {
           return item.label.indexOf(query) > -1;
@@ -233,6 +233,7 @@
       }
     },
     created() {
+      this.listQuery = this.$route.query.listQuery;
       this.getAllUser();
       this.getDepartment();
       this.getDetail();

+ 26 - 21
src/views/item/list.vue

@@ -155,7 +155,7 @@
               name=""
               type="primary"
               :page-jump="true"
-              :page-query="{id: row.id,itemName: row.name}"
+              :page-query="{id: row.id,itemName: row.name,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -165,7 +165,7 @@
               name=""
               type="primary"
               :page-jump="true"
-              :page-query="{id: row.id,itemName: row.name}"
+              :page-query="{id: row.id,itemName: row.name,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -175,7 +175,7 @@
               name=""
               type="success"
               :page-jump="true"
-              :page-query="{id: row.id,itemName:row.name,stageName:row.stageName,stageId:row.stageId}"
+              :page-query="{id: row.id,itemName:row.name,stageName:row.stageName,stageId:row.stageId,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -185,7 +185,7 @@
               name="日志"
               type="info"
               :page-jump="true"
-              :page-query="{id: row.id}"
+              :page-query="{id: row.id,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -195,7 +195,7 @@
               name=""
               type="primary"
               :page-jump="true"
-              :page-query="{id: row.id}"
+              :page-query="{id: row.id,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -205,7 +205,7 @@
               name=""
               type="primary"
               :page-jump="true"
-              :page-query="{id: row.id}"
+              :page-query="{id: row.id,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -252,13 +252,12 @@
         isDisable:false,
         tableKey: 0,
         pageData: { records: [] },
-        total: 20,
         listLoading: true,
         listQuery: {
           page: 1,
           size: 10,
           descs: 'id',
-          state:'进行中'
+          isCurYear:false,
         },
         listQueryKey: 'keyword',
         importLoading: false,
@@ -267,16 +266,26 @@
     },
     created() {
       const that = this;
-      if (this.$route.query.businessNo) {
-        this.listQuery.state = null;
-        this.listQuery.businessNo = this.$route.query.businessNo;
+      if (that.$route.query.state) {
+        that.listQuery.state = that.$route.query.state;
       }
-      if (this.$route.query.name) {
-        this.listQuery.state = null;
-        this.listQuery.name = this.$route.query.name;
+      if (that.$route.query.isCurYear) {
+        that.listQuery.isCurYear = that.$route.query.isCurYear;
+      }
+      if (that.$route.query.name) {
+        that.listQuery.name = that.$route.query.name;
+      }
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
+      if (that.$route.query.cate) {
+        that.listQuery.cate = parseInt(that.$route.query.cate);
+      }
+      if (that.$route.query.clientManager) {
+        that.listQuery.clientManager = that.$route.query.clientManager;
       }
       that.getList();
-      this.getCateList();
+      that.getCateList();
     },
     methods: {
       getCateList(){
@@ -292,17 +301,13 @@
         a.dispatchEvent(event);
       },
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,
           descs: 'id',
           me: false,
         }
-        if (this.$router.currentRoute.path === '/item/list/me'){
-          // const userIds = [];
-          // userIds.push(this.$store.getters.userInfo.id);
-          // this.listQuery.userIds = userIds;
-        }
         this.getList()
       },
       computedStageName(val){
@@ -339,7 +344,7 @@
       searchList() {
         // 重置分页
         this.listQuery.page = 1
-        this.listQuery.size = 20
+        this.listQuery.size = 10
         this.getList()
       },
       getList() {

+ 236 - 231
src/views/item/plan.vue

@@ -3,41 +3,126 @@
     <div class="title-container">
       <breadcrumb id="breadcrumb-container" class="breadcrumb-container"/>
     </div>
-    <div style="padding-top: 30px;">
-      <el-tabs v-model="activeName">
-        <el-tab-pane :label="itemName +'【排期】' " name="first" class="pane">
-          <el-form ref="postForm" :model="postForm" class="form-container" style="padding-left: 100px">
-            <div class="postInfo-container">
-              <el-row>
-                <el-col>
-                  <el-form-item
-                    label="阶段名称:"
-                    prop="name"
-                    label-width="180px"
-                    class="postInfo-container-item"
-                  >
-                    <el-input type="text" v-model="postForm.name" class="filter-item" />
-                  </el-form-item>
-                </el-col>
-              </el-row>
+    <y-detail-page-layout-back :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。" :list-query="listQuery">
+      <div style="padding-top: 30px;">
+        <el-tabs v-model="activeName">
+          <el-tab-pane :label="itemName +'【排期】' " name="first" class="pane">
+            <el-form ref="postForm" :model="postForm" class="form-container" style="padding-left: 100px">
               <div class="postInfo-container">
                 <el-row>
                   <el-col>
-                    <el-form-item label="上个阶段:"
-                                  prop="headerId"
+                    <el-form-item
+                      label="阶段名称:"
+                      prop="name"
+                      label-width="180px"
+                      class="postInfo-container-item"
+                    >
+                      <el-input type="text" v-model="postForm.name" class="filter-item" />
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <div class="postInfo-container">
+                  <el-row>
+                    <el-col>
+                      <el-form-item label="上个阶段:"
+                                    prop="headerId"
+                                    label-width="180px"
+                                    class="postInfo-container-item">
+                        <el-select
+                          v-model="postForm.headerId"
+                          placeholder=""
+                          clearable
+                          filterable
+                          class="filter-item"
+                        >
+                          <el-option v-for="item in stages"
+                                     :key="item.footerId"
+                                     :label="item.name"
+                                     :value="item.footerId"/>
+                        </el-select>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                </div>
+                <div class="postInfo-container">
+                  <el-row>
+                    <el-col>
+                      <el-form-item
+                        label="阶段目标:"
+                        prop="target"
+                        label-width="180px"
+                        class="postInfo-container-item"
+                      >
+                        <el-input type="text" v-model="postForm.target" class="filter-item"/>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                </div>
+              </div>
+              <div class="postInfo-container">
+                <el-row>
+                  <el-col >
+                    <el-form-item
+                      label="开始日期:"
+                      prop="startDate"
+                      :rules="{required: true, message: '请选择日志日期', trigger: 'blur'}"
+                      label-width="180px"
+                      class="postInfo-container-item"
+                    >
+                      <el-date-picker
+                        v-model="postForm.startDate"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择日期"
+                        class="filter-item"
+                        style="width: 200px"
+                      />
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </div>
+              <div class="postInfo-container">
+                <el-row>
+                  <el-col>
+                    <el-form-item
+                      label="结束日期:"
+                      prop="endDate"
+                      :rules="{required: true, message: '请选择日志日期', trigger: 'blur'}"
+                      label-width="180px"
+                      class="postInfo-container-item"
+                    >
+                      <el-date-picker
+                        v-model="postForm.endDate"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择日期"
+                        class="filter-item"
+                        style="width: 200px"
+                      />
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </div>
+              <div class="postInfo-container">
+                <el-row>
+                  <el-col>
+                    <el-form-item label="负责人:"
+                                  prop="endDate"
                                   label-width="180px"
                                   class="postInfo-container-item">
                       <el-select
-                        v-model="postForm.headerId"
+                        v-model="postForm.dutyerId"
                         placeholder=""
                         clearable
                         filterable
                         class="filter-item"
                       >
-                        <el-option v-for="item in stages"
-                                   :key="item.footerId"
-                                   :label="item.name"
-                                   :value="item.footerId"/>
+                        <el-option
+                          v-for="item in users"
+                          :key="item.id"
+                          :label="item.name"
+                          :value="item.id"
+                        />
                       </el-select>
                     </el-form-item>
                   </el-col>
@@ -47,229 +132,148 @@
                 <el-row>
                   <el-col>
                     <el-form-item
-                      label="阶段目标:"
-                      prop="target"
+                      label="阶段权重:"
+                      prop="weight"
+                      :rules="{required: true, message: '请填写阶段权重(0-100)', trigger: 'blur'}"
                       label-width="180px"
                       class="postInfo-container-item"
                     >
-                      <el-input type="text" v-model="postForm.target" class="filter-item"/>
+                      <el-input type="text" v-model="postForm.weight" class="filter-item" placeholder="计算参与人员提成">
+                        <i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">%</i>
+                      </el-input>
                     </el-form-item>
                   </el-col>
                 </el-row>
               </div>
-            </div>
-            <div class="postInfo-container">
-              <el-row>
-                <el-col >
-                  <el-form-item
-                    label="开始日期:"
-                    prop="startDate"
-                    :rules="{required: true, message: '请选择日志日期', trigger: 'blur'}"
-                    label-width="180px"
-                    class="postInfo-container-item"
-                  >
-                    <el-date-picker
-                      v-model="postForm.startDate"
-                      type="date"
-                      value-format="yyyy-MM-dd"
-                      placeholder="选择日期"
-                      class="filter-item"
-                      style="width: 200px"
-                    />
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </div>
-            <div class="postInfo-container">
-              <el-row>
-                <el-col>
-                  <el-form-item
-                    label="结束日期:"
-                    prop="endDate"
-                    :rules="{required: true, message: '请选择日志日期', trigger: 'blur'}"
-                    label-width="180px"
-                    class="postInfo-container-item"
-                  >
-                    <el-date-picker
-                      v-model="postForm.endDate"
-                      type="date"
-                      value-format="yyyy-MM-dd"
-                      placeholder="选择日期"
-                      class="filter-item"
-                      style="width: 200px"
-                    />
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </div>
-            <div class="postInfo-container">
-              <el-row>
-                <el-col>
-                  <el-form-item label="负责人:"
-                                prop="endDate"
-                                label-width="180px"
-                                class="postInfo-container-item">
-                    <el-select
-                      v-model="postForm.dutyerId"
-                      placeholder=""
-                      clearable
-                      filterable
-                      class="filter-item"
+              <div class="postInfo-container">
+                <el-row>
+                  <el-col>
+                    <el-form-item
+                      label="逾期提成系数:"
+                      prop="coefficient"
+                      :rules="{required: true, message: '请填写逾期提成系数(0-100)', trigger: 'blur'}"
+                      label-width="180px"
+                      class="postInfo-container-item"
                     >
-                      <el-option
-                        v-for="item in users"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.id"
-                      />
-                    </el-select>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </div>
-            <div class="postInfo-container">
-              <el-row>
-                <el-col>
-                  <el-form-item
-                    label="阶段权重:"
-                    prop="weight"
-                    :rules="{required: true, message: '请填写阶段权重(0-100)', trigger: 'blur'}"
-                    label-width="180px"
-                    class="postInfo-container-item"
-                  >
-                    <el-input type="text" v-model="postForm.weight" class="filter-item" placeholder="计算参与人员提成">
-                      <i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">%</i>
-                    </el-input>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </div>
-            <div class="postInfo-container">
-              <el-row>
-                <el-col>
-                  <el-form-item
-                    label="逾期提成系数:"
-                    prop="coefficient"
-                    :rules="{required: true, message: '请填写逾期提成系数(0-100)', trigger: 'blur'}"
-                    label-width="180px"
-                    class="postInfo-container-item"
-                  >
-                    <el-input type="text" v-model="postForm.coefficient" class="filter-item" placeholder="计算参与人员提成">
-                      <i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">%</i>
-                    </el-input>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </div>
-            <div class="postInfo-container">
-              <el-form-item
-                label="参与人员:"
-                prop="remark"
-                label-width="180px"
-                class="postInfo-container-item"
-              >
-                <el-button type="primary" icon="el-icon-edit" class="filter-item" @click="openJoiner" >设置</el-button>
-              </el-form-item>
-              <el-dialog
-                width="600px"
-                :title=" '['+title+']参与人员提成系数设置'"
-                :visible.sync="dialogFormVisible"
-                :close-on-click-modal="true"
-                custom-class="customClass"
-              >
-                <el-alert
-                  title="打勾并设置提成系数有效,否则无效。"
-                  type="info"
-                  show-icon
-                  :closable="false">
-                </el-alert>
-                <y-page-list-layout :get-page-list="getJoinUsers" >
-                  <el-table
-                    slot="table"
-                    row-key="id"
-                    :data="joinUsers"
-                    ref="multipleTable"
-                    :header-row-style="{color: '#333333'}"
-                    @selection-change="handleSelectionChange"
-                    style="border-left: 1px solid #EBECED;border-right: 1px solid #EBECED;color: #333333;"
-                  >
-                    <el-table-column
-                      type="selection"
-                      width="55">
-                    </el-table-column>
-                    <el-table-column label="人员" width="100" align="center">
-                      <template slot-scope="{row}">
-                        <span>{{ row.userName }}</span>
-                      </template>
-                    </el-table-column>
-                    <el-table-column label="提成系数"  align="center">
-                      <template slot-scope="{row}">
-                        <el-input v-model="row.weight" placeholder="请输入数字">
-                          <i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">%</i>
-                        </el-input>
-                      </template>
-                    </el-table-column>
-                  </el-table>
-                </y-page-list-layout>
-              </el-dialog>
-            </div>
-            <div class="postInfo-container">
-              <el-row>
-                <el-col>
-                  <el-form-item
-                    label="备注信息:"
-                    prop="remark"
-                    label-width="180px"
-                    class="postInfo-container-item"
-                  >
-                    <el-input type="textarea" v-model="postForm.remark" class="filter-item" placeholder="200字符"/>
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </div>
-            <el-button type="success" id="addNode" @click="saveNode">保存</el-button>
-            <el-button type="normal"  @click="clean">清空</el-button>
-          </el-form>
-          <div class="nodeFlow">
-            <div style="height: 300px;">
-              <el-timeline v-if="stageFlow.length>0">
-                <el-timeline-item v-for="(s,index) in stageFlow" :key="index" :timestamp="s.name" placement="top"  color="green"
-                                  @click.native="getDetail(s.id)">
-                  <el-card class="card">
-                    <div class="it">
-                      <icon class="el-icon-s-flag"/> <el-tag type="success">{{s.target}}</el-tag>
-                    </div>
-                    <div class="it">
-                      <icon class="el-icon-time"/> <el-tag>{{s.startDate}}</el-tag> 至 <el-tag>{{s.endDate}}</el-tag>
-                    </div>
-                    <div v-if="s.weight" class="it">
-                      <icon class="el-icon-coin"/> <el-tag type="danger">{{s.weight}}%</el-tag>
-                    </div>
-                    <div v-if="s.dutyer" class="it">
-                      <icon class="el-icon-user-solid"/> <el-tag>{{s.dutyer}}</el-tag>
-                    </div>
-                    <div v-if="s.participated" >
-                      <span  v-for="(p,index) in s.participated" :key="index" class="it">
-                        <icon class="el-icon-user"/> <el-tag>{{p.userName}} : {{p.weight}}%</el-tag>
-                      </span>
-                    </div>
-                    <el-button class="del" type="danger" icon="el-icon-delete" @click="remove(s.id)"/>
-                  </el-card>
-                </el-timeline-item>
-              </el-timeline>
+                      <el-input type="text" v-model="postForm.coefficient" class="filter-item" placeholder="计算参与人员提成">
+                        <i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">%</i>
+                      </el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </div>
+              <div class="postInfo-container">
+                <el-form-item
+                  label="参与人员:"
+                  prop="remark"
+                  label-width="180px"
+                  class="postInfo-container-item"
+                >
+                  <el-button type="primary" icon="el-icon-edit" class="filter-item" @click="openJoiner" >设置</el-button>
+                </el-form-item>
+                <el-dialog
+                  width="600px"
+                  :title=" '['+title+']参与人员提成系数设置'"
+                  :visible.sync="dialogFormVisible"
+                  :close-on-click-modal="true"
+                  custom-class="customClass"
+                >
+                  <el-alert
+                    title="打勾并设置提成系数有效,否则无效。"
+                    type="info"
+                    show-icon
+                    :closable="false">
+                  </el-alert>
+                  <y-page-list-layout :get-page-list="getJoinUsers" >
+                    <el-table
+                      slot="table"
+                      row-key="id"
+                      :data="joinUsers"
+                      ref="multipleTable"
+                      :header-row-style="{color: '#333333'}"
+                      @selection-change="handleSelectionChange"
+                      style="border-left: 1px solid #EBECED;border-right: 1px solid #EBECED;color: #333333;"
+                    >
+                      <el-table-column
+                        type="selection"
+                        width="55">
+                      </el-table-column>
+                      <el-table-column label="人员" width="100" align="center">
+                        <template slot-scope="{row}">
+                          <span>{{ row.userName }}</span>
+                        </template>
+                      </el-table-column>
+                      <el-table-column label="提成系数"  align="center">
+                        <template slot-scope="{row}">
+                          <el-input v-model="row.weight" placeholder="请输入数字">
+                            <i slot="suffix" style="font-size:normal;margin-right: 10px;line-height: 30px">%</i>
+                          </el-input>
+                        </template>
+                      </el-table-column>
+                    </el-table>
+                  </y-page-list-layout>
+                </el-dialog>
+              </div>
+              <div class="postInfo-container">
+                <el-row>
+                  <el-col>
+                    <el-form-item
+                      label="备注信息:"
+                      prop="remark"
+                      label-width="180px"
+                      class="postInfo-container-item"
+                    >
+                      <el-input type="textarea" v-model="postForm.remark" class="filter-item" placeholder="200字符"/>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+              </div>
+              <el-button type="success" id="addNode" @click="saveNode">保存</el-button>
+              <el-button type="normal"  @click="clean">清空</el-button>
+            </el-form>
+            <div class="nodeFlow">
+              <div style="height: 300px;">
+                <el-timeline v-if="stageFlow.length>0">
+                  <el-timeline-item v-for="(s,index) in stageFlow" :key="index" :timestamp="s.name" placement="top"  color="green"
+                                    @click.native="getDetail(s.id)">
+                    <el-card class="card">
+                      <div class="it">
+                        <icon class="el-icon-s-flag"/> <el-tag type="success">{{s.target}}</el-tag>
+                      </div>
+                      <div class="it">
+                        <icon class="el-icon-time"/> <el-tag>{{s.startDate}}</el-tag> 至 <el-tag>{{s.endDate}}</el-tag>
+                      </div>
+                      <div v-if="s.weight" class="it">
+                        <icon class="el-icon-coin"/> <el-tag type="danger">{{s.weight}}%</el-tag>
+                      </div>
+                      <div v-if="s.dutyer" class="it">
+                        <icon class="el-icon-user-solid"/> <el-tag>{{s.dutyer}}</el-tag>
+                      </div>
+                      <div v-if="s.participated" >
+                        <span  v-for="(p,index) in s.participated" :key="index" class="it">
+                          <icon class="el-icon-user"/> <el-tag>{{p.userName}} : {{p.weight}}%</el-tag>
+                        </span>
+                      </div>
+                      <el-button class="del" type="danger" icon="el-icon-delete" @click="remove(s.id)"/>
+                    </el-card>
+                  </el-timeline-item>
+                </el-timeline>
+              </div>
             </div>
-          </div>
-        </el-tab-pane>
-      </el-tabs>
-    </div>
+          </el-tab-pane>
+        </el-tabs>
+      </div>
+    </y-detail-page-layout-back>
   </div>
 </template>
 <script>
   import Breadcrumb from '@/components/Breadcrumb'
+  import YDetailPageLayoutBack from '@/components/YDetailPageLayout/back'
   export default {
     name: 'itemDetail',
     components: {
       Breadcrumb,
+      YDetailPageLayoutBack
     },
     data() {
       return {
@@ -285,7 +289,7 @@
         id:null,
         activeName: 'first',
         vLoading: false,
-        listQuery:{},
+        listQuery:null,
         filterMethod(query, item) {
           return item.label.indexOf(query) > -1;
         },
@@ -299,6 +303,7 @@
       }
     },
     created() {
+      this.listQuery = this.$route.query.listQuery;
       this.getFlow();
       this.getSimpleAll();
       this.$api.user.simpleAll().then(res => {

+ 3 - 2
src/views/log/detail.vue

@@ -3,7 +3,7 @@
     <div class="title-container">
       <breadcrumb id="breadcrumb-container" class="breadcrumb-container"/>
     </div>
-    <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。">
+    <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。" :list-query="listQuery">
       <div style="padding-top: 30px;">
         <el-tabs v-model="activeName">
           <el-tab-pane label="日志信息" name="first">
@@ -112,7 +112,7 @@
         stageId: this.$route.query.stageId,
         activeName: 'first',
         vLoading: false,
-        listQuery:{},
+        listQuery:null,
         filterMethod(query, item) {
           return item.label.indexOf(query) > -1;
         },
@@ -120,6 +120,7 @@
     },
     created() {
       //this.getDetail();
+      this.listQuery = this.$route.query.listQuery;
     },
     mounted() {
       this.postForm.logDate = this.timeDefault;

+ 5 - 1
src/views/log/list.vue

@@ -64,7 +64,7 @@
               name=""
               type="primary"
               :page-jump="true"
-              :page-query="{id: row.id,stageName:row.stageName}"
+              :page-query="{id: row.id,stageName:row.stageName,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -117,10 +117,14 @@
     },
     created() {
       const that = this;
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
       that.getList()
     },
     methods: {
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 3 - 2
src/views/market/business/detail.vue

@@ -3,7 +3,7 @@
     <div class="title-container">
       <breadcrumb id="breadcrumb-container" class="breadcrumb-container"/>
     </div>
-    <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。">
+    <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。" :list-query="listQuery">
       <div style="padding-top: 30px;">
         <el-tabs v-model="activeName">
           <el-tab-pane label="商机详情" name="first">
@@ -177,11 +177,12 @@
         businessId : this.$route.query.id,
         activeName: 'first',
         vLoading: false,
-        listQuery:{},
+        listQuery:null,
         customers:[]
       }
     },
     created() {
+      this.listQuery = this.$route.query.listQuery;
       this.getCustomer();
       this.getDetail();
     },

+ 14 - 1
src/views/market/business/list.vue

@@ -104,7 +104,7 @@
               name=""
               type="primary"
               :page-jump="true"
-              :page-query="{id: row.id}"
+              :page-query="{id: row.id,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -209,6 +209,18 @@
     },
     created() {
       const that = this;
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
+      if (that.$route.query.customerName) {
+        that.listQuery.customerName = that.$route.query.customerName;
+      }
+      if (that.$route.query.opportunityName) {
+        that.listQuery.opportunityName = that.$route.query.opportunityName;
+      }
+      if (that.$route.query.state) {
+        that.listQuery.state = that.$route.query.state;
+      }
       that.getAllEnum();
       that.getList();
     },
@@ -254,6 +266,7 @@
         })
       },
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 3 - 2
src/views/market/customer/detail.vue

@@ -3,7 +3,7 @@
     <div class="title-container">
       <breadcrumb id="breadcrumb-container" class="breadcrumb-container"/>
     </div>
-    <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。">
+    <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。" :list-query="listQuery">
       <div style="padding-top: 30px;">
         <el-tabs v-model="activeName">
           <el-tab-pane label="客户信息" name="first">
@@ -157,12 +157,13 @@
         activeName: 'first',
         vLoading: false,
         AllEnum:[],
-        listQuery:{},
+        listQuery:null,
         disable: false,
         districtsOptions:[]
       }
     },
     created() {
+      this.listQuery = this.$route.query.listQuery;
       this.getAllEnum();
       this.getDistrictsOptions();
       this.getDetail();

+ 11 - 1
src/views/market/customer/list.vue

@@ -144,7 +144,7 @@
               name=""
               type="primary"
               :page-jump="true"
-              :page-query="{id: row.id}"
+              :page-query="{id: row.id,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -207,6 +207,15 @@
     },
     created() {
       const that = this;
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
+      if (that.$route.query.name) {
+        that.listQuery.name = that.$route.query.name;
+      }
+      if (that.$route.query.level) {
+        that.listQuery.level = that.$route.query.level;
+      }
       that.getAllEnum();
       that.getList();
     },
@@ -228,6 +237,7 @@
         })
       },
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 1 - 3
src/views/market/index.vue

@@ -195,9 +195,7 @@
     },
     methods: {
       toItemPage(){
-        const date = new Date();
-        const curYear = date.getFullYear();
-        this.$router.push(`/item/list/mine?businessNo=${curYear}`);
+        this.$router.push(`/item/list/mine?isCurYear=true`);
       },
       toBusinessPage() {
         this.$router.push(`/market/business`)

+ 1 - 0
src/views/market/log/list.vue

@@ -249,6 +249,7 @@
         this.dialogFormVisible = true;
       },
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 4 - 0
src/views/market/payment/list.vue

@@ -210,6 +210,9 @@
     },
     created() {
       const that = this;
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
       that.getList()
     },
     methods: {
@@ -250,6 +253,7 @@
         })
       },
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 120 - 119
src/views/market/visit/detail.vue

@@ -6,167 +6,167 @@
     <div style="padding-top: 30px;">
       <el-tabs v-model="activeName" type="border-card">
         <el-tab-pane label="拜访详情" name="first">
-          <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。">
+          <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。" :list-query="listQuery">
             <el-form ref="postForm" :model="postForm" class="form-container" style="padding-left: 200px;">
-            <div>
-              <div class="postInfo-container">
-                <el-row>
-                  <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                    <el-form-item
-                      label="客户名字:"
-                      prop="customerId"
-                      label-width="180px"
-                      class="postInfo-container-item"
-                      :rules="{required: true, message: '请填选择客户名字', trigger: 'blur'}"
-                    >
-                      <el-select
-                        v-model="postForm.customerId"
-                        placeholder=""
-                        clearable
-                        filterable
-                        class="filter-item"
-                        style="width:360px"
-                        @change="getCustomerDetail"
-
-                      >
-                        <el-option
-                          v-for="item in customers"
-                          :key="item.id"
-                          :label="item.name"
-                          :value="item.id"
-                        />
-                      </el-select>
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <el-row>
-                  <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                    <el-form-item
-                      label="客户等级:"
-                      prop="level"
-                      label-width="180px"
-                      class="postInfo-container-item"
-                    >
-                      <el-input style="width:360px" :value="postForm.customerLevel" readonly disabled/>
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <el-row>
-                  <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                    <el-form-item
-                      label="客户部门:"
-                      prop="department"
-                      label-width="180px"
-                      class="postInfo-container-item"
-                    >
-                      <el-input style="width:360px" :value="postForm.customerDepartment" readonly disabled/>
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <el-row>
-                  <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                    <el-form-item
-                      label="客户科室:"
-                      prop="section"
-                      label-width="180px"
-                      class="postInfo-container-item"
-                    >
-                      <el-input style="width:360px" :value="postForm.customerSection" readonly disabled/>
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <el-row>
-                  <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                    <el-form-item
-                      label="客户职位:"
-                      prop="position"
-                      label-width="180px"
-                      class="postInfo-container-item"
-                    >
-                      <el-input style="width:360px" :value="postForm.customerPosition" readonly disabled/>
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-              </div>
-            </div>
-            <div>
               <div>
                 <div class="postInfo-container">
                   <el-row>
                     <el-col :xs="24" :sm="12" :lg="10" :span="6">
                       <el-form-item
-                        label="拜访类型:"
-                        prop="visitType"
+                        label="客户名字:"
+                        prop="customerId"
                         label-width="180px"
                         class="postInfo-container-item"
-                        :rules="{required: true, message: '选择拜访类型', trigger: 'blur'}"
+                        :rules="{required: true, message: '请填选择客户名字', trigger: 'blur'}"
                       >
-                        <el-select clearable style="width:360px" v-model="postForm.visitType" placeholder="拜访类型">
-                          <el-option key="0" label="初访" value="初访"/>
-                          <el-option key="1" label="回访" value="回访"/>
+                        <el-select
+                          v-model="postForm.customerId"
+                          placeholder=""
+                          clearable
+                          filterable
+                          class="filter-item"
+                          style="width:360px"
+                          @change="getCustomerDetail"
+
+                        >
+                          <el-option
+                            v-for="item in customers"
+                            :key="item.id"
+                            :label="item.name"
+                            :value="item.id"
+                          />
                         </el-select>
                       </el-form-item>
                     </el-col>
                   </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
                   <el-row>
                     <el-col :xs="24" :sm="12" :lg="10" :span="6">
                       <el-form-item
-                        label="拜访日期:"
-                        prop="visitTime"
-                        :rules="{required: true, message: '请选择日期', trigger: 'blur'}"
+                        label="客户等级:"
+                        prop="level"
                         label-width="180px"
                         class="postInfo-container-item"
                       >
-                        <el-date-picker
-                          v-model="postForm.visitTime"
-                          type="date"
-                          value-format="yyyy-MM-dd"
-                          style="width:360px"
-                          placeholder="选择日期"
-                        />
+                        <el-input style="width:360px" :value="postForm.customerLevel" readonly disabled/>
                       </el-form-item>
                     </el-col>
                   </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
                   <el-row>
                     <el-col :xs="24" :sm="12" :lg="10" :span="6">
                       <el-form-item
-                        label="拜访地点:"
-                        prop="spot"
+                        label="客户部门:"
+                        prop="department"
                         label-width="180px"
                         class="postInfo-container-item"
                       >
-                        <el-input v-model="postForm.spot"  style="width:360px" class="filter-item"/>
+                        <el-input style="width:360px" :value="postForm.customerDepartment" readonly disabled/>
+                      </el-form-item>
+                    </el-col>
+                  </el-row>
+                  <el-row>
+                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
+                      <el-form-item
+                        label="客户科室:"
+                        prop="section"
+                        label-width="180px"
+                        class="postInfo-container-item"
+                      >
+                        <el-input style="width:360px" :value="postForm.customerSection" readonly disabled/>
                       </el-form-item>
                     </el-col>
                   </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
                   <el-row>
                     <el-col :xs="24" :sm="12" :lg="10" :span="6">
                       <el-form-item
-                        label="沟通内容:"
-                        prop="content"
+                        label="客户职位:"
+                        prop="position"
                         label-width="180px"
                         class="postInfo-container-item"
                       >
-                        <el-input type="textarea" style="width:360px" v-model="postForm.content" class="filter-item" placeholder="200字符" :autosize="{ minRows: 8, maxRows: 8}"/>
+                        <el-input style="width:360px" :value="postForm.customerPosition" readonly disabled/>
                       </el-form-item>
                     </el-col>
                   </el-row>
                 </div>
               </div>
-            </div>
-          </el-form>
+              <div>
+                <div>
+                  <div class="postInfo-container">
+                    <el-row>
+                      <el-col :xs="24" :sm="12" :lg="10" :span="6">
+                        <el-form-item
+                          label="拜访类型:"
+                          prop="visitType"
+                          label-width="180px"
+                          class="postInfo-container-item"
+                          :rules="{required: true, message: '选择拜访类型', trigger: 'blur'}"
+                        >
+                          <el-select clearable style="width:360px" v-model="postForm.visitType" placeholder="拜访类型">
+                            <el-option key="0" label="初访" value="初访"/>
+                            <el-option key="1" label="回访" value="回访"/>
+                          </el-select>
+                        </el-form-item>
+                      </el-col>
+                    </el-row>
+                  </div>
+                </div>
+                <div>
+                  <div class="postInfo-container">
+                    <el-row>
+                      <el-col :xs="24" :sm="12" :lg="10" :span="6">
+                        <el-form-item
+                          label="拜访日期:"
+                          prop="visitTime"
+                          :rules="{required: true, message: '请选择日期', trigger: 'blur'}"
+                          label-width="180px"
+                          class="postInfo-container-item"
+                        >
+                          <el-date-picker
+                            v-model="postForm.visitTime"
+                            type="date"
+                            value-format="yyyy-MM-dd"
+                            style="width:360px"
+                            placeholder="选择日期"
+                          />
+                        </el-form-item>
+                      </el-col>
+                    </el-row>
+                  </div>
+                </div>
+                <div>
+                  <div class="postInfo-container">
+                    <el-row>
+                      <el-col :xs="24" :sm="12" :lg="10" :span="6">
+                        <el-form-item
+                          label="拜访地点:"
+                          prop="spot"
+                          label-width="180px"
+                          class="postInfo-container-item"
+                        >
+                          <el-input v-model="postForm.spot"  style="width:360px" class="filter-item"/>
+                        </el-form-item>
+                      </el-col>
+                    </el-row>
+                  </div>
+                </div>
+                <div>
+                  <div class="postInfo-container">
+                    <el-row>
+                      <el-col :xs="24" :sm="12" :lg="10" :span="6">
+                        <el-form-item
+                          label="沟通内容:"
+                          prop="content"
+                          label-width="180px"
+                          class="postInfo-container-item"
+                        >
+                          <el-input type="textarea" style="width:360px" v-model="postForm.content" class="filter-item" placeholder="200字符" :autosize="{ minRows: 8, maxRows: 8}"/>
+                        </el-form-item>
+                      </el-col>
+                    </el-row>
+                  </div>
+                </div>
+              </div>
+            </el-form>
           </y-detail-page-layout>
         </el-tab-pane>
         <el-tab-pane :lazy="paneLazy" name="replyList">
@@ -294,6 +294,7 @@
       }
     },
     created() {
+      this.listQuery = this.$route.query.listQuery;
       this.getCustomer();
       this.getDetail();
       this.getNotRead();

+ 11 - 1
src/views/market/visit/list.vue

@@ -110,7 +110,7 @@
               name=""
               type="primary"
               :page-jump="true"
-              :page-query="{id: row.id}"
+              :page-query="{id: row.id,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -176,6 +176,15 @@
     },
     created() {
       const that = this;
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
+      if (that.$route.query.keyword) {
+        that.listQuery.keyword = that.$route.query.keyword;
+      }
+      if (that.$route.query.visitType) {
+        that.listQuery.visitType = that.$route.query.visitType;
+      }
       that.getList();
     },
     methods: {
@@ -183,6 +192,7 @@
         this.$router.push({path:'/market/visit/reply', query:{bizTableId:id}})
       },
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 5 - 0
src/views/market/visit/reply.vue

@@ -93,10 +93,15 @@
       }
     },
     created() {
+      const that = this;
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
       this.getList()
     },
     methods: {
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 76 - 1
src/views/set/brokerage.vue

@@ -15,6 +15,30 @@
             :closable="false">
           </el-alert>
           <y-page-list-layout :get-page-list="getMarketerRatioList" :page-list="marketerRatioRecord" :page-para="listQuery1">
+            <template slot="left">
+              <el-select
+                v-model="listQuery1.itemCate"
+                placeholder="项目类型"
+                clearable
+                filterable
+                style="margin-left: 20px;width: 200px;float: left;"
+                class="filter-item"
+                @change="getMarketerRatioList"
+              >
+                <el-option v-for="item in cateList" :key="item.id" :label="item.name" :value="item.id"/>
+              </el-select>
+              <el-select
+                v-model="listQuery1.itemSource"
+                placeholder="业务来源"
+                clearable
+                filterable
+                class="filter-item"
+                style="margin-left: 20px;width: 200px;float: left;"
+                @change="getMarketerRatioList"
+              >
+                <el-option v-for="item in businessSourceList" :key="item.id" :label="item.name" :value="item.id"/>
+              </el-select>
+            </template>
             <el-table
               size="medium"
               slot="table"
@@ -64,6 +88,18 @@
             :closable="false">
           </el-alert>
           <y-page-list-layout :get-page-list="getPostRatio" :page-list="postRatioRecord" :page-para="listQuery2">
+            <template slot="left">
+              <el-select v-model="listQuery2.departmentId" style="width: 200px;margin-left: 20px;" clearable filterable
+                         placeholder="所属部门" class="filter-item" @change="getPostRatio"
+              >
+                <el-option
+                  v-for="item in partOptions"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                />
+              </el-select>
+            </template>
             <el-table
               size="medium"
               slot="table"
@@ -113,6 +149,21 @@
             :closable="false">
           </el-alert>
           <y-page-list-layout :get-page-list="getBaseAmount" :page-list="baseAmount" :page-para="listQuery3">
+            <template slot="left">
+              <el-input
+                v-model="listQuery3.description"
+                placeholder="请输入内容"
+                clearable
+                style="margin-left: 20px;width: 320px;float: left;"
+                @change="getBaseAmount"
+              >
+                <el-select slot="prepend" v-model="listQueryKey" style="width: 90px;" placeholder="请选择">
+                  <el-option label="全部" value="keyword"/>
+                  <el-option label="工号" value="staffNo"/>
+                  <el-option label="姓名" value="name"/>
+                </el-select>
+              </el-input>
+            </template>
             <el-table
               size="medium"
               slot="table"
@@ -293,12 +344,34 @@
           size: 10,
           descs: 'id',
         },
+        cateList:[],
+        businessSourceList:[],
+        partOptions: [],
+        listQueryKey: 'keyword',
       }
     },
     created() {
       this.getMarketerRatioList();
+      this.getCateList();
+      this.getBusinessSourceList();
+      this.getPartSelect();
     },
     methods: {
+      getPartSelect() {
+        this.$api.department.simpleAll().then(res => {
+          this.partOptions = res.data
+        })
+      },
+      getBusinessSourceList(){
+        this.$api.dictData.simpleType("业务来源").then(res => {
+          this.businessSourceList = res.data
+        })
+      },
+      getCateList(){
+        this.$api.dictData.simpleType("项目类型").then(res => {
+          this.cateList = res.data
+        })
+      },
       updateBaseAmount(row){
         this.$api.baseAmount.edit(row).then(res => {
           if (res.code === 200) {
@@ -354,7 +427,9 @@
       getBaseAmount(){
         const that = this;
         this.listLoading = true;
-        this.$api.baseAmount.list(that.listQuery3).then(res => {
+        const key = {};
+        key[this.listQueryKey] = this.listQuery3.description;
+        this.$api.baseAmount.list(Object.assign({}, that.listQuery3, key)).then(res => {
           that.baseAmount = res.data;
           setTimeout(() => {
             that.listLoading = false

+ 3 - 2
src/views/staff/detail.vue

@@ -3,7 +3,7 @@
     <div class="title-container">
       <breadcrumb id="breadcrumb-container" class="breadcrumb-container"/>
     </div>
-    <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。">
+    <y-detail-page-layout @save="handleCreate" :edit-status="true" v-loading="vLoading" element-loading-text="处理中。。。" :list-query="listQuery">
       <div style="padding-top: 30px;">
         <el-tabs v-model="activeName">
           <el-tab-pane label="员工信息" name="first">
@@ -293,13 +293,14 @@
         activeName: 'first',
         vLoading: false,
         AllEnum:[],
-        listQuery:{},
+        listQuery:null,
         postOptions:[],
         userPosts:[],
         disable: false,
       }
     },
     created() {
+      this.listQuery = this.$route.query.listQuery;
       this.getAllEnum();
       this.getOptions();
       this.getDetail();

+ 6 - 2
src/views/staff/list.vue

@@ -133,7 +133,7 @@
               name=""
               type="primary"
               :page-jump="true"
-              :page-query="{id: row.id}"
+              :page-query="{id: row.id,listQuery:listQuery}"
               round
               size="mini"
             />
@@ -194,7 +194,10 @@
       }
     },
     created() {
-      const that = this
+      const that = this;
+      if (that.$route.query.current && !isNaN(that.$route.query.current)) {
+        that.listQuery.current = parseInt(that.$route.query.current);
+      }
       that.getList()
     },
     methods: {
@@ -202,6 +205,7 @@
         this.$utils.exportUtil('/user/download/importTemplate', {}, '模板下载')
       },
       resetSearch() {
+        this.$router.push({ query: {} });
         this.listQuery = {
           current: 1,
           size: 10,

+ 7 - 1
vue.config.js

@@ -43,11 +43,17 @@ module.exports = {
     },
     proxy: {
       '/api': {
-        // 本地环境
+        // prod
         target: 'http://127.0.0.1:8088',
         changeOrigin: true,
         pathRewrite: {}
       },
+      // '/api': {
+      //   // test (docker)
+      //   target: 'http://127.0.0.1:8089',
+      //   changeOrigin: true,
+      //   pathRewrite: {}
+      // },
       '/dfs': {
         target: 'http://119.27.160.97:8531',
         changeOrigin: true,