Parcourir la source

Merge branch 'feature/Feature-copy' into develop

howie il y a 2 ans
Parent
commit
356bce751a

+ 50 - 34
src/api/dashboard.js

@@ -1,66 +1,82 @@
-import request from "@/utils/request";
+import request from '@/utils/request'
 
 // 获取消息列表
 export function getNoticeList(params) {
   return request({
-    url: "/notice/list",
-    method: "get",
-    params,
-  });
+    url: '/notice/list',
+    method: 'get',
+    params
+  })
 }
 // 获取消息列表详情
 export function getNoticeDetail(params) {
   return request({
-    url: "/notice/detail",
-    method: "get",
-    params,
-  });
+    url: '/notice/detail',
+    method: 'get',
+    params
+  })
 }
 // 万能通用附件列表
 export function getComListList(params) {
   return request({
-    url: "/com/list/list",
-    method: "get",
-    params,
-  });
+    url: '/com/list/list',
+    method: 'get',
+    params
+  })
 }
 // 下载万能通用列表附件
 export function getComListDownload(params) {
   return request({
-    url: "/com/list/download",
-    method: "get",
-    params,
-  });
+    url: '/com/list/download',
+    method: 'get',
+    params
+  })
 }
 // 查收
 export function confirmCheck(params) {
   return request({
-    url: "/notice/mark/read",
-    method: "post",
-    params,
-  });
+    url: '/notice/mark/read',
+    method: 'post',
+    params
+  })
 }
 // 列表
 export function getRebateOrderList(params) {
   return request({
-    url: "/rebate/order/list",
-    method: "get",
-    params,
-  });
+    url: '/rebate/order/list',
+    method: 'get',
+    params
+  })
 }
-//返利通知获取信息接口
+// 返利通知获取信息接口
 export function getRebateOrderMsg() {
   return request({
-    url: "/rebate/order/msg",
-    method: "get",
-  });
+    url: '/rebate/order/msg',
+    method: 'get'
+  })
 }
-
 // 路由
 export function getRouter(params) {
   return request({
     url: `/admin/user/module/list`,
-    method: "get",
-    params,
-  });
-}
+    method: 'get',
+    params
+  })
+}
+// 常用菜单-列表
+export function getMenuList(params) {
+  return request({
+    url: `/admin/module/favorites/list`,
+    method: 'get',
+    params
+  })
+}
+// 常用菜单-列表
+export function setMenuList(params) {
+  return request({
+    url: `/admin/module/favorites/save`,
+    method: 'post',
+    params
+  })
+}
+

+ 419 - 137
src/views/dashboard/index.vue

@@ -1,110 +1,340 @@
 <template>
   <div class="app-container">
     <div class="menu-list">
-      <div class="group" v-for="(item, index) in menuList" :key="index">
+      <div>
+        <div class="main-title">
+          <div class="title">常用菜单</div>
+          <div
+            class="el-icon-setting"
+            @click="dialogVisible = !dialogVisible"
+          />
+        </div>
+        <div class="child">
+          <el-row :gutter="20">
+            <el-col
+              v-for="(it, idx) in normsMenuList"
+              :key="idx"
+              class="item"
+              :span="4"
+              style="margin-top: 16px;
+              padding: 3px 20px"
+            >
+              <el-link
+                class="link"
+                :underline="false"
+                @click="clickMenu(it.curUrl)"
+              >{{ it.moduleName }}</el-link>
+            </el-col>
+          </el-row>
+        </div>
+      </div>
+      <div v-for="(item, index) in menuList" :key="index" class="group">
         <div v-if="item.moduleName != '首页'">
           <div class="main-title">
-            <div class="title">{{item.moduleName}}</div>
+            <div class="title">{{ item.moduleName }}</div>
           </div>
-          <div class="child" v-if="item.children && item.children.length">
+          <div v-if="item.children && item.children.length" class="child">
             <el-row :gutter="20">
-              <el-col class="item" :span="4" v-for="(it, idx) in item.children" :key="idx">
-                <el-link class="link" :underline="false" @click="clickMenu(it.curUrl)">{{it.moduleName}}</el-link>
+              <el-col
+                v-for="(it, idx) in item.children"
+                :key="idx"
+                class="item"
+                :span="4"
+              >
+                <el-link
+                  class="link"
+                  :underline="false"
+                  @click="clickMenu(it.curUrl)"
+                >{{ it.moduleName }}</el-link>
               </el-col>
             </el-row>
           </div>
-          <div class="child" v-else>
+          <div v-else class="child">
             <div class="item">
-              <el-link class="link" :underline="false" @click="clickMenu(item.curUrl + '/index')">{{item.moduleName}}</el-link>
+              <el-link
+                class="link"
+                :underline="false"
+                @click="clickMenu(item.curUrl + '/index')"
+              >{{ item.moduleName }}</el-link>
             </div>
           </div>
         </div>
       </div>
     </div>
-
     <!-- 弹窗 -->
-    <el-dialog title="消息" :visible.sync="showMessages" width="50%" :show-close="false" :close-on-click-modal="false">
-      <el-radio-group v-model="type" @change="checkFn" size="mini">
+    <el-dialog title="菜单配置" :visible.sync="dialogVisible" width="70%">
+      <el-checkbox-group v-model="checkList" :max="10">
+        <div v-for="(item, index) in menuList" :key="index" class="group">
+          <div v-if="item.moduleName != '首页'">
+            <div v-if="item.children && item.children.length" class="dia-child ">
+              <el-checkbox
+                v-for="(it, idx) in item.children"
+                :key="idx"
+                :label="it.moduleId"
+                class="dia-item"
+              >{{ it.moduleName }}</el-checkbox>
+            </div>
+            <div v-else class="child">
+              <el-checkbox class="dia-item" :label="item.moduleId">{{ item.moduleName }}</el-checkbox>
+            </div>
+          </div>
+        </div>
+      </el-checkbox-group>
+      <div class="dia-tip">( {{ checkList.length }} / 10 )注:最多选10个导航菜单</div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false;checkList=[]">取 消</el-button>
+        <el-button
+          type="primary"
+          @click="handleSaveMenu"
+        >确 定</el-button>
+      </span>
+    </el-dialog>
+
+    <el-dialog
+      title="消息"
+      :visible.sync="showMessages"
+      width="50%"
+      :show-close="false"
+      :close-on-click-modal="false"
+    >
+      <el-radio-group v-model="type" size="mini" @change="checkFn">
         <el-radio-button label="1">系统通知</el-radio-button>
         <el-radio-button label="2">文件下发</el-radio-button>
         <el-radio-button label="3">返利确认单</el-radio-button>
       </el-radio-group>
-      <br />
-      <br />
+      <br>
+      <br>
       <!-- 系统通知 -->
       <div v-show="type == '1'" class="table">
-        <el-table class="cql" v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
-          <el-table-column align="center" type="index" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="标题" prop="title" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="来源" prop="source" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="时间" prop="issueTime" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="" min-width="160" show-overflow-tooltip>
+        <el-table
+          v-loading="listLoading"
+          class="cql"
+          :data="dataList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="center"
+            type="index"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="标题"
+            prop="title"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="来源"
+            prop="source"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="时间"
+            prop="issueTime"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label=""
+            min-width="160"
+            show-overflow-tooltip
+          >
             <template slot-scope="scope">
