wansfa 2 년 전
부모
커밋
384ec69ddb
3개의 변경된 파일93개의 추가작업 그리고 36개의 파일을 삭제
  1. 15 30
      README.md
  2. 77 5
      src/views/store/storeAfterSales/list.vue
  3. 1 1
      src/views/store/storeOrder/list.vue

+ 15 - 30
README.md

@@ -1,37 +1,22 @@
-# RTCrm_companyUI
 
 
-#### 介绍
-客户管理系统公司端UI
+# 安装依赖
+npm install
 
 
-#### 软件架构
-软件架构说明
+# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
+npm install --registry=https://registry.npm.taobao.org
 
 
+# 启动服务
+npm run dev
+```
 
 
-#### 安装教程
+浏览器访问 http://localhost:80
 
 
-1.  xxxx
-2.  xxxx
-3.  xxxx
+## 发布
 
 
-#### 使用说明
+```bash
+# 构建测试环境
+npm run build:stage
 
 
-1.  xxxx
-2.  xxxx
-3.  xxxx
-
-#### 参与贡献
-
-1.  Fork 本仓库
-2.  新建 Feat_xxx 分支
-3.  提交代码
-4.  新建 Pull Request
-
-
-#### 特技
-
-1.  使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
-2.  Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
-3.  你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
-4.  [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
-5.  Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
-6.  Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
+# 构建生产环境
+npm run build:prod
+```

+ 77 - 5
src/views/store/storeAfterSales/list.vue

@@ -1,9 +1,13 @@
 <template>
 <template>
   <div class="app-container">
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+    
+     <el-form-item label="所属部门" prop="deptId">
+        <treeselect style="width:220px" v-model="queryParams.deptId" :options="deptOptions" :show-count="true" placeholder="请选择所属部门" />
+     </el-form-item>
+
       <el-form-item label="订单单号" prop="orderCode">
       <el-form-item label="订单单号" prop="orderCode">
         <el-input
         <el-input
-          
           v-model="queryParams.orderCode"
           v-model="queryParams.orderCode"
           placeholder="请输入订单单号"
           placeholder="请输入订单单号"
           clearable
           clearable
@@ -11,6 +15,17 @@
           @keyup.enter.native="handleQuery"
           @keyup.enter.native="handleQuery"
         />
         />
       </el-form-item>
       </el-form-item>
+
+      <el-form-item label="运单号" prop="deliverySn">
+            <el-input
+                style="width:220px"
+                v-model="queryParams.deliverySn"
+                placeholder="请输入运单号"
+                clearable
+                size="small"
+                @keyup.enter.native="handleQuery" />
+      </el-form-item>
+
        <el-form-item label="员工姓名" prop="companyUserNickName">
        <el-form-item label="员工姓名" prop="companyUserNickName">
         <el-input
         <el-input
           
           
@@ -21,6 +36,20 @@
           @keyup.enter.native="handleQuery"
           @keyup.enter.native="handleQuery"
         />
         />
       </el-form-item>
       </el-form-item>
+
+       <el-form-item label="退款时间" prop="createTimeRange">  
+            <el-date-picker
+            style="width:220px"
+              clearable size="small"
+              v-model="dateRange"
+              type="daterange"
+              value-format="yyyy-MM-dd"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期">
+            </el-date-picker>
+          </el-form-item>
+
+
       <el-form-item label="状态" prop="status">
       <el-form-item label="状态" prop="status">
         <el-select  v-model="queryParams.status" placeholder="请选择状态" clearable size="small" >
         <el-select  v-model="queryParams.status" placeholder="请选择状态" clearable size="small" >
          <el-option
          <el-option
@@ -46,7 +75,19 @@
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
       </el-form-item>
     </el-form>
     </el-form>
-
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+                type="warning"
+              icon="el-icon-download"
+              size="mini"
+                @click="handleExport"
+             
+            >导出</el-button>
+          </el-col>
+         
+          <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
     <el-table  height="500" border v-loading="loading" :data="storeAfterSalesList" @selection-change="handleSelectionChange">
     <el-table  height="500" border v-loading="loading" :data="storeAfterSalesList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="ID" align="center" prop="id" />
       <el-table-column label="ID" align="center" prop="id" />
@@ -108,11 +149,18 @@
 <script>
 <script>
 import { listStoreAfterSales, getStoreAfterSales, delStoreAfterSales, addStoreAfterSales, updateStoreAfterSales, exportStoreAfterSales } from "@/api/store/storeAfterSales";
 import { listStoreAfterSales, getStoreAfterSales, delStoreAfterSales, addStoreAfterSales, updateStoreAfterSales, exportStoreAfterSales } from "@/api/store/storeAfterSales";
 import productAfterSalesOrder from "../components/productAfterSalesOrder";
 import productAfterSalesOrder from "../components/productAfterSalesOrder";
+import { treeselect } from "@/api/company/companyDept";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
 export default {
 export default {
-  components: { productAfterSalesOrder },
+  components: { productAfterSalesOrder,Treeselect },
   name: "StoreAfterSales",
   name: "StoreAfterSales",
   data() {
   data() {
     return {
     return {
+      // 部门树选项
+      deptOptions: undefined,
+      deptName: undefined,
       serviceTypeOptions:[],
       serviceTypeOptions:[],
       salesStatusOptions:[],
       salesStatusOptions:[],
       statusOptions:[],
       statusOptions:[],
@@ -130,6 +178,7 @@ export default {
       total: 0,
       total: 0,
       // 售后记录表格数据
       // 售后记录表格数据
       storeAfterSalesList: [],
       storeAfterSalesList: [],
+      dateRange:[],
       // 弹出层标题
       // 弹出层标题
       title: "",
       title: "",
       // 是否显示弹出层
       // 是否显示弹出层
@@ -153,7 +202,7 @@ export default {
         userId: null,
         userId: null,
         consignee: null,
         consignee: null,
         phoneNumber: null,
         phoneNumber: null,
-        address: null
+        address: null,
       },
       },
       // 表单参数
       // 表单参数
       form: {},
       form: {},
@@ -161,8 +210,15 @@ export default {
       rules: {
       rules: {
       }
       }
     };
     };
+  },
+   watch: {
+    // 根据名称筛选部门树
+    deptName(val) {
+        this.$refs.tree.filter(val);
+      },
   },
   },
   created() {
   created() {
+    this.getTreeselect();
     this.getDicts("store_after_sales_sales_status").then((response) => {
     this.getDicts("store_after_sales_sales_status").then((response) => {
         this.salesStatusOptions = response.data;
         this.salesStatusOptions = response.data;
     });
     });
@@ -176,6 +232,22 @@ export default {
     this.getList();
     this.getList();
   },
   },
   methods: {
   methods: {
+    /** 查询部门下拉树结构 */
+     getTreeselect() {
+      treeselect().then((response) => {
+        this.deptOptions = response.data;
+      });
+    },
+    // 筛选节点
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.label.indexOf(value) !== -1;
+    },
+    // 节点单击事件
+    handleNodeClick(data) {
+      this.queryParams.deptId = data.id;
+      this.getList();
+    },
     handleShow(row){
     handleShow(row){
       this.title="售后订单"
       this.title="售后订单"
       this.open=true;
       this.open=true;
@@ -188,7 +260,7 @@ export default {
     /** 查询售后记录列表 */
     /** 查询售后记录列表 */
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
-      listStoreAfterSales(this.queryParams).then(response => {
+      listStoreAfterSales(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
         this.storeAfterSalesList = response.rows;
         this.storeAfterSalesList = response.rows;
         this.total = response.total;
         this.total = response.total;
         this.loading = false;
         this.loading = false;

+ 1 - 1
src/views/store/storeOrder/list.vue

@@ -130,7 +130,7 @@
               icon="el-icon-download"
               icon="el-icon-download"
               size="mini"
               size="mini"
                 @click="handleExport"
                 @click="handleExport"
-              v-hasPermi="['store:storeOrder:export']"
+             
             >导出订单</el-button>
             >导出订单</el-button>
           </el-col>
           </el-col>
           <el-col :span="1.5">
           <el-col :span="1.5">