Prechádzať zdrojové kódy

前端bug提交 7.28 zyp

阿拉蕾 1 rok pred
rodič
commit
f8224330d5

+ 8 - 1
src/api/crm/customer.js

@@ -117,6 +117,13 @@ export function getCustomer(customerId) {
   })
 }
 
+export function getCustomer1(customerId) {
+  return request({
+    url: '/crm/customer/query1/' + customerId,
+    method: 'get'
+  })
+}
+
 
 
 
@@ -143,4 +150,4 @@ export function delCustomer(customerId) {
     url: '/crm/customer/' + customerId,
     method: 'delete'
   })
-}
+}

+ 18 - 9
src/views/company/companyMoneyLogs/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      
+
       <el-form-item label="公司名" prop="companyId">
           <el-select filterable  style="width: 220px" v-model="queryParams.companyId" placeholder="请选择公司名" clearable size="small">
               <el-option
@@ -34,7 +34,7 @@
           />
       </el-form-item>
 
-      <el-form-item label="收件人手机号" label-width="120px" prop="userPhone" v-if="queryParams.logsType==4 || queryParams.logsType==5">  
+      <el-form-item label="收件人手机号" label-width="120px" prop="userPhone" v-if="queryParams.logsType==4 || queryParams.logsType==5">
           <el-input
             v-model="queryParams.userPhone"
             placeholder="请输入收件人手机号"
@@ -43,7 +43,7 @@
             @keyup.enter.native="handleQuery"
           />
       </el-form-item>
-      
+
       <el-form-item label="交易单号" prop="tradeCode" v-if="queryParams.logsType==4 || queryParams.logsType==5 || queryParams.logsType==8 || queryParams.logsType==9">
           <el-input
             v-model="queryParams.tradeCode"
@@ -53,7 +53,16 @@
             @keyup.enter.native="handleQuery"
           />
       </el-form-item>
- 
+      <el-form-item label="付款单号" prop="payCode" v-if="queryParams.logsType==4 || queryParams.logsType==5 || queryParams.logsType==8 || queryParams.logsType==9">
+        <el-input
+          v-model="queryParams.payCode"
+          placeholder="请输入付款单号"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+
       <el-form-item label="开始时间" prop="startTime">
          <el-date-picker v-model="dateRange" size="small" style="width: 220px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
       </el-form-item>
@@ -65,7 +74,7 @@
     </el-form>
 
     <el-row :gutter="10" class="mb8">
-      
+
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -102,7 +111,7 @@
       <el-table-column label="商城订单号" align="center" prop="orderCode"  v-if="queryParams.logsType==4 || queryParams.logsType==5"  />
       <el-table-column label="交易单号" align="center" prop="bankTransactionId"  v-if="queryParams.logsType==4 || queryParams.logsType==5 || queryParams.logsType==8 || queryParams.logsType==9 " />
       <el-table-column label="支付类型" align="center" prop="payTypeCode"  v-if="queryParams.logsType==4 || queryParams.logsType==5 || queryParams.logsType==8 || queryParams.logsType==9 " />
-    
+
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="创建时间" align="center" prop="createTime" width="180">
         <template slot-scope="scope">
@@ -125,7 +134,7 @@
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -170,7 +179,7 @@ export default {
   name: "CompanyMoneyLogs",
   data() {
     return {
-      
+
       show:{
         open:false,
         title:"订单详情"
@@ -219,7 +228,7 @@ export default {
     });
     getCompanyList().then(response => {
       this.companys = response.data;
-       
+
     });
     this.getList();
   },

+ 135 - 281
src/views/company/companyOperLog/index.vue

@@ -1,118 +1,79 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="模块标题" prop="title">
-        <el-input
-        style="width: 220px"
-          v-model="queryParams.title"
-          placeholder="请输入模块标题"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="业务类型" prop="businessType">
-        <el-select style="width: 220px" v-model="queryParams.businessType" placeholder="请选择业务类型" clearable size="small">
-          <el-option label="请选择字典生成" value="" />
+      <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+        <el-form-item label="公司名" prop="companyId">
+          <el-select filterable style="width: 220px" v-model="queryParams.companyId" placeholder="请选择公司名" clearable size="small">
+              <el-option
+                v-for="item in companys"
+                :key="item.companyId"
+                :label="item.companyName"
+                :value="item.companyId"
+              />
         </el-select>
       </el-form-item>
-      <el-form-item label="方法名称" prop="method">
+      <el-form-item label="系统模块" prop="title">
         <el-input
-        style="width: 220px"
-          v-model="queryParams.method"
-          placeholder="请输入方法名称"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="请求方式" prop="requestMethod">
-        <el-input
-          style="width: 220px"
-          v-model="queryParams.requestMethod"
-          placeholder="请输入请求方式"
+          v-model="queryParams.title"
+          placeholder="请输入系统模块"
           clearable
+
           size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="操作类别" prop="operatorType">
-        <el-select style="width: 220px" v-model="queryParams.operatorType" placeholder="请选择操作类别" clearable size="small">
-          <el-option label="请选择字典生成" value="" />
-        </el-select>
-      </el-form-item>
       <el-form-item label="操作人员" prop="operName">
         <el-input
-        style="width: 220px"
           v-model="queryParams.operName"
           placeholder="请输入操作人员"
           clearable
+
           size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="部门名称" prop="deptName">
-        <el-input
-        style="width: 220px"
-          v-model="queryParams.deptName"
-          placeholder="请输入部门名称"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="请求URL" prop="operUrl">
-        <el-input
-        style="width: 220px"
-          v-model="queryParams.operUrl"
-          placeholder="请输入请求URL"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="主机地址" prop="operIp">
-        <el-input
-        style="width: 220px"
-          v-model="queryParams.operIp"
-          placeholder="请输入主机地址"
+      <el-form-item label="类型" prop="businessType">
+        <el-select
+          v-model="queryParams.businessType"
+          placeholder="操作类型"
           clearable
           size="small"
-          @keyup.enter.native="handleQuery"
-        />
+
+        >
+          <el-option
+            v-for="dict in typeOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
       </el-form-item>
-      <el-form-item label="操作地点" prop="operLocation">
-        <el-input
-        style="width: 220px"
-          v-model="queryParams.operLocation"
-          placeholder="请输入操作地点"
+      <el-form-item label="状态" prop="status">
+        <el-select
+          v-model="queryParams.status"
+          placeholder="操作状态"
           clearable
           size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="操作状态" prop="status">
-        <el-select style="width: 220px" v-model="queryParams.status" placeholder="请选择操作状态" clearable size="small">
-          <el-option label="请选择字典生成" value="" />
+
+        >
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
         </el-select>
       </el-form-item>
-      <el-form-item label="操作时间" prop="operTime">
-        <el-date-picker clearable size="small" style="width: 220px"
-          v-model="queryParams.operTime"
-          type="date"
-          value-format="yyyy-MM-dd"
-          placeholder="选择操作时间">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="操作时间" prop="companyId">
-        <el-input
-        style="width: 220px"
-          v-model="queryParams.companyId"
-          placeholder="请输入操作时间"
-          clearable
+      <el-form-item label="操作时间">
+        <el-date-picker
+          v-model="dateRange"
           size="small"
-          @keyup.enter.native="handleQuery"
-        />
+          style="width: 205.4px"
+          value-format="yyyy-MM-dd"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+        ></el-date-picker>
       </el-form-item>
       <el-form-item>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -121,35 +82,6 @@
     </el-form>
 
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['company:companyOperLog:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['company:companyOperLog:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['company:companyOperLog:remove']"
-        >删除</el-button>
-      </el-col>
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -164,21 +96,15 @@
 
     <el-table v-loading="loading" :data="companyOperLogList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="日志主键" align="center" prop="operId" />
-      <el-table-column label="模块标题" align="center" prop="title" />
-      <el-table-column label="业务类型" align="center" prop="businessType" />
-      <el-table-column label="方法名称" align="center" prop="method" />
+      <el-table-column label="日志编号" align="center" prop="operId" />
+      <el-table-column label="公司" align="center" prop="companyName" />
+      <el-table-column label="系统模块" align="center" prop="title" />
+      <el-table-column label="操作类型" align="center" prop="businessType" :formatter="typeFormat" />
       <el-table-column label="请求方式" align="center" prop="requestMethod" />
-      <el-table-column label="操作类别" align="center" prop="operatorType" />
       <el-table-column label="操作人员" align="center" prop="operName" />
-      <el-table-column label="部门名称" align="center" prop="deptName" />
-      <el-table-column label="请求URL" align="center" prop="operUrl" />
-      <el-table-column label="主机地址" align="center" prop="operIp" />
-      <el-table-column label="操作地点" align="center" prop="operLocation" />
-      <el-table-column label="请求参数" align="center" prop="operParam" />
-      <el-table-column label="返回参数" align="center" prop="jsonResult" />
-      <el-table-column label="操作状态" align="center" prop="status" />
-      <el-table-column label="错误消息" align="center" prop="errorMsg" />
+      <el-table-column label="主机" align="center" prop="operIp" width="130" :show-overflow-tooltip="true" />
+      <el-table-column label="操作地点" align="center" prop="operLocation" :show-overflow-tooltip="true" />
+      <el-table-column label="操作状态" align="center" prop="status" :formatter="statusFormat" />
       <el-table-column label="操作时间" align="center" prop="operTime" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.operTime, '{y}-{m}-{d}') }}</span>