-              <el-button type="text" class="textColor" @click="lookInDialog(scope.row.id)">查看</el-button>
+              <el-button
+                type="text"
+                class="textColor"
+                @click="lookInDialog(scope.row.id)"
+              >查看</el-button>
             </template>
           </el-table-column>
         </el-table>
       </div>
       <!-- 文件下发 -->
       <div v-show="type == '2'" class="table">
-        <el-table v-loading="listLoading" :data="fileList" element-loading-text="Loading" border fit highlight-current-row stripe>
-          <el-table-column align="center" type="index" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="标题" prop="title" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="来源" prop="operatorNickName" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="时间" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="操作" min-width="160" show-overflow-tooltip>
+        <el-table
+          v-loading="listLoading"
+          :data="fileList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="center"
+            type="index"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="标题"
+            prop="title"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="来源"
+            prop="operatorNickName"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="时间"
+            prop="createTime"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="操作"
+            min-width="160"
+            show-overflow-tooltip
+          >
             <template slot-scope="scope">
-              <el-button type="text" class="textColor" @click="downloadFn(scope.row.id)">下载</el-button>
+              <el-button
+                type="text"
+                class="textColor"
+                @click="downloadFn(scope.row.id)"
+              >下载</el-button>
             </template>
           </el-table-column>
         </el-table>
       </div>
       <!-- 返利确认单 -->
       <div v-show="type == '3'" class="table">
-        <el-table v-loading="listLoading" :data="rebateList" element-loading-text="Loading" border fit highlight-current-row stripe>
-          <el-table-column align="center" type="index" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="经销商名称" prop="customerName" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="确认人" prop="examineBy" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="确认时间" prop="examineTime" min-width="160" show-overflow-tooltip></el-table-column>
-          <el-table-column align="center" label="" min-width="160" show-overflow-tooltip>
+        <el-table
+          v-loading="listLoading"
+          :data="rebateList"
+          element-loading-text="Loading"
+          border
+          fit
+          highlight-current-row
+          stripe
+        >
+          <el-table-column
+            align="center"
+            type="index"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="经销商名称"
+            prop="customerName"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="确认人"
+            prop="examineBy"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label="确认时间"
+            prop="examineTime"
+            min-width="160"
+            show-overflow-tooltip
+          />
+          <el-table-column
+            align="center"
+            label=""
+            min-width="160"
+            show-overflow-tooltip
+          >
             <template slot-scope="scope">
-              <el-button type="text" class="textColor" @click="secondFn(scope.row.rebateOrderId)">{{ isCustomer ? "确认" : "复核" }}</el-button>
+              <el-button
+                type="text"
+                class="textColor"
+                @click="secondFn(scope.row.rebateOrderId)"
+              >{{ isCustomer ? "确认" : "复核" }}</el-button>
             </template>
           </el-table-column>
         </el-table>
       </div>
 
-      <br />
-      <br />
+      <br>
+      <br>
       <!-- 分页 -->
       <div class="fr">
-        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 50]" :page-size="10" layout="total, sizes, prev, pager, next, jumper" :total="listTotal">
-        </el-pagination>
+        <el-pagination
+          :current-page="currentPage"
+          :page-sizes="[10, 20, 30, 50]"
+          :page-size="10"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="listTotal"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+        />
       </div>
-      <br /><br />
+      <br><br>
       <!-- 内层弹窗 -->
-      <el-dialog width="40%" title="消息标题" :visible.sync="inDialog" append-to-body>
+      <el-dialog
+        width="40%"
+        title="消息标题"
+        :visible.sync="inDialog"
+        append-to-body
+      >
         <div class="detail-container">
           <div class="title">{{ detailData.title }}</div>
           <div class="text">
             发布人:{{ detailData.issueNickName
-            }}<el-divider direction="vertical"></el-divider>发布时间:{{
+            }}<el-divider direction="vertical" />发布时间:{{
               detailData.issueTime
             }}
           </div>
-          <el-divider></el-divider>
+          <el-divider />
           <div class="content">{{ detailData.content }}</div>
-          <el-divider v-if="detailData.files && detailData.files.length > 0"></el-divider>
-          <div class="file" v-if="detailData.files && detailData.files.length > 0">
+          <el-divider v-if="detailData.files && detailData.files.length > 0" />
+          <div
+            v-if="detailData.files && detailData.files.length > 0"
+            class="file"
+          >
             <div>附件:</div>
             <div class="file-list">
-              <div v-for="(item, index) in detailData.files" :key="index" class="item">
-                <el-image v-if="checkFileType(item.url) == 'image'" class="img" :src="imageURL + item.url" :preview-src-list="[imageURL + item.url]"></el-image>
+              <div
+                v-for="(item, index) in detailData.files"
+                :key="index"
+                class="item"
+              >
+                <el-image
+                  v-if="checkFileType(item.url) == 'image'"
+                  class="img"
+                  :src="imageURL + item.url"
+                  :preview-src-list="[imageURL + item.url]"
+                />
                 <div v-else class="box2" @click="openLink(item.url)">
-                  <img src="@/assets/common/word.png" v-if="checkFileType(item.url) == 'word'" />
-                  <img src="@/assets/common/excel.png" v-if="checkFileType(item.url) == 'excel'" />
-                  <img src="@/assets/common/ppt.png" v-if="checkFileType(item.url) == 'ppt'" />
-                  <img src="@/assets/common/pdf.png" v-if="checkFileType(item.url) == 'pdf'" />
+                  <img
+                    v-if="checkFileType(item.url) == 'word'"
+                    src="@/assets/common/word.png"
+                  >
+                  <img
+                    v-if="checkFileType(item.url) == 'excel'"
+                    src="@/assets/common/excel.png"
+                  >
+                  <img
+                    v-if="checkFileType(item.url) == 'ppt'"
+                    src="@/assets/common/ppt.png"
+                  >
+                  <img
+                    v-if="checkFileType(item.url) == 'pdf'"
+                    src="@/assets/common/pdf.png"
+                  >
                   <div class="name ellipsis-3">{{ item.name }}</div>
                 </div>
               </div>
@@ -112,7 +342,11 @@
           </div>
         </div>
         <div slot="footer" class="dialog-footer">
-          <el-button size="mini" type="primary" @click="confirmCheck(detailData.noticeId)">确认接收</el-button>
+          <el-button
+            size="mini"
+            type="primary"
+            @click="confirmCheck(detailData.noticeId)"
+          >确认接收</el-button>
           <el-button size="mini" @click="inDialog = false">关 闭</el-button>
         </div>
       </el-dialog>
@@ -132,35 +366,39 @@ import {
   confirmCheck,
   getRebateOrderList,
   getRouter,
-} from "@/api/dashboard";
-import { getFileUrl } from "@/api/common";
-import { mapGetters } from "vuex";
-import { getInfo, getOrder, getGoodsRank } from "@/api/dashboard";
-import { dateFormat } from "@/utils/util";
+  getMenuList,
+  setMenuList
+} from '@/api/dashboard'
+import { getFileUrl } from '@/api/common'
+import { mapGetters } from 'vuex'
+import { getInfo, getOrder, getGoodsRank } from '@/api/dashboard'
+import { dateFormat } from '@/utils/util'
 
 export default {
-  name: "Dashboard",
+  name: 'Dashboard',
   created() {
     this.getDataList({
       pageSize: this.pageSize,
       pageNum: this.currentPage,
-      readFlag: false,
-    });
+      readFlag: false
+    })
 
     getRouter({
       flag: 'index',
       adminUserId: this.userid
-    }).then(res => {
-      this.menuList = res.data;
+    }).then((res) => {
+      this.menuList = res.data
+      console.log(res.data)
     })
+    this.getMenuList()
   },
   computed: {
-    ...mapGetters(["showMessages", 'userid']),
+    ...mapGetters(['showMessages', 'userid'])
   },
   data() {
     return {
       imageURL: this.$imageUrl,
-      type: "1",
+      type: '1',
       currentPage: 1, // 当前页码
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
@@ -170,174 +408,196 @@ export default {
       inDialog: false,
       detailData: [],
       rebateList: [],
-      isCustomer: JSON.parse(localStorage.getItem("supply_user")).isCustomer,
+      isCustomer: JSON.parse(localStorage.getItem('supply_user')).isCustomer,
       menuList: [],
-    };
+      dialogVisible: false,
+      checkList: [],
+      normsMenuList: []
+    }
   },
 
   methods: {
+    // 获取常用菜单列表
+    getMenuList() {
+      getMenuList().then(res => {
+        this.normsMenuList = res.data
+        if (this.normsMenuList.length) {
+          this.normsMenuList.forEach(k => {
+            this.checkList.push(k.moduleId)
+          })
+        }
+      })
+    },
+    // 保存常用菜单
+    handleSaveMenu() {
+      setMenuList({ adminModuleIds: this.checkList.join(',') }).then(res => {
+        this.$successMsg('设置成功')
+        this.getMenuList()
+        this.dialogVisible = false
+      })
+    },
     // 打开链接
     openLink(url) {
       getFileUrl({ key: url }).then((res) => {
-        window.open(res.data);
-      });
+        window.open(res.data)
+      })
     },
-    //复核
+    // 复核
     secondFn(id) {
       this.$router.push({
-        path: "/finance/rebate/rebate_list",
+        path: '/finance/rebate/rebate_list',
         query: {
-          id,
-        },
-      });
+          id
+        }
+      })
 
-      this.$store.commit("user/showMessage", "no");
+      this.$store.commit('user/showMessage', 'no')
     },
     // 确认查收
     confirmCheck(id) {
       confirmCheck({ noticeIds: id }).then((res) => {
-        this.$successMsg("查收成功");
-        this.inDialog = false;
+        this.$successMsg('查收成功')
+        this.inDialog = false
         this.getDataList({
           pageSize: this.pageSize,
           pageNum: this.currentPage,
-          readFlag: false,
-        });
-      });
+          readFlag: false
+        })
+      })
     },
     // 检查文件类型
     checkFileType(url) {
-      if (!url) return "";
-      const fileSuffix = url.substring(url.lastIndexOf(".") + 1);
+      if (!url) return ''
+      const fileSuffix = url.substring(url.lastIndexOf('.') + 1)
 
-      if (["jpg", "jpeg", "png"].includes(fileSuffix)) {
-        return "image";
-      } else if (["doc", "docx", "dot", "wps", "wpt"].includes(fileSuffix)) {
-        return "word";
-      } else if (["xls", "xlsx", "xlt", "et", "ett"].includes(fileSuffix)) {
-        return "excel";
+      if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
+        return 'image'
+      } else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
+        return 'word'
+      } else if (['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
+        return 'excel'
       } else if (
-        ["ppt", "pptx", "dps", "dpt", "pot", "pps"].includes(fileSuffix)
+        ['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)
       ) {
-        return "ppt";
-      } else if (["pdf"].includes(fileSuffix)) {
-        return "pdf";
+        return 'ppt'
+      } else if (['pdf'].includes(fileSuffix)) {
+        return 'pdf'
       } else {
-        return "";
+        return ''
       }
     },
-    //查看
+    // 查看
     async lookInDialog(id) {
-      let res = await getNoticeDetail({ id });
+      const res = await getNoticeDetail({ id })
       // console.log(res, 7898);
-      this.detailData = res.data;
-      this.inDialog = true;
+      this.detailData = res.data
+      this.inDialog = true
     },
-    //下载
+    // 下载
     async downloadFn(id) {
-      const res = await getComListDownload({ id });
+      const res = await getComListDownload({ id })
       if (res.data) {
-        window.open(this.imageURL + res.data);
+        window.open(this.imageURL + res.data)
       }
     },
-    //获取文件列表数据
+    // 获取文件列表数据
     async getFileList(data) {
-      let res = await getComListList(data);
-      this.fileList = res.data.records;
-      this.listTotal = res.data.total;
+      const res = await getComListList(data)
+      this.fileList = res.data.records
+      this.listTotal = res.data.total
     },
     // 更改每页数量
     handleSizeChange(val) {
-      this.pageSize = val;
-      this.currentPage = 1;
+      this.pageSize = val
+      this.currentPage = 1
       if (this.type == 1) {
         this.getDataList({
           pageSize: this.pageSize,
           pageNum: this.currentPage,
-          readFlag: false,
-        });
+          readFlag: false
+        })
       }
       if (this.type == 2) {
         this.getFileList({
           needDown: true,
           pageSize: this.pageSize,
-          pageNo: this.currentPage,
-        });
+          pageNo: this.currentPage
+        })
       }
       if (this.type == 3) {
         this.getRebateList({
           pageSize: this.pageSize,
           pageNum: this.currentPage,
-          isSecondExamine: false,
-        });
+          isSecondExamine: false
+        })
       }
     },
     // 更改当前页
     handleCurrentChange(val) {
-      this.currentPage = val;
+      this.currentPage = val
       if (this.type == 1) {
         this.getDataList({
           pageSize: this.pageSize,
           pageNum: this.currentPage,
-          readFlag: false,
-        });
+          readFlag: false
+        })
       }
       if (this.type == 2) {
         this.getFileList({
           needDown: true,
           pageSize: this.pageSize,
-          pageNo: this.currentPage,
-        });
+          pageNo: this.currentPage
+        })
       }
       if (this.type == 3) {
         this.getRebateList({
           pageSize: this.pageSize,
           pageNum: this.currentPage,
-          isSecondExamine: false,
-        });
+          isSecondExamine: false
+        })
       }
     },
-    //获取返利确认单数据
+    // 获取返利确认单数据
     async getRebateList(data) {
-      const res = await getRebateOrderList(data);
-      this.rebateList = res.data.records;
-      this.listTotal = res.data.total;
+      const res = await getRebateOrderList(data)
+      this.rebateList = res.data.records
+      this.listTotal = res.data.total
     },