@@ -186,25 +112,18 @@
       </el-table-column>
       <el-table-column label="操作时间" align="center" prop="companyId" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
+                <template slot-scope="scope">
           <el-button
             size="mini"
             type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['company:companyOperLog:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['company:companyOperLog:remove']"
-          >删除</el-button>
+            icon="el-icon-view"
+            @click="handleView(scope.row,scope.index)"
+            v-hasPermi="['company:companyOperLog:query']"
+          >详细</el-button>
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -213,80 +132,53 @@
       @pagination="getList"
     />
 
-    <!-- 添加或修改操作日志记录对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="模块标题" prop="title">
-          <el-input v-model="form.title" placeholder="请输入模块标题" />
-        </el-form-item>
-        <el-form-item label="业务类型" prop="businessType">
-          <el-select v-model="form.businessType" placeholder="请选择业务类型">
-            <el-option label="请选择字典生成" value="" />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="方法名称" prop="method">
-          <el-input v-model="form.method" placeholder="请输入方法名称" />
-        </el-form-item>
-        <el-form-item label="请求方式" prop="requestMethod">
-          <el-input v-model="form.requestMethod" placeholder="请输入请求方式" />
-        </el-form-item>
-        <el-form-item label="操作类别" prop="operatorType">
-          <el-select v-model="form.operatorType" placeholder="请选择操作类别">
-            <el-option label="请选择字典生成" value="" />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="操作人员" prop="operName">
-          <el-input v-model="form.operName" placeholder="请输入操作人员" />
-        </el-form-item>
-        <el-form-item label="部门名称" prop="deptName">
-          <el-input v-model="form.deptName" placeholder="请输入部门名称" />
-        </el-form-item>
-        <el-form-item label="请求URL" prop="operUrl">
-          <el-input v-model="form.operUrl" placeholder="请输入请求URL" />
-        </el-form-item>
-        <el-form-item label="主机地址" prop="operIp">
-          <el-input v-model="form.operIp" placeholder="请输入主机地址" />
-        </el-form-item>
-        <el-form-item label="操作地点" prop="operLocation">
-          <el-input v-model="form.operLocation" placeholder="请输入操作地点" />
-        </el-form-item>
-        <el-form-item label="请求参数" prop="operParam">
-          <el-input v-model="form.operParam" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="返回参数" prop="jsonResult">
-          <el-input v-model="form.jsonResult" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="操作状态">
-          <el-radio-group v-model="form.status">
-            <el-radio label="1">请选择字典生成</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="错误消息" prop="errorMsg">
-          <el-input v-model="form.errorMsg" type="textarea" placeholder="请输入内容" />
-        </el-form-item>
-        <el-form-item label="操作时间" prop="operTime">
-          <el-date-picker clearable size="small" style="width: 200px"
-            v-model="form.operTime"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="选择操作时间">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="操作时间" prop="companyId">
-          <el-input v-model="form.companyId" placeholder="请输入操作时间" />
-        </el-form-item>
+    <!-- 操作日志详细 -->
+    <el-dialog title="操作日志详细" :visible.sync="open" width="700px" append-to-body>
+      <el-form ref="form" :model="form" label-width="100px" size="mini">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="操作模块:">{{ form.title }} / {{ typeFormat(form) }}</el-form-item>
+            <el-form-item
+              label="登录信息:"
+            >{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="请求地址:">{{ form.operUrl }}</el-form-item>
+            <el-form-item label="请求方式:">{{ form.requestMethod }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="操作方法:">{{ form.method }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="请求参数:">{{ form.operParam }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="返回参数:">{{ form.jsonResult }}</el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="操作状态:">
+              <div v-if="form.status === 0">正常</div>
+              <div v-else-if="form.status === 1">失败</div>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="操作时间:">{{ parseTime(form.operTime) }}</el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
+        <el-button @click="open = false">关 闭</el-button>
       </div>
     </el-dialog>
   </div>
 </template>
 
 <script>
-import { listCompanyOperLog, getCompanyOperLog, delCompanyOperLog, addCompanyOperLog, updateCompanyOperLog, exportCompanyOperLog } from "@/api/company/companyOperLog";
-
+import { listCompanyOperLog,  delCompanyOperLog, addCompanyOperLog, updateCompanyOperLog, exportCompanyOperLog } from "@/api/company/companyOperLog";
+import { getCompanyList } from "@/api/company/company";
 export default {
   name: "CompanyOperLog",
   data() {
@@ -295,6 +187,13 @@ export default {
       loading: true,
       // 选中数组
       ids: [],
+      companys:[],
+      // 类型数据字典
+      typeOptions: [],
+      // 类型数据字典
+      statusOptions: [],
+      // 日期范围
+      dateRange: [],
       // 非单个禁用
       single: true,
       // 非多个禁用
@@ -313,73 +212,58 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        title: null,
-        businessType: null,
-        method: null,
-        requestMethod: null,
-        operatorType: null,
-        operName: null,
-        deptName: null,
-        operUrl: null,
-        operIp: null,
-        operLocation: null,
-        operParam: null,
-        jsonResult: null,
-        status: null,
-        errorMsg: null,
-        operTime: null,
-        companyId: null
+        title: undefined,
+        operName: undefined,
+        businessType: undefined,
+        status: undefined
       },
       // 表单参数
       form: {},
-      // 表单校验
-      rules: {
-      }
     };
   },
   created() {
+    getCompanyList().then(response => {
+      this.companys = response.data;
+    });
     this.getList();
+    this.getDicts("sys_oper_type").then(response => {
+      this.typeOptions = response.data;
+    });
+    this.getDicts("sys_common_status").then(response => {
+      this.statusOptions = response.data;
+    });
   },
   methods: {
     /** 查询操作日志记录列表 */
     getList() {
       this.loading = true;
-      listCompanyOperLog(this.queryParams).then(response => {
+      listCompanyOperLog(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
         this.companyOperLogList = response.rows;
         this.total = response.total;
         this.loading = false;
       });
     },
+    // 操作日志状态字典翻译
+    statusFormat(row, column) {
+      return this.selectDictLabel(this.statusOptions, row.status);
+    },
+    // 操作日志类型字典翻译
+    typeFormat(row, column) {
+      return this.selectDictLabel(this.typeOptions, row.businessType);
+    },
     // 取消按钮
     cancel() {
       this.open = false;
       this.reset();
     },
-    // 表单重置
-    reset() {
-      this.form = {
-        operId: null,
-        title: null,
-        businessType: null,
-        method: null,
-        requestMethod: null,
-        operatorType: null,
-        operName: null,
-        deptName: null,
-        operUrl: null,
-        operIp: null,
-        operLocation: null,
-        operParam: null,
-        jsonResult: null,
-        status: 0,
-        errorMsg: null,
-        operTime: null,
-        companyId: null
-      };
-      this.resetForm("form");
+    /** 详细按钮操作 */
+    handleView(row) {
+      this.open = true;
+      this.form = row;
     },
     /** 搜索按钮操作 */
     handleQuery() {
+      this.dateRange = [];
       this.queryParams.pageNum = 1;
       this.getList();
     },
@@ -394,12 +278,6 @@ export default {
       this.single = selection.length!==1
       this.multiple = !selection.length
     },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.reset();
-      this.open = true;
-      this.title = "添加操作日志记录";
-    },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
@@ -410,30 +288,6 @@ export default {
         this.title = "修改操作日志记录";
       });
     },
-    /** 提交按钮 */
-    submitForm() {
-      this.$refs["form"].validate(valid => {
-        if (valid) {
-          if (this.form.operId != null) {
-            updateCompanyOperLog(this.form).then(response => {
-              if (response.code === 200) {
-                this.msgSuccess("修改成功");
-                this.open = false;
-                this.getList();
-              }
-            });
-          } else {
-            addCompanyOperLog(this.form).then(response => {
-              if (response.code === 200) {
-                this.msgSuccess("新增成功");
-                this.open = false;
-                this.getList();
-              }
-            });
-          }
-        }
-      });
-    },
     /** 删除按钮操作 */
     handleDelete(row) {
       const operIds = row.operId || this.ids;

+ 47 - 4
src/views/company/companySmsLogs/index.vue

@@ -2,7 +2,7 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="公司名" prop="companyId">
-          <el-select filterable style="width: 220px" v-model="queryParams.companyId" placeholder="请选择公司名" clearable size="small">
+          <el-select filterable style="width: 220px" v-model="queryParams.companyId" placeholder="请选择公司名" @change="companyChange" clearable size="small">
               <el-option
                 v-for="item in companys"
                 :key="item.companyId"
@@ -11,6 +11,18 @@
               />
         </el-select>
       </el-form-item>
+
+
+      <el-form-item label="员工姓名" prop="userNickName">
+        <el-input
+        style="width: 220px"
+          v-model="queryParams.userNickName"
+          placeholder="请输入员工姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item label="手机号" prop="phone">
         <el-input
         style="width: 220px"
@@ -75,6 +87,12 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="ID" align="center" prop="logsId" />
       <el-table-column label="企业" align="center" show-overflow-tooltip  prop="companyName" />
+      <el-table-column label="客户id" align="center" prop="customerId" v-if="false"/>
+      <el-table-column  label="客户名称"   align="center" prop="customerName" :show-overflow-tooltip="true">
+            <template slot-scope="scope">
+              <el-link @click="handleShow(scope.row)"  type="primary" v-hasPermi="['crm:customer:query']" >{{scope.row.customerName}}</el-link>
+            </template>
+          </el-table-column>
       <el-table-column label="客户编码" align="center" show-overflow-tooltip  prop="customerNo" />
       <el-table-column label="模板CODE" width="120px" show-overflow-tooltip align="center" prop="tempCode" />
       <el-table-column label="手机号" align="center"  width="150px" prop="phone" />
@@ -104,7 +122,7 @@
         </template>
       </el-table-column> -->
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -113,20 +131,36 @@
       @pagination="getList"
     />
 
-    
+    <el-drawer
+      size="75%"
+      :title="show.title" :visible.sync="show.open"
+      >
+        <customer-details  ref="customerDetails" />
+    </el-drawer>
+
+
   </div>
 </template>
 
 <script>
 import { listCompanySmsLogs, getCompanySmsLogs, delCompanySmsLogs, addCompanySmsLogs, updateCompanySmsLogs, exportCompanySmsLogs } from "@/api/company/companySmsLogs";
 import { getCompanyList } from "@/api/company/company";
+import customerDetails from "@/views/crm/components/customerDetails.vue";
+
+
 export default {
+  components: { customerDetails },
   name: "CompanySmsLogs",
+
   data() {
     return {
       dateRange:[],
       companys:[],
       statusOptions:[],
+      show:{
+        title:"客户详情",
+        open:false,
+      },
       // 遮罩层
       loading: true,
       // 选中数组
@@ -172,11 +206,18 @@ export default {
     });
     getCompanyList().then(response => {
       this.companys = response.data;
-       
+
     });
     this.getList();
   },
   methods: {
+    handleShow(row){
+      var that=this;
+      that.show.open=true;
+      setTimeout(() => {
+          that.$refs.customerDetails.getDetails(row.customerId);
+      }, 200);
+    },
     /** 查询短信发送记录列表 */
     getList() {
       this.loading = true;
@@ -279,6 +320,8 @@ export default {
           this.msgSuccess("删除成功");
         }).catch(function() {});
     },
+
+
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;

+ 20 - 79
src/views/company/companyVoice/index.vue

@@ -1,33 +1,15 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="公司ID" prop="companyId">
-        <el-input
-        
-          v-model="queryParams.companyId"
-          placeholder="请输入公司ID"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="剩余时长 分" prop="times">
-        <el-input
-          v-model="queryParams.times"
-          placeholder="请输入剩余时长 分"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="累计时长 分" prop="totalTimes">
-        <el-input
-          v-model="queryParams.totalTimes"
-          placeholder="请输入累计时长 分"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label="公司名" prop="companyId">
+          <el-select filterable style="width: 220px" v-model="queryParams.companyId" placeholder="请选择公司名" clearable size="small">
+              <el-option
+                v-for="item in companys"
+                :key="item.companyId"
+                :label="item.companyName"
+                :value="item.companyId"
+              />
+        </el-select>
       </el-form-item>
       <el-form-item>
         <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -36,35 +18,6 @@
     </el-form>
 
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['company:companyVoice:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['company:companyVoice:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['company:companyVoice:remove']"
-        >删除</el-button>
-      </el-col>
       <el-col :span="1.5">
         <el-button
           type="warning"
@@ -80,29 +33,12 @@
     <el-table  height="500" border v-loading="loading" :data="companyVoiceList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="ID" align="center" prop="voiceId" />
-      <el-table-column label="公司ID" align="center" prop="companyId" />
-      <el-table-column label="剩余时长 分" align="center" prop="times" />
-      <el-table-column label="累计时长 分" align="center" prop="totalTimes" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['company:companyVoice:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['company:companyVoice:remove']"
-          >删除</el-button>
-        </template>
-      </el-table-column>
+      <el-table-column label="公司" align="center" prop="companyName" />
+      <el-table-column label="总时长 (分)" align="center" prop="totalTimes" />
+      <el-table-column label="使用时长 (分)" align="center" prop="useTimes" />
+      <el-table-column label="剩余时长 (分)" align="center" prop="times" />
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -134,11 +70,12 @@
 
 <script>
 import { listCompanyVoice, getCompanyVoice, delCompanyVoice, addCompanyVoice, updateCompanyVoice, exportCompanyVoice } from "@/api/company/companyVoice";
-
+import { getCompanyList } from "@/api/company/company";
 export default {
   name: "CompanyVoice",
   data() {
     return {
+      companys:[],
       // 遮罩层
       loading: true,
       // 选中数组
@@ -174,6 +111,10 @@ export default {
   },
   created() {
     this.getList();
+    getCompanyList().then(response => {
+      this.companys = response.data;
+
+    });
   },
   methods: {
     /** 查询企业通话列表 */

+ 40 - 12
src/views/company/companyVoiceLogs/index.vue

@@ -14,7 +14,7 @@
      <el-form-item >
           <treeselect style="width: 220px" :clearable="false"  v-model="queryParams.deptId"  :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
      </el-form-item>
-      
+
        <el-form-item label="员工姓名" prop="userNickName">
         <el-input
         style="width: 220px"
@@ -36,7 +36,7 @@
         />
       </el-form-item>
       <el-form-item label="被叫" prop="calleePhone">
-        <el-input 
+        <el-input
           style="width: 220px"
           v-model="queryParams.calleePhone"
           placeholder="请输入被叫"
@@ -97,13 +97,14 @@
     </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"
+          :disabled="!isFilterComplete"
           v-hasPermi="['company:companyVoiceLogs:export']"
         >导出</el-button>
       </el-col>
@@ -115,6 +116,12 @@
       <el-table-column label="ID" align="center" prop="voiceId" />
       <el-table-column label="公司名" align="center" prop="companyName" />
       <el-table-column label="员工姓名" align="center" prop="userNickName" />
+      <el-table-column label="客户id" align="center" prop="customerId" v-if="false"/>
+      <el-table-column  label="客户名称"   align="center" prop="customerName" :show-overflow-tooltip="true">
+            <template slot-scope="scope">
+              <el-link @click="handleShow(scope.row)"  type="primary" v-hasPermi="['crm:customer:query']" >{{scope.row.customerName}}</el-link>
+            </template>
+          </el-table-column>
        <el-table-column label="录制地址" align="center"  show-overflow-tooltip prop="voiceUrl" width="350">
           <template slot-scope="scope">
             <audio  v-if="scope.row.voiceUrl!=null"   controls :src="scope.row.voiceUrl"></audio>
@@ -153,7 +160,7 @@
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -161,14 +168,21 @@
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
     />
- 
-     
+    <el-drawer
+      size="75%"
+      :title="show.title" :visible.sync="show.open"
+      >
+        <customer-details  ref="customerDetails" />
+    </el-drawer>
+
+
   </div>
 </template>
 
 <script>
 import { listCompanyVoiceLogs, getCompanyVoiceLogs, delCompanyVoiceLogs, addCompanyVoiceLogs, updateCompanyVoiceLogs, exportCompanyVoiceLogs } from "@/api/company/companyVoiceLogs";
 import { getCompanyList } from "@/api/company/company";
+import customerDetails from "@/views/crm/components/customerDetails.vue";
 
 import { treeselect } from "@/api/company/companyDept";
 import Treeselect from "@riophae/vue-treeselect";
@@ -176,7 +190,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
   name: "CompanyVoiceLogs",
-  components: { Treeselect },
+  components: { Treeselect, customerDetails },
   watch: {
     // 监听deptId
     'deptId': 'currDeptChange'
@@ -187,6 +201,10 @@ export default {
       statusOptions:[],
       companys:[],
       deptOptions:[],
+      show:{
+        title:"客户详情",
+        open:false,
+      },
       // 遮罩层
       loading: true,
       // 选中数组
@@ -195,6 +213,7 @@ export default {
       single: true,
       // 非多个禁用
       multiple: true,
+      isFilterComplete: false,
       // 显示搜索条件
       showSearch: true,
       // 总条数
@@ -249,11 +268,18 @@ export default {
        if(this.companys!=null&&this.companys.length>0){
           this.companyId=this.companys[0].companyId;
           this.getTreeselect();
-        } 
+        }
     });
     this.getList();
   },
   methods: {
+     handleShow(row){
+      var that=this;
+      that.show.open=true;
+      setTimeout(() => {
+          that.$refs.customerDetails.getDetails(row.customerId);
+      }, 200);
+    },
     formatTime(value) {
       const hours = Math.floor(value / 3600);
       const minutes = Math.floor((value % 3600) / 60);
@@ -265,7 +291,7 @@ export default {
       }else{
         return `${hours}小时${minutes}分钟${seconds}秒`;
       }
-      
+
     },
     /** 查询通话记录列表 */
     getList() {
@@ -284,7 +310,7 @@ export default {
       }
 
       listCompanyVoiceLogs(this.queryParams).then(response => {
-        this.companyVoiceLogsList = response.rows;       
+        this.companyVoiceLogsList = response.rows;
         this.total = response.total;
         this.loading = false;
       });
@@ -318,11 +344,13 @@ export default {
     /** 搜索按钮操作 */
     handleQuery() {
       this.queryParams.pageNum = 1;
+      this.isFilterComplete = true;
       this.getList();
     },
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.isFilterComplete = false;
       this.handleQuery();
     },
     // 多选框选中数据
@@ -388,7 +416,7 @@ export default {
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所通话记录数据项?', "警告", {
+      this.$confirm('是否确认导出所筛选通话记录数据项?', "警告", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning"
@@ -419,7 +447,7 @@ export default {
           console.log(val)
           this.queryParams.deptId=val;
           this.getList();
-    }, 
+    },
 
   }
 };

+ 9 - 9
src/views/company/statistics/smsLogs.vue

@@ -25,13 +25,13 @@
                         />
                   </el-select>
                 </el-form-item>
-                
+
                 <el-form-item >
                   <treeselect style="width: 220px" :clearable="false"  v-model="deptId"  :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
                 </el-form-item>
-                
+
                 <el-form-item>
-                   <el-select style="width: 220px" v-model="userIds" multiple  placeholder="请选择员工">
+                  <el-select filterable v-model="userIds" placeholder="请选择员工" clearable size="small">
                       <el-option
                         v-for="item in users"
                         :key="item.userId"
@@ -50,7 +50,7 @@
                   </div>
               </div>
             </div>
-               
+
           </div>
 </template>
 
@@ -214,7 +214,7 @@ export default {
           ],
           series: [
               {
-                  
+
                   name: '发送总数',
                   type: 'bar',
                   emphasis: {
@@ -223,7 +223,7 @@ export default {
                   data: this.smsCount
               },
               {
-                 
+
                   name: '成功数量',
                   type: 'bar',
                   emphasis: {
@@ -236,7 +236,7 @@ export default {
         this.chart=echarts.init(document.getElementById("echart-customer"));
         this.chart.setOption(option,true);
       },
-       
+
   }
 }
 </script>
@@ -245,7 +245,7 @@ export default {
 .app-container{
     border: 1px solid #e6e6e6;
     padding: 12px;
-    
+
     .app-content{
       background-color: white;
       .title{
@@ -262,7 +262,7 @@ export default {
         padding: 30px;
         background-color:  rgb(255, 255, 255);
         height: 100%;
-    
+
         .echart-box{
           margin: 0 auto;
           text-align: center;

+ 8 - 8
src/views/company/statistics/voiceLogs.vue

@@ -29,7 +29,7 @@
                   <treeselect style="width: 220px" :clearable="false"  v-model="deptId"  :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
                 </el-form-item>
                 <el-form-item>
-                   <el-select style="width: 220px" v-model="userIds" multiple  placeholder="请选择员工">
+                  <el-select filterable v-model="userIds" placeholder="请选择员工" clearable size="small">
                       <el-option
                         v-for="item in users"
                         :key="item.userId"
@@ -83,7 +83,7 @@
                   </div>
               </div>
             </div>
-               
+
           </div>
 </template>
 
@@ -156,7 +156,7 @@ export default {
         callCount:[],
         callSuccessCount:[],
         times:[]
-       
+
     }
   },
    created() {
@@ -211,7 +211,7 @@ export default {
         var data={deptId:this.deptId};
         getUserListByDeptId(data).then(response => {
           this.users = response.data;
-           
+
         });
     },
      getVoiceLogs(){
@@ -267,7 +267,7 @@ export default {
           ],
           series: [
               {
-                  
+
                   name: '通话时长',
                   type: 'bar',
                   emphasis: {
@@ -276,7 +276,7 @@ export default {
                   data: this.times
               },
               {
-                 
+
                   name: '消耗分钟',
                   type: 'bar',
                   emphasis: {
@@ -339,7 +339,7 @@ export default {
 .app-container{
     border: 1px solid #e6e6e6;
     padding: 12px;
-    
+
     .app-content{
       background-color: white;
       .title{
@@ -356,7 +356,7 @@ export default {
         padding: 30px;
         background-color:  rgb(255, 255, 255);
         height: 100%;
-    
+
         .echart-box{
           margin: 0 auto;
           text-align: center;

+ 20 - 13
src/views/crm/components/customerDetails.vue

@@ -14,6 +14,7 @@
             </el-descriptions-item>
             <el-descriptions-item label="手机号" >
                 <span v-if="item!=null">{{item.mobile}}</span>
+                <el-button icon="el-icon-search" size="mini" @click="handleMobile" style="margin-left: 20px;" circle v-hasPermi="['crm:customer:query1']"></el-button>
             </el-descriptions-item>
             <el-descriptions-item label="性别" >
                 <span v-if="item!=null">
@@ -70,7 +71,7 @@
                     {{item.tags}}
                 </span>
             </el-descriptions-item>
-           
+
             <el-descriptions-item label="进线日期" label-class-name="my-label">
                 <span v-if="item!=null">
                     {{item.registerDate}}
@@ -106,7 +107,7 @@
                 </span>
             </el-descriptions-item>
         </el-descriptions>
-        
+
         <el-tabs style="margin-top:20px;"  z-index = "99" type="border-card" v-model="activeName" @tab-click="handleClick">
             <el-tab-pane label="联系人" name="contacts">
                 <customer-contacts ref="contacts"></customer-contacts>
@@ -127,10 +128,10 @@
                 <customer-logs-list ref="logs"></customer-logs-list>
             </el-tab-pane>
         </el-tabs>
-        
+
     </div>
 </template>
-  
+
 <script>
     import { listCustomerExt } from "@/api/crm/customerExt";
     import customerVisitList from '../components/customerVisitList.vue';
@@ -139,7 +140,7 @@
     import customerVoiceLogsList from '../components/customerVoiceLogsList.vue';
     import customerStoreOrderList from '../components/customerStoreOrderList.vue';
     import customerContacts from './customerContacts.vue';
-    import { getCustomer } from "@/api/crm/customer";
+    import { getCustomer,getCustomer1 } from "@/api/crm/customer";
     export default {
         name: "customer",
         components: { customerContacts,customerVisitList,customerLogsList,customerVoiceLogsList,customerStoreOrderList,customerSmsLogsList },
@@ -154,7 +155,7 @@
                 sexOptions:[],
                 item:null,
                 company:null,
-                 
+
             };
         },
         created() {
@@ -173,13 +174,19 @@
             var data={status:1}
             listCustomerExt(data).then(response => {
                 this.customerExts = response.data;
-               
+
             });
-            
+
         },
         mounted(){
         },
         methods: {
+            handleMobile(){
+                const customerId = this.item.customerId;
+                getCustomer1(customerId).then(response =>{
+                    this.item.mobile = response.mobile;
+                })
+            },
             handleClick(tab, event) {
                 if(tab.name=="contacts"){
                     this.$refs.contacts.getData(this.item.customerId);
@@ -218,14 +225,14 @@
                                     item.value=element.value
                                 }
                             });
-                           
+
                         });
                     }
                     this.activeName="contacts"
                     setTimeout(() => {
                         that.$refs.contacts.getData(this.item.customerId);
                     }, 500);
-                    
+
                 });
             },
         }
@@ -236,7 +243,7 @@
     height: 100%;
     background-color: #fff;
     padding: 0px 20px;
-        
+
 }
 .customer-title{
     margin-bottom: 15px;
@@ -252,5 +259,5 @@
   .el-descriptions-item__label.is-bordered-label{
     font-weight: normal;
   }
-  
-</style>
+
+</style>

+ 53 - 6
src/views/crm/customer/index.vue

@@ -2,15 +2,19 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="公司名" prop="companyId">
-          <el-select filterable  v-model="queryParams.companyId" placeholder="请选择公司名" clearable size="small">
+          <el-select filterable  v-model="queryParams.companyId" placeholder="请选择公司名"  @change="companyChange" clearable size="small">
               <el-option
                 v-for="item in companys"
-                :key="'companyId'+item.companyId"
+                :key="item.companyId"
                 :label="item.companyName"
                 :value="item.companyId"
               />
         </el-select>
       </el-form-item>
+      <el-form-item >
+          <treeselect style="width: 220px" :clearable="false"  v-model="queryParams.deptId"  :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
+     </el-form-item>
+
       <el-form-item label="客户编码" prop="customerCode">
         <el-input
           v-model="queryParams.customerCode"
@@ -28,6 +32,15 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="认领人" prop="companyUserNickName">
+        <el-input
+          v-model="queryParams.companyUserNickName"
+          placeholder="请输入认领人"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item label="手机" prop="mobile">
         <el-input
           v-model="queryParams.mobile"
@@ -179,7 +192,7 @@
       </el-table-column>
       <el-table-column label="入公海时间" align="center" prop="poolTime" width="180">
       </el-table-column>
-      
+
       <el-table-column label="操作" fixed="right" width="180px" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -326,16 +339,29 @@ import customerDetails from '../components/customerDetails.vue';
 import editCustomerSource from '../components/editCustomerSource.vue';
 import {getCitys} from "@/api/store/city";
 import { throwStatement } from "@babel/types";
+
+import { treeselect } from "@/api/company/companyDept";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+
 export default {
+   watch: {
+    // 监听deptId
+    'deptId': 'currDeptChange'
+  },
   name: "Customer",
-  components: { customerDetails,editCustomerSource },
+  components: { customerDetails,editCustomerSource,Treeselect },
+
   data() {
     return {
       source:{
         title:"修改客户来源",
         open:false,
       },
+      deptOptions:[],
       tagId:null,
+      deptId:undefined,
+      companyId:undefined,
       tagsOptions:[],
       ctsTypeArr:[],
       sourceArr:[],
@@ -452,7 +478,7 @@ export default {
       setTimeout(() => {
         that.$refs.editSource.handleEdit(that.ids);
       }, 200);
-      
+
     },
     closeSource(){
       this.source.open=false;
@@ -699,7 +725,28 @@ export default {
         }).then(response => {
           this.download(response.msg);
         }).catch(function() {});
-    }
+    },
+    getTreeselect() {
+        var that=this;
+        var param={companyId:this.companyId}
+        treeselect(param).then((response) => {
+          this.deptOptions = response.data;
+          console.log(this.deptOptions)
+          if(response.data!=null&&response.data.length>0){
+            //this.queryParams.deptId=response.data[0].id;
+          }
+        });
+    },
+    companyChange(val){
+      console.log(val);
+      this.companyId=val;
+      this.getTreeselect();
+    },
+     currDeptChange(val){
+          console.log(val)
+          this.queryParams.deptId=val;
+          this.getList();
+    },
   }
 };
 </script>

+ 14 - 14
src/views/store/components/productAfterSalesOrder.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="order-content">
-     
+
       <div class="order-status" v-if="afterSales!=null" >
           <el-steps  :active="afterSales.status==4?afterSales.status+1:afterSales.status" align-center>
             <el-step title="待审核(24小时自动审核)"></el-step>
@@ -17,7 +17,7 @@
             <el-tag prop="status" v-for="(item, index) in salesStatusOptions"    v-if="afterSales.salesStatus==item.dictValue">{{item.dictLabel}}</el-tag>
           </span>
           <div class="operate-button-container"  >
-            <el-button size="mini" v-show="afterSales.salesStatus==0&&afterSales.status===1"  @click="addDelivery">添加物流</el-button>
+            <el-button size="mini"  v-hasPermi="['store:storeAfterSales:edit']" v-show="afterSales.salesStatus==0&&afterSales.status===1"  @click="addDelivery">编辑物流</el-button>
             <el-button size="mini"  v-hasPermi="['store:storeAfterSales:audit1']" v-show="afterSales.salesStatus==0&&afterSales.status===0" @click="handleAudit1">平台审核</el-button>
             <el-button size="mini"  v-hasPermi="['store:storeAfterSales:audit2']" v-show="afterSales.salesStatus==0&&afterSales.status===2" @click="handleAudit2">仓库审核</el-button>
             <el-button size="mini"  v-hasPermi="['store:storeAfterSales:refund']" @click="handleRefund"  v-show="afterSales.salesStatus==0&&afterSales.status===3">财务审核</el-button>
@@ -69,7 +69,7 @@
                   <el-tag  v-for="(item, index) in salesStatusOptions"    v-if="afterSales.salesStatus==item.dictValue" >{{item.dictLabel}}</el-tag>
                 </span>
             </el-descriptions-item>
-            
+
         </el-descriptions>
         <div style="margin: 20px 0px">
           <span class="font-small">收货信息</span>
@@ -127,7 +127,7 @@
           <el-table-column label="价格" width="240" align="center">
             <template slot-scope="scope">
               <p>价格:¥{{JSON.parse(scope.row.jsonInfo).price}}</p>
-              
+
             </template>
           </el-table-column>
           <el-table-column label="属性" width="240" align="center">
@@ -170,7 +170,7 @@
           </el-table-column>
         </el-table>
       </el-card>
-      
+
     </div>
     <el-dialog :title="audit.title" :visible.sync="audit.open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
@@ -190,7 +190,7 @@
       <product-order  ref="productOrder" />
     </el-drawer>
     <el-dialog :title="add.title" :visible.sync="add.open" width="500px" append-to-body>
-    
+
       <div slot="footer" class="dialog-footer">
         <el-form ref="form" :model="form" :rules="rules" label-width="100px">
           <el-form-item label="id" prop="id" v-if="false">
@@ -250,7 +250,7 @@ export default {
           { required: true, message: "退款金额不能为空", trigger: "blur" }
         ],
       }
- 
+
     };
   },
   created() {
@@ -270,14 +270,14 @@ export default {
       this.form.id = id;
       updateStoreAfterSales(this.form).then(response => {
               if (response.code === 200) {
-                this.msgSuccess("添加成功");
+                this.msgSuccess("编辑成功");
                 this.add.open = false;
                 this.getStoreAfterSales(id);
               }
             });
     },
     cancel1(){
-      this.open = false;
+      this.add.open = false;
     },
     addDelivery(){
       this.add.open = true;
@@ -302,7 +302,7 @@ export default {
           this.getStoreAfterSales(id);
           this.msgSuccess("操作成功");
         }).catch(function() {});
-       
+
     },
     handleAudit2(){
       var id=this.afterSales.id;
@@ -317,7 +317,7 @@ export default {
           this.getStoreAfterSales(id);
           this.msgSuccess("操作成功");
         }).catch(function() {});
-       
+
     },
     handleRefund(){
         this.audit.open=true;
@@ -349,7 +349,7 @@ export default {
         this.getStoreAfterSales(id);
         this.msgSuccess("操作成功");
       }).catch(() => {
-              
+
       });
     },
     getStoreAfterSales(id){
@@ -368,7 +368,7 @@ export default {
 .order-content{
   margin: 10px;
 }
- 
+
 .operate-container {
   background: #F2F6FC;
   height: 60px;
@@ -380,5 +380,5 @@ export default {
   float: right;
   margin-right: 20px
 }
- 
+
 </style>

+ 10 - 10
src/views/store/statistics/storeOrder.vue

@@ -29,7 +29,7 @@
                   <treeselect :clearable="false"  v-model="deptId"  :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
                 </el-form-item>
                 <el-form-item>
-                   <el-select v-model="userIds" multiple  placeholder="请选择员工">
+                   <el-select filterable v-model="userIds" placeholder="请选择员工" clearable size="small">
                       <el-option
                         v-for="item in users"
                         :key="item.userId"
@@ -48,7 +48,7 @@
                   </div>
               </div>
             </div>
-               
+
           </div>
 </template>
 
@@ -119,8 +119,8 @@ export default {
         dates:[],
         orderCount:[],
         payPrice:[]
- 
-       
+
+
     }
   },
    created() {
@@ -175,7 +175,7 @@ export default {
         var data={deptId:this.deptId};
         getUserListByDeptId(data).then(response => {
           this.users = response.data;
-           
+
         });
     },
     storeOrder(){
@@ -228,7 +228,7 @@ export default {
           ],
           series: [
               {
-                  
+
                   name: '订单数',
                   type: 'bar',
                   emphasis: {
@@ -237,14 +237,14 @@ export default {
                   data: this.orderCount
               },
               {
-                 
+
                   name: '订单金额',
                   type: 'bar',
                   emphasis: {
                       focus: 'series'
                   },
                   data: this.payPrice
-              } 
+              }
           ]
         };
         this.chart=echarts.init(document.getElementById("echart-customer"));
@@ -258,7 +258,7 @@ export default {
 .app-container{
     border: 1px solid #e6e6e6;
     padding: 12px;
-    
+
     .app-content{
       background-color: white;
       .title{
@@ -275,7 +275,7 @@ export default {
         padding: 30px;
         background-color:  rgb(255, 255, 255);
         height: 100%;
-    
+
         .echart-box{
           margin: 0 auto;
           text-align: center;

+ 7 - 7
src/views/store/statistics/storePayment.vue

@@ -29,7 +29,7 @@
             <treeselect :clearable="false"  v-model="deptId"  :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
           </el-form-item>
           <el-form-item>
-             <el-select v-model="userIds" multiple  placeholder="请选择员工">
+             <el-select filterable v-model="userIds" placeholder="请选择员工" clearable size="small">
                 <el-option
                   v-for="item in users"
                   :key="item.userId"
@@ -48,7 +48,7 @@
             </div>
         </div>
       </div>
-         
+
     </div>
 </template>
 
@@ -120,7 +120,7 @@ return {
   orderCount:[],
   payMoney:[]
 
- 
+
 }
 },
 created() {
@@ -175,7 +175,7 @@ getUserListByDeptId() {
   var data={deptId:this.deptId};
   getUserListByDeptId(data).then(response => {
     this.users = response.data;
-     
+
   });
 },
 storePayment(){
@@ -228,7 +228,7 @@ initEchart(){
     ],
     series: [
         {
-            
+
             name: '订单数',
             type: 'bar',
             emphasis: {
@@ -237,14 +237,14 @@ initEchart(){
             data: this.orderCount
         },
         {
-           
+
             name: '订单金额',
             type: 'bar',
             emphasis: {
                 focus: 'series'
             },
             data: this.payMoney
-        } 
+        }
     ]
   };
   this.chart=echarts.init(document.getElementById("echart-customer"));

+ 38 - 18
src/views/store/storeOrder/index.vue

@@ -47,7 +47,7 @@
       </el-form-item>
       <el-form-item label="收件人" prop="realName">
         <el-input
-          
+
           v-model="queryParams.realName"
           placeholder="请输入收件人姓名"
           clearable
@@ -55,10 +55,10 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-     
+
       <el-form-item label="员工姓名" prop="companyUserNickName">
         <el-input
-          
+
           v-model="queryParams.companyUserNickName"
           placeholder="请输入员工姓名"
           clearable
@@ -66,6 +66,16 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="产品" prop="productName">
+        <el-input
+
+          v-model="queryParams.productName"
+          placeholder="请输入产品名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
       <el-form-item label="订单类型" prop="orderType">
          <el-select   v-model="queryParams.orderType" placeholder="请选择订单类型" clearable size="small" >
          <el-option
@@ -95,6 +105,16 @@
                 :value="item.dictValue"
               />
         </el-select>
+      </el-form-item>
+        <el-form-item label="支付方式" prop="payType">
+         <el-select style="width: 200px" v-model="queryParams.payType" placeholder="请选择支付方式" clearable size="small" >
+         <el-option
+                v-for="item in payTypeOptions"
+                :key="item.dictValue"
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
       </el-form-item>
       <el-form-item label="下单时间" prop="createTimeRange">
         <el-date-picker
@@ -176,7 +196,7 @@
           v-hasPermi="['store:storeOrder:exportItems']"
         >导出订单明细</el-button>
       </el-col>
-      
+
 	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     <el-tabs type="card" v-model="activeName" @tab-click="handleClick">
@@ -213,7 +233,7 @@
                   <div class="sku">{{ JSON.parse(item.jsonInfo).sku}}</div>
                   <div class="price">¥{{JSON.parse(item.jsonInfo).price}}×{{item.num}}</div>
                 </div>
-                
+
               </div>
           </template>
       </el-table-column> -->
@@ -256,7 +276,7 @@
               <el-tag prop="status" v-for="(item, index) in deliveryPayStatusOptions"    v-if="scope.row.deliveryPayStatus==item.dictValue">{{item.dictLabel}}</el-tag>
           </template>
       </el-table-column>
-    
+
       <el-table-column label="操作" fixed="right" width="80px" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -274,7 +294,7 @@
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -442,7 +462,7 @@
        <div class="import-msg" v-html="importMsg">
        </div>
     </el-dialog>
-    
+
   </div>
 </template>
 
@@ -584,7 +604,7 @@ export default {
         isRemind: null,
         isSysDel: null,
         deptId:null,
-     
+
       },
       // 表单参数
       form: {
@@ -599,7 +619,7 @@ export default {
         addressId: [
           { required: true, message: "收货信息不能为空" }
         ],
-        
+
       },
       upload: {
         // 是否显示弹出层(用户导入)
@@ -643,7 +663,7 @@ export default {
     this.getDicts("store_delivery_pay_status").then((response) => {
       this.deliveryPayStatusOptions = response.data;
     });
-    
+
     this.getList();
   },
   methods: {
@@ -782,7 +802,7 @@ export default {
       else{
         this.queryParams.deliverySendTimeRange=null;
       }
-      
+
       listStoreOrder(this.queryParams).then(response => {
         this.storeOrderList = response.rows;
         this.total = response.total;
@@ -799,7 +819,7 @@ export default {
       this.form = {
         addressId:null,
         userId:null,
-        
+
       };
       this.resetForm("form");
     },
@@ -848,7 +868,7 @@ export default {
               this.getList();
             }
           });
-       
+
         }
       });
     },
@@ -856,7 +876,7 @@ export default {
     handleDelete(row) {
        this.products.splice(this.products.findIndex(item => item.id === row.id), 1)
        this.compute();
-       
+
     },
     /** 导出按钮操作 */
     handleExport() {
@@ -953,7 +973,7 @@ export default {
       //   });
       this.getList();
     },
-     
+
         /** 查询部门下拉树结构 */
     getTreeselect() {
         var that=this;
@@ -995,7 +1015,7 @@ export default {
     max-width: 200px;
     text-align: left;
     .goods-title{
-      
+
       overflow:hidden;
       white-space: nowrap;
       text-overflow: ellipsis;
@@ -1018,4 +1038,4 @@ export default {
   }
 
 </style>
- 
+