-    //获取列表数据
+    // 获取列表数据
     async getDataList(data) {
-      const res = await getNoticeList(data);
-      console.log(res);
-      this.dataList = res.data.records;
-      this.listTotal = res.data.total;
+      const res = await getNoticeList(data)
+      console.log(res)
+      this.dataList = res.data.records
+      this.listTotal = res.data.total
     },
-    //选择
+    // 选择
     checkFn(v) {
-      this.type = v;
+      this.type = v
       if (v == 1) {
         this.getDataList({
           pageSize: this.pageSize,
           pageNum: this.currentPage,
-          readFlag: false,
-        });
+          readFlag: false
+        })
       }
       if (v == 2) {
         this.getFileList({
           needDown: true,
           pageSize: this.pageSize,
-          pageNo: this.currentPage,
-        });
+          pageNo: this.currentPage
+        })
       }
       if (v == 3) {
         this.getRebateList({
           pageSize: this.pageSize,
           pageNum: this.currentPage,
-          isSecondExamine: false,
-        });
+          isSecondExamine: false
+        })
       }
     },
-    //关闭
+    // 关闭
     closeFn() {
-      this.$store.commit("user/showMessage", "no");
+      this.$store.commit('user/showMessage', 'no')
     },
 
     // 点击菜单
@@ -346,8 +606,8 @@ export default {
         path
       })
     }
-  },
-};
+  }
+}
 </script>
 <style lang="scss" scoped>
 .dashboard {
@@ -367,9 +627,31 @@ export default {
     background-color: #f5f7fa;
   }
 }
+.dia-menu-title {
+  padding: 10px 0;
+  color: #000;
+  font-weight: bold;
+}
+.dia-tip {
+  padding: 10px 0;
+  color: #000;
+  font-weight: bold;
+}
+.dia-child{
+  display: flex;
+  flex-wrap: wrap;
+}
+.dia-item{
+  flex: 0 1 220px;
+  padding: 3px 0;
+}
 .menu-list {
   .main-title {
     margin: 10px 0 0;
+    .el-icon-setting {
+      cursor: pointer;
+      font-size: 22px;
+    }
   }
   .group {
     margin-bottom: 20px;

+ 206 - 196
src/views/supply/engin/home_list.vue

@@ -8,28 +8,28 @@
             <el-col :xs="24" :sm="24" :lg="24">
               <el-form-item prop="status" label-width="0">
                 <el-checkbox-group v-model="screenForm.status" @change="getList()">
-                  <el-checkbox-button v-for="(item, index) in statusList" :key="index" :label="item.value">{{item.label}}</el-checkbox-button>
+                  <el-checkbox-button v-for="(item, index) in statusList" :key="index" :label="item.value">{{ item.label }}</el-checkbox-button>
                 </el-checkbox-group>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="工程订单号" prop="orderNum">
-                <el-input v-model="screenForm.orderNum" placeholder="请输入工程订单号"></el-input>
+                <el-input v-model="screenForm.orderNum" placeholder="请输入工程订单号" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="工程编码" prop="enginNum">
-                <el-input v-model="screenForm.enginNum" placeholder="请输入工程编码"></el-input>
+                <el-input v-model="screenForm.enginNum" placeholder="请输入工程编码" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="工程登录编号" prop="loginNum">
-                <el-input v-model="screenForm.loginNum" placeholder="请输入工程登录编号"></el-input>
+                <el-input v-model="screenForm.loginNum" placeholder="请输入工程登录编号" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="行业类别" prop="refTradeCategory">
-                <el-input v-model="screenForm.refTradeCategory" placeholder="请输入项目名称"></el-input>
+                <el-input v-model="screenForm.refTradeCategory" placeholder="请输入项目名称" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
@@ -41,25 +41,25 @@
                   style="width: 100%;"
                   value-format="yyyy-MM-dd HH:mm:ss"
                   start-placeholder="开始日期"
-                  end-placeholder="结束日期">
-                </el-date-picker>
+                  end-placeholder="结束日期"
+                />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="销售类型" prop="saleType">
                 <el-select v-model="screenForm.saleType" placeholder="选择销售类型" style="width: 100%" clearable>
-                  <el-option v-for="item in salesTypeList" :key="item.id" :label="item.saleName" :value="item.id"></el-option>
+                  <el-option v-for="item in salesTypeList" :key="item.id" :label="item.saleName" :value="item.id" />
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="制单人" prop="createMan">
-                <el-input v-model="screenForm.createMan" placeholder="请输入制单人"></el-input>
+                <el-input v-model="screenForm.createMan" placeholder="请输入制单人" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="审核人" prop="examineMan">
-                <el-input v-model="screenForm.examineMan" placeholder="请输入审核人"></el-input>
+                <el-input v-model="screenForm.examineMan" placeholder="请输入审核人" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
@@ -69,75 +69,75 @@
                     v-for="item in salesmanList"
                     :key="item.adminUserId"
                     :label="item.nickName"
-                    :value="item.adminUserId">
-                  </el-option>
+                    :value="item.adminUserId"
+                  />
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="使用单位" prop="refUseUnit">
-                <el-input v-model="screenForm.refUseUnit" placeholder="请输入使用单位"></el-input>
+                <el-input v-model="screenForm.refUseUnit" placeholder="请输入使用单位" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="产品编码" prop="materialOldNumber">
-                <el-input v-model="screenForm.materialOldNumber" placeholder="请输入产品编码"></el-input>
+                <el-input v-model="screenForm.materialOldNumber" placeholder="请输入产品编码" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="规格型号" prop="specification">
-                <el-input v-model="screenForm.specification" placeholder="请输入规格型号"></el-input>
+                <el-input v-model="screenForm.specification" placeholder="请输入规格型号" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="经销商" prop="customerKeyword">
-                <el-input v-model="screenForm.customerKeyword" placeholder="请输入经销商"></el-input>
+                <el-input v-model="screenForm.customerKeyword" placeholder="请输入经销商" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="区域" prop="refRegionWork">
-                <el-input v-model="screenForm.refRegionWork" placeholder="请输入区域"></el-input>
+                <el-input v-model="screenForm.refRegionWork" placeholder="请输入区域" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="备注" prop="remark">
-                <el-input v-model="screenForm.remark" placeholder="备注"></el-input>
+                <el-input v-model="screenForm.remark" placeholder="备注" />
               </el-form-item>
             </el-col>
             <el-col v-if="!isCustomer" :xs="24" :sm="12" :lg="6">
               <el-form-item label="格力内部备注" prop="geLiInerNote">
-                <el-input v-model="screenForm.geLiInerNote" placeholder="格力内部备注"></el-input>
+                <el-input v-model="screenForm.geLiInerNote" placeholder="格力内部备注" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="跨区厂编号" prop="refFactoryNo">
-                <el-input v-model="screenForm.refFactoryNo" placeholder="跨区厂编号"></el-input>
+                <el-input v-model="screenForm.refFactoryNo" placeholder="跨区厂编号" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="购买单位" prop="refBuyUnitName">
-                <el-input v-model="screenForm.refBuyUnitName" placeholder="购买单位"></el-input>
+                <el-input v-model="screenForm.refBuyUnitName" placeholder="购买单位" />
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="保证函" prop="refPromiseProvide">
-                <el-select v-model="screenForm.refPromiseProvide"  placeholder="保证函" filterable style="width: 100%">
-                  <el-option label="全部" value=""></el-option>
-                  <el-option label="未保证" value="未保证"></el-option>
-                  <el-option label="已保证" value="已保证"></el-option>
+                <el-select v-model="screenForm.refPromiseProvide" placeholder="保证函" filterable style="width: 100%">
+                  <el-option label="全部" value="" />
+                  <el-option label="未保证" value="未保证" />
+                  <el-option label="已保证" value="已保证" />
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
               <el-form-item label="是否直调" prop="isDirectTransfer">
-                <el-select v-model="screenForm.isDirectTransfer" placeholder="选择是否直"   style="width: 100%">
-                  <el-option :value="null" label="默认"></el-option>
+                <el-select v-model="screenForm.isDirectTransfer" placeholder="选择是否直" style="width: 100%">
+                  <el-option :value="null" label="默认" />
                   <el-option
                     v-for="item in transfer"
                     :key="item.value"
                     :label="item.label"
-                    :value="item.value">
-                  </el-option>
+                    :value="item.value"
+                  />
                 </el-select>
               </el-form-item>
             </el-col>
@@ -154,11 +154,11 @@
       <div class="mymain-container">
         <div class="btn-group clearfix">
           <div class="fl">
-            <el-button size="mini" type="primary" icon="el-icon-plus" @click="toForm()" v-if="$checkBtnRole('add', $route.meta.roles)">新增</el-button>
-            <el-button size="mini" type="danger" icon="el-icon-minus" :disabled="multipleSelection.length < 1" @click="batchDelete()" v-if="$checkBtnRole('del', $route.meta.roles)">批量删除</el-button>
+            <el-button v-if="$checkBtnRole('add', $route.meta.roles)" size="mini" type="primary" icon="el-icon-plus" @click="toForm()">新增</el-button>
+            <el-button v-if="$checkBtnRole('del', $route.meta.roles)" size="mini" type="danger" icon="el-icon-minus" :disabled="multipleSelection.length < 1" @click="batchDelete()">批量删除</el-button>
           </div>
           <div class="fr">
-            <ExportButton :exUrl="'engin-order/export'" :exParams="exParams" />
+            <ExportButton :ex-url="'engin-order/export'" :ex-params="exParams" />
           </div>
         </div>
         <div class="table">
@@ -170,123 +170,123 @@
             fit
             highlight-current-row
             stripe
-            @selection-change="handleSelectionChange"
             show-summary
-            :summary-method="$getSummaries">
-            <el-table-column align="center" type="selection" width="55"></el-table-column>
+            :summary-method="$getSummaries"
+            @selection-change="handleSelectionChange"
+          >
+            <el-table-column align="center" type="selection" width="55" />
             <el-table-column align="left" label="审核状态" prop="examineStatus" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
-                {{scope.row.examineStatus | statusFilter}}
+                {{ scope.row.examineStatus | statusFilter }}
               </template>
             </el-table-column>
             <el-table-column align="left" label="工程订单号" prop="enginOrderNo" min-width="140" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.enginOrderNo" />
-                <span>{{scope.row.enginOrderNo}}</span>
+                <CopyButton :copy-text="scope.row.enginOrderNo" />
+                <span>{{ scope.row.enginOrderNo }}</span>
               </template>
             </el-table-column>
             <el-table-column align="left" label="订单日期" prop="orderDate" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
                 <div>
-                  <span>{{scope.row.orderDate}}</span>
-                  <el-button type="text" icon="el-icon-edit" style="padding: 0; margin-left: 4px" @click="editDate(scope.row)" v-if="$checkBtnRole('date', $route.meta.roles) && (scope.row.examineStatus === 'SAVE' || scope.row.examineStatus === 'WAIT')" ></el-button>
+                  <span>{{ scope.row.orderDate }}</span>
+                  <el-button v-if="$checkBtnRole('date', $route.meta.roles) && (scope.row.examineStatus === 'SAVE' || scope.row.examineStatus === 'WAIT')" type="text" icon="el-icon-edit" style="padding: 0; margin-left: 4px" @click="editDate(scope.row)" />
                 </div>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="制单日期" prop="createTime" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="制单人" prop="createName" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="制单日期" prop="createTime" min-width="160" show-overflow-tooltip />
+            <el-table-column align="left" label="制单人" prop="createName" min-width="100" show-overflow-tooltip />
             <el-table-column align="left" label="工程登录编号" prop="refEnginRecordNo" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.refEnginRecordNo" />
-                <span>{{scope.row.refEnginRecordNo}}</span>
+                <CopyButton :copy-text="scope.row.refEnginRecordNo" />
+                <span>{{ scope.row.refEnginRecordNo }}</span>
               </template>
             </el-table-column>
-            <el-table-column align="left" label="使用单位" prop="refUseUnit" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="购买单位" prop="refBuyUnitName" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="保证函" prop="refPromiseProvide" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="使用单位" prop="refUseUnit" min-width="160" show-overflow-tooltip />
+            <el-table-column align="left" label="购买单位" prop="refBuyUnitName" min-width="160" show-overflow-tooltip />
+            <el-table-column align="left" label="保证函" prop="refPromiseProvide" min-width="100" show-overflow-tooltip />
 
-            <el-table-column align="left" label="跨区厂编号" prop="refFactoryNo" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="区域" prop="refRegionWork" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="销售类型" prop="saleTypeName" min-width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="跨区厂编号" prop="refFactoryNo" min-width="160" show-overflow-tooltip />
+            <el-table-column align="left" label="区域" prop="refRegionWork" min-width="160" show-overflow-tooltip />
+            <el-table-column align="left" label="销售类型" prop="saleTypeName" min-width="120" show-overflow-tooltip />
             <el-table-column align="left" label="物料编码" prop="materialNumber" min-width="120" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.materialNumber" />
-                <span>{{scope.row.materialNumber}}</span>
+                <CopyButton :copy-text="scope.row.materialNumber" />
+                <span>{{ scope.row.materialNumber }}</span>
               </template>
             </el-table-column>
             <el-table-column align="left" label="产品编码" prop="materialOldNumber" min-width="140" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.materialOldNumber" />
-                <span>{{scope.row.materialOldNumber}}</span>
+                <CopyButton :copy-text="scope.row.materialOldNumber" />
+                <span>{{ scope.row.materialOldNumber }}</span>
               </template>
             </el-table-column>
             <el-table-column align="left" label="产品名称" prop="materialName" min-width="160" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.materialName" />
-                <span>{{scope.row.materialName}}</span>
+                <CopyButton :copy-text="scope.row.materialName" />
+                <span>{{ scope.row.materialName }}</span>
               </template>
             </el-table-column>
             <el-table-column align="left" label="规格型号" prop="specification" min-width="350" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.specification" />
-                <span>{{scope.row.specification}}</span>
+                <CopyButton :copy-text="scope.row.specification" />
+                <span>{{ scope.row.specification }}</span>
               </template>
             </el-table-column>
-            <el-table-column align="right" label="总数量" prop="qty" min-width="100" sortable show-overflow-tooltip></el-table-column>
+            <el-table-column align="right" label="总数量" prop="qty" min-width="100" sortable show-overflow-tooltip />
             <el-table-column align="right" label="单价" prop="price" min-width="100" sortable show-overflow-tooltip>
               <template slot-scope="scope">
-                {{scope.row.price | numToFixed}}
+                {{ scope.row.price | numToFixed }}
               </template>
             </el-table-column>
             <el-table-column align="right" label="订单金额" prop="totalAmount" min-width="110" sortable show-overflow-tooltip>
               <template slot-scope="scope">
-                {{scope.row.totalAmount | numToFixed}}
+                {{ scope.row.totalAmount | numToFixed }}
               </template>
             </el-table-column>
             <el-table-column align="right" label="实付金额" prop="payAmount" min-width="110" sortable show-overflow-tooltip>
               <template slot-scope="scope">
-                {{scope.row.payAmount | numToFixed}}
+                {{ scope.row.payAmount | numToFixed }}
               </template>
             </el-table-column>
 
             <el-table-column align="left" label="经销商编码" prop="customerNumber" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerNumber" />
+                <CopyButton :copy-text="scope.row.customerNumber" />
                 <span>{{ scope.row.customerNumber }}</span>
               </template>
             </el-table-column>
             <el-table-column align="left" label="经销商名称" prop="customerName" min-width="250" show-overflow-tooltip>
               <template slot-scope="scope">
-                <CopyButton :copyText="scope.row.customerName" />
+                <CopyButton :copy-text="scope.row.customerName" />
                 <span>{{ scope.row.customerName }}</span>
               </template>
             </el-table-column>
             <el-table-column align="right" label="发货数量" prop="retiredQty" min-width="110" sortable show-overflow-tooltip>
               <template slot-scope="scope">
-                {{scope.row.applySendQty }}
+                {{ scope.row.applySendQty }}
               </template>
             </el-table-column><el-table-column align="right" label="退货数量" prop="refundProductQty" min-width="110" sortable show-overflow-tooltip>
               <template slot-scope="scope">
-                {{scope.row.refundProductQty }}
+                {{ scope.row.refundProductQty }}
               </template>
             </el-table-column>
             <el-table-column align="left" label="是否直调" prop="isDirectTransfer" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
-                {{scope.row.isDirectTransfer ? '是':'否'}}
+                {{ scope.row.isDirectTransfer ? '是':'否' }}
               </template>
             </el-table-column>
-            <el-table-column align="right" label="直调数量" prop="directTransferQty" min-width="110" sortable show-overflow-tooltip></el-table-column>
-            <el-table-column align="right" label="出库数量" prop="hasSendQty" min-width="110" sortable show-overflow-tooltip></el-table-column>
+            <el-table-column align="right" label="直调数量" prop="directTransferQty" min-width="110" sortable show-overflow-tooltip />
+            <el-table-column align="right" label="出库数量" prop="hasSendQty" min-width="110" sortable show-overflow-tooltip />
 
-
-            <el-table-column align="left" label="行业类别" prop="refTradeCategory" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column v-if="!isCustomer" align="left" label="格力内部备注" prop="geLiInerNote" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="返利钱包" prop="customerWalletName2" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="行业类别" prop="refTradeCategory" min-width="160" show-overflow-tooltip />
+            <el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip />
+            <el-table-column v-if="!isCustomer" align="left" label="格力内部备注" prop="geLiInerNote" min-width="160" show-overflow-tooltip />
+            <el-table-column align="left" label="返利钱包" prop="customerWalletName2" min-width="100" show-overflow-tooltip />
             <el-table-column align="right" label="使用返利金额" prop="rebateAmount" min-width="120" show-overflow-tooltip>
               <template slot-scope="scope">
-                <div v-if="scope.row.examineStatus === 'OK'">{{scope.row.payRebateAmount | numToFixed}}</div>
-                <div v-else>{{scope.row.rebateAmount | numToFixed}}</div>
+                <div v-if="scope.row.examineStatus === 'OK'">{{ scope.row.payRebateAmount | numToFixed }}</div>
+                <div v-else>{{ scope.row.rebateAmount | numToFixed }}</div>
               </template>
             </el-table-column>
             <el-table-column align="right" label="格力折扣" prop="discAmount" min-width="110" sortable show-overflow-tooltip>
@@ -294,68 +294,76 @@
                 {{ scope.row.discAmount | numToFixed }}
               </template>
             </el-table-column>
-            <el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="表头业务员" prop="serviceName" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="表体业务员" prop="itemServiceName" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="审核人" prop="confirmName" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column align="left" label="审核日期" prop="confirmTime" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="备注" prop="remark" min-width="160" show-overflow-tooltip />
+            <el-table-column align="left" label="表头业务员" prop="serviceName" min-width="100" show-overflow-tooltip />
+            <el-table-column align="left" label="表体业务员" prop="itemServiceName" min-width="100" show-overflow-tooltip />
+            <el-table-column align="left" label="审核人" prop="confirmName" min-width="100" show-overflow-tooltip />
+            <el-table-column align="left" label="审核日期" prop="confirmTime" min-width="160" show-overflow-tooltip />
             <el-table-column align="left" label="订单类型" prop="enginOrderType" min-width="100" show-overflow-tooltip>
               <template slot-scope="scope">
-                {{scope.row.enginOrderType | typeFilter}}
+                {{ scope.row.enginOrderType | typeFilter }}
               </template>
             </el-table-column>
-            <el-table-column align="left" label="单位" prop="unit" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="单位" prop="unit" min-width="100" show-overflow-tooltip />
             <el-table-column align="center" label="操作" width="220" fixed="right">
               <template slot-scope="scope">
                 <el-popconfirm
+                  v-if="scope.row.examineStatus === 'SAVE'"
                   style="margin-right: 10px;"
                   title="确定申请吗?"
                   @onConfirm="handleSubmit(scope.row.parentId,scope.row)"
-                  v-if="scope.row.examineStatus === 'SAVE'" >
+                >
                   <el-button slot="reference" type="text">申请</el-button>
                 </el-popconfirm>
                 <el-popconfirm
+                  v-if="scope.row.examineStatus === 'WAIT'"
                   style="margin-right: 10px;"
                   title="确定撤回吗?"
                   @onConfirm="handleWithdraw(scope.row.parentId,scope.row)"
-                  v-if="scope.row.examineStatus === 'WAIT'" >
+                >
                   <el-button slot="reference" type="text">撤回</el-button>
                 </el-popconfirm>
                 <el-popconfirm
+                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'OK'"
                   style="margin-right: 10px;"
                   title="确定弃审吗?"
                   @onConfirm="handleAbandon(scope.row.parentId,scope.row)"
-                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'OK'" >
+                >
                   <el-button slot="reference" type="text">弃审</el-button>
                 </el-popconfirm>
                 <el-button
+                  v-if="$checkBtnRole('edit', $route.meta.roles) && (scope.row.examineStatus === 'SAVE' || scope.row.examineStatus === 'FAIL')"
                   type="text"
                   @click="toForm(scope.row)"
-                  v-if="$checkBtnRole('edit', $route.meta.roles) && (scope.row.examineStatus === 'SAVE' || scope.row.examineStatus === 'FAIL')">
+                >
                   编辑
                 </el-button>
                 <el-button
+                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'WAIT'"
                   type="text"
                   @click="toExamine(scope.row)"
-                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus === 'WAIT'">
+                >
                   审批
                 </el-button>
                 <el-button
+                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus !== 'FAIL'"
                   type="text"
                   @click="toReturn(scope.row)"
-                  v-if="$checkBtnRole('examine', $route.meta.roles) && scope.row.examineStatus !== 'FAIL'">
+                >
                   退订
                 </el-button>
                 <el-button
                   type="text"
-                  @click="toDetail(scope.row)">
+                  @click="toDetail(scope.row)"
+                >
                   详情
                 </el-button>
                 <el-popconfirm
+                  v-if="$checkBtnRole('del', $route.meta.roles) && scope.row.examineStatus !== 'OK'"
                   style="margin-left: 10px;"
                   title="确定删除吗?"
                   @onConfirm="handleDelete(scope.row.parentId,scope.row)"
-                  v-if="$checkBtnRole('del', $route.meta.roles) && scope.row.examineStatus !== 'OK'">
+                >
                   <el-button slot="reference" type="text" style="color: #f56c6c;">删除</el-button>
                 </el-popconfirm>
               </template>
@@ -366,36 +374,36 @@
       <div class="pagination clearfix">
         <div class="fr">
           <el-pagination
-            @size-change="handleSizeChange"
-            @current-change="handleCurrentChange"
             :current-page="currentPage"
             :page-sizes="[10, 20, 30, 50, 500]"
             :page-size="10"
             layout="total, sizes, prev, pager, next, jumper"
-            :total="listTotal">
-          </el-pagination>
+            :total="listTotal"
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+          />
         </div>
       </div>
     </div>
 
-    <EditDateDialog :isShow.sync="isShowEditDateDialog" :dateForm.sync="dateForm" />
+    <EditDateDialog :is-show.sync="isShowEditDateDialog" :date-form.sync="dateForm" />
 
-    <HomeDetail :listItem="queryItem" v-if="isShowDetail" @backListFormDetail="backList" />
-    <HomeForm :listItem="queryItem" v-if="isShowForm" @backListFormDetail="backList" />
-    <HomeExamine :listItem="queryItem" v-if="isShowExamine" @backListFormDetail="backList" />
-    <HomeReturn :listItem="queryItem" v-if="isShowReturn" @backListFormDetail="backList" />
+    <HomeDetail v-if="isShowDetail" :list-item="queryItem" @backListFormDetail="backList" />
+    <HomeForm v-if="isShowForm" :list-item="queryItem" @backListFormDetail="backList" />
+    <HomeExamine v-if="isShowExamine" :list-item="queryItem" @backListFormDetail="backList" />
+    <HomeReturn v-if="isShowReturn" :list-item="queryItem" @backListFormDetail="backList" />
 
   </div>
 </template>
 
 <script>
-import { getOrderList, applyHome, withdrawHome, deleteHome, editDateHome, abandonHome } from "@/api/supply/engin";
+import { getOrderList, applyHome, withdrawHome, deleteHome, editDateHome, abandonHome } from '@/api/supply/engin'
 import { getSalesmanList, getTypeList } from '@/api/common'
-import HomeDetail from "@/views/supply/engin/components/home_detail";
-import HomeForm from "@/views/supply/engin/components/home_form";
-import HomeExamine from "@/views/supply/engin/components/home_examine";
-import HomeReturn from "@/views/supply/engin/components/home_return";
-import EditDateDialog from "@/components/Common/edit-date-dialog";
+import HomeDetail from '@/views/supply/engin/components/home_detail'
+import HomeForm from '@/views/supply/engin/components/home_form'
+import HomeExamine from '@/views/supply/engin/components/home_examine'
+import HomeReturn from '@/views/supply/engin/components/home_return'
+import EditDateDialog from '@/components/Common/edit-date-dialog'
 
 let that
 export default {
@@ -404,19 +412,19 @@ export default {
     HomeForm,
     HomeExamine,
     HomeReturn,
-    EditDateDialog,
+    EditDateDialog
   },
   filters: {
     statusFilter(val) {
-      let obj = that.statusList.find(o => o.value === val);
+      const obj = that.statusList.find(o => o.value === val)
       return obj ? obj.label : ''
     },
     typeFilter(val) {
       const MAP = {
         TRADE: '商用',
-        HOME: '家用',
+        HOME: '家用'
       }
-      return MAP[val];
+      return MAP[val]
     }
   },
   data() {
@@ -447,20 +455,20 @@ export default {
         refFactoryNo: '',
         refBuyUnitName: '',
         refPromiseProvide: '',
-        isDirectTransfer:null
+        isDirectTransfer: null
 
       },
       statusList: [
         { label: '已保存', value: 'SAVE' },
         { label: '待审核', value: 'WAIT' },
-        { label: '审核通过', value: 'OK' },
+        { label: '审核通过', value: 'OK' }
         //  // { label: '审核驳回', value: 'FAIL' },,
         // { label: '已关闭', value: 'CLOSE' },
       ],
       salesmanList: [],
-      transfer:[
-        {label:'是',value:true},
-        {label:'否',value:false}
+      transfer: [
+        { label: '是', value: true },
+        { label: '否', value: false }
       ],
       multipleSelection: [],
 
@@ -473,17 +481,17 @@ export default {
       editId: null,
       isShowEditDateDialog: false,
       dateForm: {
-        date: '',
+        date: ''
       },
-      salesTypeList:[]
+      salesTypeList: []
     }
   },
 
   computed: {
     exParams() {
-      let ids = this.multipleSelection.map(item => {
-        return item.enginOrderNo;
-      });
+      const ids = this.multipleSelection.map(item => {
+        return item.enginOrderNo
+      })
       return {
         examineStatus: this.screenForm.status.join(','),
         enginOrderNo: (ids && ids.length) ? ids.join(',') : this.screenForm.orderNum,
@@ -506,9 +514,9 @@ export default {
         refFactoryNo: this.screenForm.refFactoryNo,
         refBuyUnitName: this.screenForm.refBuyUnitName,
         refPromiseProvide: this.screenForm.refPromiseProvide,
-        isDirectTransfer:this.screenForm.isDirectTransfer,
+        isDirectTransfer: this.screenForm.isDirectTransfer,
 
-        enginOrderType: 'HOME', // TRADE=商用 HOME=家用
+        enginOrderType: 'HOME' // TRADE=商用 HOME=家用
       }
     },
     isCustomer() {
@@ -517,13 +525,13 @@ export default {
   },
 
   beforeCreate() {
-    that = this;
+    that = this
   },
 
   created() {
-    this.getSalesTypeList();
-    this.getSalesmanList();
-    this.getList();
+    this.getSalesTypeList()
+    this.getSalesmanList()
+    this.getList()
   },
 
   methods: {
@@ -533,9 +541,9 @@ export default {
         pageNum: 1,
         pageSize: -1,
         isCustomer: 0,
-        status: true,
+        status: true
       }).then(res => {
-        this.salesmanList = res.data.records;
+        this.salesmanList = res.data.records
       })
     },
 
@@ -545,14 +553,14 @@ export default {
         pageNum: 1,
         pageSize: -1
       }).then((res) => {
-        this.salesTypeList = res.data.records;
+        this.salesTypeList = res.data.records
       })
     },
 
     // 查询列表
     getList() {
-      this.listLoading = true;
-      let params = {
+      this.listLoading = true
+      const params = {
         pageNum: this.currentPage,
         pageSize: this.pageSize,
         examineStatus: this.screenForm.status.join(','),
@@ -575,112 +583,114 @@ export default {
         geLiInerNote: this.screenForm.geLiInerNote,
         refFactoryNo: this.screenForm.refFactoryNo,
         refBuyUnitName: this.screenForm.refBuyUnitName,
-        isDirectTransfer:this.screenForm.isDirectTransfer,
+        isDirectTransfer: this.screenForm.isDirectTransfer,
 
         refPromiseProvide: this.screenForm.refPromiseProvide,
-        enginOrderType: 'HOME', // TRADE=商用 HOME=家用
-      };
+        enginOrderType: 'HOME' // TRADE=商用 HOME=家用
+      }
       getOrderList(params).then((res) => {
         res.data.records.forEach(item => {
-          item.sums1 = ['qty', 'directTransferQty', 'hasSendQty'];
-          item.sums2 = ['price', 'totalAmount', 'payAmount', 'discAmount'];
+          item.sums1 = ['qty', 'directTransferQty', 'hasSendQty']
+          item.sums2 = ['price', 'totalAmount', 'payAmount', 'discAmount']
         })
-        this.dataList = res.data.records;
-        this.listTotal = res.data.total;
-        this.listLoading = false;
+        this.dataList = res.data.records
+        this.listTotal = res.data.total
+        this.listLoading = false
       })
     },
 
     // 提交筛选表单
     submitScreenForm() {
-      this.currentPage = 1;
-      this.getList();
+      this.currentPage = 1
+      this.getList()
     },
 
     // 重置筛选表单
     resetScreenForm() {
-      this.$refs.screenForm.resetFields();
-      this.currentPage = 1;
-      this.getList();
+      this.$refs.screenForm.resetFields()
+      this.currentPage = 1
+      this.getList()
     },
 
     // 更改每页数量
     handleSizeChange(val) {
-      this.pageSize = val;
-      this.currentPage = 1;
-      this.getList();
+      this.pageSize = val
+      this.currentPage = 1
+      this.getList()
     },
 
     // 更改当前页
     handleCurrentChange(val) {
-      this.currentPage = val;
-      this.getList();
+      this.currentPage = val
+      this.getList()
     },
 
     // 进入表单
     toForm(item) {
-      this.queryItem = item;
-      this.isShowForm = true;
+      this.queryItem = item
+      this.isShowForm = true
     },
 
     // 进入审批
     toExamine(item) {
-      this.queryItem = item;
-      this.isShowExamine = true;
+      this.queryItem = item
+      this.isShowExamine = true
     },
 
     // 进入详情
     toDetail(item) {
-      this.queryItem = item;
-      this.isShowDetail = true;
+      this.queryItem = item
+      this.isShowDetail = true
     },
 
     // 进入退订
     toReturn(item) {
-      if(item.refundableQty <= 0) {
-        return this.$errorMsg('可退数量为0');
+      if (item.refundableQty <= 0) {
+        return this.$errorMsg('可退数量为0')
       }
-      this.queryItem = item;
-      this.isShowReturn = true;
+      this.queryItem = item
+      this.isShowReturn = true
     },
 
     backList() {
-      this.queryItem = {};
-      this.isShowDetail = false;
-      this.isShowForm = false;
-      this.isShowExamine = false;
-      this.isShowReturn = false;
+      this.queryItem = {}
+      this.isShowDetail = false
+      this.isShowForm = false
+      this.isShowExamine = false
+      this.isShowReturn = false
     },
 
     // 申请
-    handleSubmit(id,row) {
-      applyHome({id,refEnginRecordNo:row.refEnginRecordNo}).then(res => {
-        this.$successMsg();
-        this.getList();
+    handleSubmit(id, row) {
+      this.$confirm('发货时将暂扣工程押金,请确保钱包余额充足', '温馨提示').then(() => {
+        applyHome({ id, refEnginRecordNo: row.refEnginRecordNo }).then(res => {
+          this.$successMsg()
+          this.getList()
+        })
       })
     },
 
     // 撤回
-    handleWithdraw(id,row) {
-      withdrawHome({id,refEnginRecordNo:row.refEnginRecordNo}).then(res => {
-        this.$successMsg();
-        this.getList();
+    handleWithdraw(id, row) {
+      withdrawHome({ id, refEnginRecordNo: row.refEnginRecordNo }).then(res => {
+        this.$successMsg()
+        this.getList()
       })
     },
 
     // 弃审
-    handleAbandon(id,row) {
-      abandonHome({id,refEnginRecordNo:row.refEnginRecordNo}).then(res => {
-        this.$successMsg();
-        this.getList();
+    handleAbandon(id, row) {
+      abandonHome({ id, refEnginRecordNo: row.refEnginRecordNo }).then(res => {
+        this.$successMsg()
+        this.getList()
       })
     },
 
     // 删除
-    handleDelete(id,row) {
-      deleteHome({ids: id}).then(res => {
-        this.$successMsg();
-        this.getList();
+    handleDelete(id, row) {
+      deleteHome({ ids: id }).then(res => {
+        this.$successMsg()
+        this.getList()
       })
     },
 
@@ -691,38 +701,38 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        let ids = this.multipleSelection.map(item => {
-          return item.parentId;
-        });
-        deleteHome({ids: ids.join(',')}).then(res => {
-          this.$successMsg();
-          this.getList();
+        const ids = this.multipleSelection.map(item => {
+          return item.parentId
         })
-      }).catch(() => {});
+        deleteHome({ ids: ids.join(',') }).then(res => {
+          this.$successMsg()
+          this.getList()
+        })
+      }).catch(() => {})
     },
 
     handleSelectionChange(val) {
-      this.multipleSelection = val;
+      this.multipleSelection = val
     },
 
     // 打开 修改订单日期
     editDate(item) {
-      this.editId = item.parentId;
-      this.dateForm.date = item.orderDate.slice(0, 10);
-      this.isShowEditDateDialog = true;
+      this.editId = item.parentId
+      this.dateForm.date = item.orderDate.slice(0, 10)
+      this.isShowEditDateDialog = true
     },
 
     // 提交 修改订单日期
     submitDateForm() {
       editDateHome({
         enginOrderId: this.editId,
-        orderDate: this.dateForm.date + ' 00:00:00',
+        orderDate: this.dateForm.date + ' 00:00:00'
       }).then(res => {
-        this.isShowEditDateDialog = false;
-        this.getList();
-        this.$successMsg('修改成功');
+        this.isShowEditDateDialog = false
+        this.getList()
+        this.$successMsg('修改成功')
       })
-    },
+    }
 
   }
 }

Fichier diff supprimé car celui-ci est trop grand
+ 349 - 352
src/views/supply/policy/components/retail_form.vue


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff