wansfa 1 jaar geleden
bovenliggende
commit
0962718f51

+ 94 - 0
src/api/crm/third.js

@@ -0,0 +1,94 @@
+import request from '@/utils/request'
+
+// 查询客户线索三方平台列表
+export function listThird(query) {
+  return request({
+    url: '/crm/third/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询客户线索三方平台详细
+export function getThird(id) {
+  return request({
+    url: '/crm/third/' + id,
+    method: 'get'
+  })
+}
+
+// 新增客户线索三方平台
+export function addThird(data) {
+  return request({
+    url: '/crm/third',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改客户线索三方平台
+export function updateThird(data) {
+  return request({
+    url: '/crm/third',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除客户线索三方平台
+export function delThird(id) {
+  return request({
+    url: '/crm/third/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出客户线索三方平台
+export function exportThird(query) {
+  return request({
+    url: '/crm/third/export',
+    method: 'get',
+    params: query
+  })
+}
+
+// 保存auth令牌
+export function saveFeiyuAuth(data) {
+  return request({
+    url: '/third/feiyu/oauthCallback',
+    method: 'post',
+    data: data
+  })
+}
+
+
+// 获取广告商
+export function getAdvertisers(data) {
+  return request({
+    url: '/third/feiyu/getAdvertisers',
+    method: 'post',
+    data: data
+  })
+}
+
+
+// 获取飞鱼线索客户
+export function getClues(data) {
+  return request({
+    url: '/third/feiyu/getClues',
+    method: 'post',
+    data: data
+  })
+}
+
+
+// 从飞鱼批量导入线索客户
+export function importThird(data) {
+  return request({
+    url: '/third/feiyu/importThird',
+    method: 'put',
+    data: data
+  })
+}
+
+

+ 54 - 0
src/api/oms/orderInternal.js

@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 查询oms销售订单列表
+export function listOrder(query) {
+  return request({
+    url: '/oms/orderInternal/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询oms销售订单详细
+export function getOrder(id) {
+  return request({
+    url: '/oms/orderInternal/' + id,
+    method: 'get'
+  })
+}
+
+// 新增oms销售订单
+export function addOrder(data) {
+  return request({
+    url: '/oms/orderInternal',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改oms销售订单
+export function updateOrder(data) {
+  return request({
+    url: '/oms/orderInternal',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除oms销售订单
+export function delOrder(id) {
+  return request({
+    url: '/oms/orderInternal' + id,
+    method: 'delete'
+  })
+}
+
+// 导出oms销售订单
+export function exportOrder(query) {
+  return request({
+    url: '/oms/orderInternal/export',
+    method: 'get',
+    params: query
+  })
+  
+}

+ 9 - 0
src/api/oms/warehouse.js

@@ -1,5 +1,14 @@
 import request from '@/utils/request'
 
+// 查询渠道仓/逻辑仓库列表
+export function wlistWarehouse(query) {
+  return request({
+    url: '/oms/warehouse/wlist',
+    method: 'get',
+    params: query
+  })
+}
+
 // 查询仓库列表
 export function listWarehouse(query) {
   return request({

+ 5 - 0
src/utils/common.js

@@ -183,6 +183,11 @@ export function handleTree(data, id, parentId, children, rootId) {
 			//返回每一项的子级数组
 			return father[id] === child[parentId]
 		});
+
+        if(child[parentId]==1158){
+			console.log("qxj branchArr",branchArr);
+		}
+
 		branchArr.length > 0 ? father.children = branchArr : '';
 		//返回第一层
 		return father[parentId] === rootId;

+ 242 - 0
src/views/crm/components/feiyuCrmLineList.vue

@@ -0,0 +1,242 @@
+<template>
+    <div class="app-container">
+      <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="120px">
+        <el-form-item label="线索创建时间" prop="createTime">
+            <el-date-picker ref="dtPicker" clearable size="small" style="width: 250px"
+                v-model="dateRange"
+                type="daterange"
+                value-format="yyyy-MM-dd hh:mm:ss"
+                start-placeholder="开始日期" end-placeholder="结束日期"
+                :default-time="['00:00:00','23:59:59']">
+            </el-date-picker>
+         </el-form-item>
+
+        <el-form-item>
+           <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        </el-form-item>
+
+      </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-upload2"
+          size="mini"
+          @click="handleImport"
+        >导入线索客户</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row> 
+
+      <el-table v-loading="loading" :data="customerLineList" @selection-change="handleSelectionChange">
+        <el-table-column type="selection" width="55" align="center" />
+        <el-table-column label="ID" align="center" prop="clue_id" />
+        <el-table-column label="进线日期" width="95" align="center" prop="create_time" />
+        <!-- <el-table-column label="来源渠道编码" align="center" prop="sourceCode" /> -->
+        <el-table-column label="客户名称" align="center" prop="name" />
+        <el-table-column label="客户手机" align="center" prop="telephone" />
+        <el-table-column  label="进线方式" align="center" prop="clue_type">
+            <template slot-scope="scope">
+                <el-tag prop="clue_type" :key="'clueType'+index" v-for="(item, index) in thirdClueTypeOptions"    v-if="scope.row.clue_type==item.dictValue">{{item.dictLabel}}</el-tag>
+            </template>
+        </el-table-column>
+       
+        <el-table-column label="流量来源" width="90" align="center" >
+             <template>
+                  {{"字节-抖音"}}
+            </template>
+        </el-table-column>
+
+       <el-table-column  label="是否导入"   align="center" prop="has_import">
+            <template slot-scope="scope">
+                <el-tag prop="has_import"  :type="scope.row.has_import==1?'danger':'success'" >{{  scope.row.has_import==1?'已导入':'未导入'}}</el-tag>
+            </template>
+        </el-table-column>
+
+         <el-table-column label="进线客户链接" width="150" align="center" prop="external_url" />
+         <el-table-column label="进线客户提交日期" width="100"  align="center" prop="create_time_detail" />
+        <el-table-column label="省市区" align="center" prop="location" width="120" >
+            <template slot-scope="scope">
+                {{scope.row.location}}
+            </template>
+       </el-table-column>
+
+       <el-table-column label="广告主名称" width="150" align="center" prop="advertiser_name" />
+
+       <el-table-column label="进线客户详情" align="center" prop="remark" />
+
+     
+    <!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+            <el-button
+            size="mini"
+            type="text"
+            @click="handleShow(scope.row)"
+          >查看</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleCancel(scope.row)"
+            v-hasPermi="['crm:customerAssign:cancel']"
+          >撤销</el-button>
+        </template>
+      </el-table-column> -->
+
+      </el-table>
+      <pagination
+        v-show="total>0"
+        :total="total"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getList"
+      />
+      <!-- <el-dialog :title="customer.title" :visible.sync="customer.open" width="1000px" append-to-body>
+          <el-table border  :data="customers" >
+              <el-table-column label="客户名称" align="center" prop="customerName" />
+              <el-table-column label="客户手机号" align="center" prop="mobile" />
+          </el-table>
+      </el-dialog> -->
+    </div>
+  </template>
+
+ <script>
+
+  import { getClues,importThird } from "@/api/crm/third";
+  export default {
+    name: "FeiyuCrmLineList",
+    data() {
+      return {
+        customers:[],
+        companys:[],
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 客户分配记录表格数据
+        customerLineList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        //飞鱼进线方式
+        thirdClueTypeOptions: [],
+        dateRange:[],
+        //查询参数
+        queryParams: {
+           pageNum: 1,
+           pageSize: 10,
+        },
+      };
+    },
+    created() {
+        this.getDicts("crm_third_feiyu_clue_type").then(response => {
+            this.thirdClueTypeOptions = response.data;
+        });
+    },
+    methods: {
+        getData(data){
+            this.queryParams=data;
+            this.queryParams.pageNum=1;
+            this.queryParams.pageSize=20;
+            this.dateRange=[];
+            this.getList()
+        },
+        /** 查询飞鱼线索客户列表 */
+        getList() {
+            this.loading = true;
+            let beginDate = new Date();
+            let endDate = new Date();
+            let startTime="";
+            let endTime="";
+            if(this.dateRange!=null&&this.dateRange.length==2){
+                var dateRange1=this.dateRange[0];
+                var dateRange2=this.dateRange[1];
+                if(typeof(dateRange1)==Date){
+                    beginDate=dateRange1;
+                    endDate=dateRange2;
+                }else{
+                    beginDate=new Date(dateRange1);
+                    endDate=new Date(dateRange2);
+                }
+                startTime=beginDate.getFullYear()+"-"+this.repair(beginDate.getMonth() + 1)+"-"+this.repair(beginDate.getDate());
+                endTime=endDate.getFullYear()+"-"+this.repair(endDate.getMonth() + 1)+"-"+this.repair(endDate.getDate());
+            }
+            else{
+                 beginDate.setDate(beginDate.getDate() - 7);
+                 startTime=beginDate.getFullYear()+"-"+this.repair(beginDate.getMonth() + 1)+"-"+this.repair(beginDate.getDate());
+                 endTime=endDate.getFullYear()+"-"+this.repair(endDate.getMonth() + 1)+"-"+this.repair(endDate.getDate());
+                 this.dateRange = [beginDate, endDate]; 
+             }
+             this.queryParams.startTime=startTime+" 00:00:00";
+             this.queryParams.endTime=endTime+" 23:59:59";
+             
+             getClues(this.queryParams).then(response => {
+                  this.customerLineList = response.data.list;
+                  this.total = response.data.page_info.total_number;
+                  this.loading = false;
+             });
+        },
+        /** 搜索按钮操作 */
+        handleQuery() {
+            this.queryParams.pageNum = 1;
+            this.getList();
+        },
+        /** 重置按钮操作 */
+        resetQuery() {
+            this.resetForm("queryForm");
+            this.handleQuery();
+        },
+        // 多选框选中数据
+        handleSelectionChange(selection) {
+            this.ids=selection;
+            this.single = selection.length!==1
+            this.multiple = !selection.length
+        },
+        handleImport(){
+              const ids = this.ids;
+              let that=this;
+              this.$confirm('是否确认批量导入线索客户数据', "警告", {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+              }).then(function() {
+                  let postData={"crmList":ids,"account":that.queryParams.account};
+                  return importThird(postData);
+              }).then(() => {
+                  this.getList();
+                  this.msgSuccess("导入成功");
+               }).catch(function() {});
+          },
+        repair(i){
+            if (i >= 0 && i <= 9) {
+                return "0" + i;
+            } else {
+                return i;
+            }
+        }
+    }
+  };
+</script>
+
+<style lang="scss" scoped>
+    .app-container{
+        padding-top: 0;
+        margin-top: 0;
+        padding-left: 0;
+        padding-right: 0;
+    }
+   .el-form-item {
+        margin-bottom: 10px;
+   }   
+</style>

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

@@ -17,8 +17,7 @@
           placeholder="请输入客户编码"
           clearable
           size="small"
-          @keyup.enter.native="handleQuery"
-        />
+          @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item label="客户名称" prop="customerName">
         <el-input
@@ -35,8 +34,7 @@
           placeholder="请输入手机"
           clearable
           size="small"
-          @keyup.enter.native="handleQuery"
-        />
+          @keyup.enter.native="handleQuery"/>
       </el-form-item>
       <el-form-item label="客户状态" prop="status">
         <el-select v-model="queryParams.status" placeholder="请选择客户状态" clearable size="small">
@@ -63,8 +61,7 @@
           v-model="dateRange"
           type="daterange"
           value-format="yyyy-MM-dd"
-          start-placeholder="开始日期" end-placeholder="结束日期"
-           >
+          start-placeholder="开始日期" end-placeholder="结束日期">
         </el-date-picker>
       </el-form-item>
       <el-form-item label="客户来源" prop="source">

+ 2 - 1
src/views/crm/customer/line.vue

@@ -326,6 +326,7 @@ import assignCompany from '../components/assignCompany.vue';
 export default {
   name: "Customer",
   components: { customerAssignList,assignCompany },
+  
   data() {
     return {
       assignList:{
@@ -598,7 +599,7 @@ export default {
            this.assign.open = true;
            this.assign.title = "分配线索客户";
            setTimeout(() => {
-            that.$refs.assignCompany.init(this.ids);
+              that.$refs.assignCompany.init(this.ids);
            }, 200);
       // }else{
       //      this.msgError("无权限操作!");

+ 538 - 0
src/views/crm/third/index.vue

@@ -0,0 +1,538 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="平台名称" prop="thirdName">
+        <el-input
+          v-model="queryParams.thirdName"
+          placeholder="请输入平台名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="平台类型" prop="thirdType">
+        <el-select v-model="queryParams.thirdType" placeholder="请选择平台类型" clearable size="small">
+          <el-option
+            v-for="dict in thirdTypeOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </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="['third:third: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="['third:third: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="['third:third:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['third:third:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="thirdList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="ID" width="55" align="center" prop="id" />
+      <el-table-column label="平台名称" width="80px" align="center" prop="thirdName" />
+     
+      <el-table-column  label="平台类型" width="80px" align="center" prop="thirdType">
+        <template slot-scope="scope">
+             <template v-for="(item, index) in thirdTypeOptions">
+                <el-tag prop="thirdType" :key="'thirdType'+index"   v-if="scope.row.thirdType==item.dictValue">{{item.dictLabel}}</el-tag>
+             </template>
+        </template>
+      </el-table-column>
+      <el-table-column label="授权账号" width="120px" align="center" prop="account" />
+      <el-table-column label="广告主ids" width="200" align="center" prop="advertiserIds">
+        <template slot-scope="scope">
+             {{ scope.row.advertiserIds.length>200?scope.row.advertiserIds.substr(0,200)+"...":scope.row.advertiserIds  }}   
+        </template>
+      </el-table-column>
+      <el-table-column label="广告主名称" width="300" align="center" prop="advertiserNames">
+        <template slot-scope="scope">
+             {{ scope.row.advertiserNames.length>200?scope.row.advertiserNames.substr(0,200)+"...":scope.row.advertiserNames  }}   
+        </template>
+      </el-table-column>
+      <!-- <el-table-column label="appid"  align="center" prop="appId" />
+      <el-table-column label="secret" align="center" prop="appSecret" /> -->
+      <el-table-column label="accessToken" align="center" prop="accessToken" />
+      <el-table-column label="refreshToken" align="center" prop="refreshToken" />
+      <el-table-column  label="授权状态" width="90px" align="center" prop="status">
+        <template slot-scope="scope">
+             <template v-for="(item, index) in statusOptions">
+                <el-tag prop="status" :key="'status'+index"  :type="scope.row.accessStatus==1?'success':'info'"   v-if="scope.row.status==item.dictValue">{{item.dictLabel}}</el-tag>
+             </template>
+        </template>
+      </el-table-column>
+
+      <el-table-column  label="accessToken状态"   align="center" prop="accessStatus">
+        <template slot-scope="scope">
+            <el-tag prop="accessStatus" :key="'accessStatus'+index" v-for="(item, index) in accessStatusOptions"    :type="scope.row.accessStatus==1?'success':'danger'"   v-if="scope.row.accessStatus==item.dictValue">{{item.dictLabel}}</el-tag>
+        </template>
+      </el-table-column>
+ 
+      <el-table-column  label="refreshToken状态"   align="center" prop="refreshStatus">
+        <template slot-scope="scope">
+            <el-tag prop="refreshStatus" :key="'refreshStatus'+index" v-for="(item, index) in refreshStatusOptions"  :type="scope.row.refreshStatus==1?'success':'danger'"   v-if="scope.row.refreshStatus==item.dictValue">{{item.dictLabel}}</el-tag>
+        </template>
+      </el-table-column>
+
+      <!-- <el-table-column label="refreshToken状态" align="center" prop="refreshStatus" :formatter="refreshStatusFormat" /> -->
+
+      <el-table-column label="创建时间" align="center" prop="createTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ scope.row.createTime}}</span>
+        </template>
+      </el-table-column>
+
+      <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-paperclip"
+            @click="handleAuth(scope.row)"
+            v-hasPermi="['crm:third:auth']"
+          >授权</el-button>
+          <!-- <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-suitcase"
+            @click="getAdvertisers(scope.row)"
+          >广告主</el-button> -->
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-s-operation"
+            @click="handleFeiyuCrmLineList(scope.row)"
+          >线索</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['crm:third:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['crm:third:remove']"
+          >删除</el-button>
+   
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改客户线索三方平台对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="140px">
+        <el-form-item label="平台名称" prop="thirdName">
+          <el-input v-model="form.thirdName" placeholder="请输入平台名称" />
+        </el-form-item>
+        <el-form-item label="平台类型" prop="thirdType">
+          <el-select v-model="form.thirdType" placeholder="请选择平台类型">
+            <el-option
+              v-for="dict in thirdTypeOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="dict.dictValue"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="平台appid" prop="appId">
+          <el-input v-model="form.appId" placeholder="请输入平台appid" />
+        </el-form-item>
+        <el-form-item label="平台secret" prop="appSecret">
+          <el-input v-model="form.appSecret" placeholder="请输入平台secret" />
+        </el-form-item>
+        <el-form-item label="授权账号" prop="account">
+          <el-input v-model="form.account" placeholder="请输入授权账号" />
+        </el-form-item>
+        <el-form-item label="是否授权">
+          <el-radio-group  v-model="form.status">
+            <el-radio disabled
+              v-for="dict in statusOptions"
+              :key="dict.dictValue"
+              :label="parseInt(dict.dictValue)"
+            >{{dict.dictLabel}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+         <el-form-item label="accessToken" prop="accessToken">
+          <el-input  v-model="form.accessToken" placeholder="请输入三方平台access_token" />
+        </el-form-item>
+        <el-form-item label="refreshToken" prop="refreshToken">
+          <el-input  v-model="form.refreshToken" placeholder="请输入三方平台refresh_token" />
+        </el-form-item>
+
+        <el-form-item label="accessToken状态" prop="accessStatus">
+          <el-select v-model="form.accessStatus"  placeholder="accessToken状态">
+            <el-option
+              v-for="dict in accessStatusOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="parseInt(dict.dictValue)"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="refreshToken状态" prop="refreshStatus">
+          <el-select v-model="form.refreshStatus"  placeholder="refreshToken状态">
+            <el-option
+              v-for="dict in refreshStatusOptions"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="parseInt(dict.dictValue)"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="授权广告Ids" prop="advertiserIds" v-if="form.id!=null">
+          <el-input type="textarea" size="medium" :rows="4"  v-model="form.advertiserIds" placeholder="请输入授权广告Ids" />
+        </el-form-item>
+        <el-form-item label="授权广告名称" prop="advertiserNames" v-if="form.id!=null">
+          <el-input type="textarea" size="medium" :rows="4" v-model="form.advertiserNames" placeholder="请输入授权广告名称" />
+        </el-form-item>
+       
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+
+
+    <el-dialog :title="feiyuCrmLineList.title" :visible.sync="feiyuCrmLineList.open" width="1200px" append-to-body>
+      <feiyu-crm-line-list  ref="feiyuCrmLineList" @close="closeFeiyuCrmList"></feiyu-crm-line-list>
+    </el-dialog>
+
+
+  </div>
+</template>
+
+<script>
+import { listThird, getThird, delThird, addThird, updateThird, exportThird,saveFeiyuAuth,getAdvertisers } from "@/api/crm/third";
+import feiyuCrmLineList from '../components/feiyuCrmLineList.vue';
+ 
+export default {
+  name: "Third",
+  components: { feiyuCrmLineList },
+  data() {
+    return {
+      feiyuCrmLineList:{
+        title:"飞鱼线索客户",
+        open:false,
+      },
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 客户线索三方平台表格数据
+      thirdList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      state:null,
+      authCode:null,
+      // 平台类型字典
+      thirdTypeOptions: [],
+      // 状态  0未授权 1 已授权字典
+      statusOptions: [],
+      // token状态  0未获取  1已生效  2已过期字典
+      accessStatusOptions: [],
+      // token状态  0未获取  1已生效  2已过期字典
+      refreshStatusOptions: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        thirdName: null,
+        thirdType: null,
+        status: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+          thirdName: [
+            { required: true, message: "请输入平台名称", trigger: "blur" }
+          ],
+           thirdType: [
+            { required: true, message: "请输入平台类型", trigger: "blur" }
+          ],
+           appId: [
+            { required: true, message: "请输入appId", trigger: "blur" }
+          ],
+           appSecret: [
+            { required: true, message: "请输入appSecret", trigger: "blur" }
+          ],
+      }
+    };
+  },
+  created() {
+   
+    this.getDicts("crm_third_type").then(response => {
+      this.thirdTypeOptions = response.data;
+    });
+    this.getDicts("crm_third_status").then((response) => {
+        this.statusOptions = response.data;
+    });
+
+    this.getDicts("crm_third_token_status").then(response => {
+      this.accessStatusOptions = response.data;
+    });
+    this.getDicts("crm_third_token_status").then(response => {
+      this.refreshStatusOptions = response.data;
+    });
+    this.getList();
+    this.initParams();
+  },
+  methods: {
+    /** 查询客户线索三方平台列表 */
+    getList() {
+      this.loading = true;
+      listThird(this.queryParams).then(response => {
+          this.thirdList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+      });
+    },
+
+    initParams(){
+        if(!!this.$route.query.state){
+            this.state=this.$route.query.state;
+        }
+        if(!!this.$route.query.auth_code){
+            this.authCode=this.$route.query.auth_code;
+            setTimeout(() => {
+              this.saveFeiyuAuth();
+            }, 1000);
+        }
+    },
+
+    // 平台类型字典翻译
+    thirdTypeFormat(row, column) {
+      return this.selectDictLabel(this.thirdTypeOptions, row.thirdType);
+    },
+    
+    // token状态  0未获取  1已生效  2已过期字典翻译
+    accessStatusFormat(row, column) {
+      return this.selectDictLabel(this.accessStatusOptions, row.accessStatus);
+    },
+    // token状态  0未获取  1已生效  2已过期字典翻译
+    refreshStatusFormat(row, column) {
+      return this.selectDictLabel(this.refreshStatusOptions, row.refreshStatus);
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        thirdName: null,
+        thirdType: null,
+        appId: null,
+        appSecret: null,
+        account: null,
+        status: '0',
+        accessStatus: null,
+        refreshStatus: null,
+        accessToken: null,
+        refreshToken: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加客户线索三方平台";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getThird(id).then(response => {
+        this.form = response.data;
+        this.form.thirdType = response.data.thirdType.toString();
+        this.open = true;
+        this.title = "修改客户线索三方平台";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateThird(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          } else {
+            addThird(this.form).then(response => {
+                if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.getList();
+                }
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除客户线索三方平台编号为"' + ids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delThird(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有客户线索三方平台数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportThird(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+    },
+    handleAuth(row){
+        var scopeUrl="";
+        if(row.thirdType==1){
+            scopeUrl="https://open.oceanengine.com/audit/oauth.html?app_id="+row.appId+"&state="+row.id+"&redirect_uri=http%3A%2F%2Flocalhost%3A1024%2Fcustomer%2FfeiyuOauthCallback/";
+        }
+        //scopeUrl="https://ad.oceanengine.com/openapi/audit/oauth.html?app_id="+row.appId+"&state=xxx&scope=[10,69,14]&redirect_uri=http://oms.nat100.top/third/feiyu/oauthCallback/";
+        //scopeUrl=encodeURI(scopeUrl)
+        //let path = window.location.protocol +  "//" + scopeUrl
+        window.location.href = scopeUrl;
+    },
+    saveFeiyuAuth(){
+        var data={"authCode":this.authCode,"thirdId":parseInt(this.state)};
+        saveFeiyuAuth(data).then(response => {
+            if (response.code === 200) {
+                this.msgSuccess("授权成功");
+                this.getList();
+            }
+        });
+    },
+    getAdvertisers(row){
+        getAdvertisers(row).then(response => {
+            if (response.code === 200) {
+                this.msgSuccess("获取成功");
+                this.getList();
+            }
+        });
+    },
+    handleFeiyuCrmLineList(row){
+      //this.feiyuCrmLineList.title=row.thirdName;
+      this.feiyuCrmLineList.open=true;
+      var that=this;
+      setTimeout(() => {
+            that.$refs.feiyuCrmLineList.getData(row);
+      }, 200);
+    },
+    closeFeiyuCrmList(){
+       this.feiyuCrmLineList.open=false;
+       this.getList();
+    },
+  }
+};
+</script>

+ 631 - 0
src/views/oms/orderInternal/add.vue

@@ -0,0 +1,631 @@
+<template>
+  <div class="app-container">
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px" style="margin-bottom:40px">
+        <div class="bj-divider"><div class="left"><span class="default-text">三方订单基本信息</span><div class="button"></div><span class="tips"></span></div></div>
+        <el-row>
+          <el-col :span="9">
+              <el-form-item  label-width="100px" label="三方订单号" prop="outerOrderNo"  style="margin-right:20px">
+                 <el-input v-model="form.outerOrderNo" placeholder="请输入三方订单号" />
+              </el-form-item>
+          </el-col>
+          <el-col :span="9">
+              <el-form-item label-width="140px" label="三方订单下单时间" prop="orderTime" >
+                <el-date-picker clearable size="small" style="width:100%"
+                  v-model="form.orderTime"
+                  type="date"
+                  value-format="yyyy-MM-dd"
+                  placeholder="请选择">
+                </el-date-picker>
+              </el-form-item>
+          </el-col>
+           <el-col :span="9">
+                <el-form-item label-width="100px" label="销售渠道" prop="channelType"  style="margin-right:20px">
+                    <el-select  style="width:100%"  @change="channelChange" v-model="form.channelType" :placeholder="storePlaceholder" clearable size="small">
+                      <el-option
+                            v-for="item in channelTypeOptions"
+                            :key="'channelType'+item.dictValue"  
+                            :label="item.dictLabel"
+                            :value="item.dictValue"/>
+                    </el-select>
+                </el-form-item>
+           </el-col>
+           <el-col :span="9">
+                 <el-form-item label-width="140px" label="选择销售店铺" prop="storeId">
+                    <el-select style="width:100%" :disabled="storeAvailable" ref="storeId" v-model="form.storeId" placeholder="请选择销售店铺" clearable size="small">
+                      <el-option
+                            v-for="item in stores"
+                            :key="'omsStore'+item.storeId"  
+                            :label="item.storeName"
+                            :value="item.storeId"/>
+                    </el-select>
+                </el-form-item>    
+           </el-col>
+           <el-col :span="18">
+                <el-form-item label-width="100px" label="商家备注" prop="channelType">
+                    <el-input type="textarea" v-model="form.orderRemark" show-word-limit maxlength="200"></el-input>
+               </el-form-item>   
+           </el-col>
+        </el-row>
+
+        <div class="bj-divider"><div class="left"><span class="default-text">买家以及收货信息</span><div class="button"></div><span class="tips"></span></div></div>
+        <el-row>
+          <el-col :span="9">
+              <el-form-item  label-width="100px" label="买家昵称" prop="buyerNick" style="margin-right:20px">
+                 <el-input v-model="form.outerOrderNo" placeholder="请输入买家昵称" />
+              </el-form-item>
+          </el-col>
+         </el-row>
+        <el-row>
+          <el-col :span="9">
+              <el-form-item  label-width="100px" label="收货人" prop="logisticsUserName"  style="margin-right:20px">
+                 <el-input v-model="form.logisticsUserName" placeholder="请输入" />
+              </el-form-item>
+          </el-col>
+
+          <el-col :span="9">
+              <el-form-item  label-width="100px" label="收货人手机" prop="logisticsUserPhone">
+                 <el-input v-model="form.logisticsUserPhone" placeholder="请输入" />
+              </el-form-item>
+          </el-col>
+
+          <el-col :span="9">
+              <el-form-item  label-width="95px" label="所属省市区" prop="cityIds">
+                  <el-cascader style="width:100%"
+                  ref="citySelect"
+                  v-model="cityIds"
+                  :options="citys"
+                  @change="handleCityChange"></el-cascader>
+               </el-form-item>
+          </el-col>
+
+           <el-col :span="9">
+              <el-form-item  label-width="10px"  prop="cityIds">
+                  <el-input v-model="form.userAddress" placeholder="详情地址" /> 
+              </el-form-item>
+          </el-col>
+
+
+           <el-col :span="18">
+                <el-form-item label-width="100px" label="买家备注" prop="buyerRemark" >
+                    <el-input type="textarea" v-model="form.buyerRemark" show-word-limit maxlength="200"></el-input>
+               </el-form-item>   
+           </el-col>
+        </el-row>
+  
+         <div class="bj-divider"><div class="left"><span class="default-text">支付信息</span><div class="button"></div><span class="tips"></span></div></div>
+         <el-row>
+          <el-col :span="8">
+               <el-form-item label="支付方式" prop="payType">
+                    <el-select  style="width:100%"  v-model="form.payType" placeholder="请选择支付方式" clearable size="small">
+                      <el-option
+                            v-for="item in payTypeOptions"
+                            :key="'payType'+item.dictValue"  
+                            :label="item.dictLabel"
+                            :value="item.dictValue"/>
+                    </el-select>
+                </el-form-item>
+          </el-col>
+          <el-col :span="8">
+              <el-form-item  label-width="100px" label="支付金额" prop="buyerPayAmount"  style="margin-right:20px">
+                 <el-input v-model="form.buyerPayAmount" type="number"  placeholder="请输入" /> 
+              </el-form-item>
+          </el-col>
+          <el-col :span="8">
+              <el-form-item  label-width="140px" label="支付金额是否含运费" prop="shippingType">
+                    <el-radio-group v-model="form.shippingType">
+                       <el-radio :key="'shippingType'+item.dictValue"    :label="item.dictValue" v-for="item in shippingTypeOptions" >{{item.dictLabel}}</el-radio>
+                    </el-radio-group>
+              </el-form-item>
+          </el-col>
+         </el-row>
+         <el-row>
+           <el-col :span="8">
+                <el-form-item  label="支付状态" prop="payStatus">
+                    <el-select  style="width:100%"   v-model="form.payStatus" placeholder="请选择" clearable size="small">
+                      <el-option
+                            v-for="item in payStatusOptions"
+                            :key="'payStatus'+item.dictValue"  
+                            :label="item.dictLabel"
+                            :value="item.dictValue"/>
+                    </el-select>
+                </el-form-item>
+        </el-col>
+
+         <el-col :span="8">
+              <el-form-item label-width="100px" label="支付时间" prop="payTime" style="margin-right:20px">
+                  <el-date-picker clearable size="small" style="width:100%"
+                    v-model="form.payTime"
+                    type="date"
+                    value-format="yyyy-MM-dd"
+                    placeholder="请选择">
+                  </el-date-picker>
+              </el-form-item>
+          </el-col>
+        </el-row>
+
+         <div class="bj-divider"><div class="left"><span class="default-text">优惠信息</span><div class="button"></div><span class="tips"></span></div></div>
+         <el-row>
+              <el-col :span="9">
+                  <el-form-item  label-width="100px" label="三方平台优惠" prop="isThirdDiscount" style="margin-right:10px">
+                        <el-radio-group v-model="form.isThirdDiscount">
+                          <el-radio :key="'isThirdDiscount'+item.dictValue"   :label="item.dictValue" v-for="item in isThirdDiscountOptions" >{{item.dictLabel}}</el-radio>
+                        </el-radio-group>
+                  </el-form-item>
+              </el-col>  
+              <el-col :span="9" v-if="form.isThirdDiscount!='0'">
+                    <el-form-item label-width="10" label="" prop="thirdDiscount">
+                      <el-input v-model="form.thirdDiscount" placeholder="三方平台优惠金额" />
+                    </el-form-item>
+              </el-col>
+               <el-col :span="9" v-if="form.isThirdDiscount!='0'">
+                  <el-form-item label-width="100px" label="优惠承担" prop="thirdDiscountAmount" style="margin-right:10px">
+                      <el-input v-model="form.thirdDiscountAmount" placeholder="三方平台承担优惠金额" />
+                    </el-form-item>
+              </el-col>  
+              <el-col :span="9" v-if="form.isThirdDiscount!='0'">
+                    <el-form-item label-width="10" label="" prop="businessDiscountAmount">
+                      <el-input v-model="form.businessDiscountAmount" placeholder="商家承担优惠金额" />
+                    </el-form-item>
+              </el-col>
+         </el-row>
+
+         <div class="bj-divider" style="margin-bottom:10px">
+               <div class="left"><span class="default-text">商品信息</span>
+                   <el-button plain  type="primary"  size="mini"  @click="handleAddProduct">添加商品</el-button>
+                   <span class="tips"></span>
+              </div>
+          </div>
+          <el-row> 
+               <el-col :span="24">
+                  <el-form-item label="" label-width="0" prop="productList" style="margin-left:0" >
+                        <el-table border width="100%" style="margin-top:5px;"  :data="products">
+                          <el-table-column label="商品编号" align="center" prop="barCode" />
+                          <el-table-column label="商品图片" align="center" width="100">
+                            <template slot-scope="scope">
+                              <el-popover
+                                placement="right"
+                                title=""
+                                trigger="hover">
+                                <img slot="reference" :src="scope.row.image" width="50">
+                                <img :src="scope.row.image" style="max-width: 50px;">
+                              </el-popover>
+                            </template>
+                          </el-table-column>
+                          <el-table-column label="商品名称" show-overflow-tooltip align="center" prop="productName" />
+                          <el-table-column label="商品规格" align="center" prop="sku" />
+                          <!-- <el-table-column label="库存" align="center" prop="stock" /> -->
+                          <el-table-column label="售价" align="center"  prop="price"  >
+                            <template slot-scope="scope">
+                              <div v-if="scope.row.price!=null">
+                                  {{scope.row.price.toFixed(2)}}
+                              </div>
+                            </template>
+                          </el-table-column>
+                          <!-- <el-table-column label="代理价" align="center" prop="agentPrice" /> -->
+                          <el-table-column label="数量" align="center"  prop="count" width="200px" >
+                            <template slot-scope="scope">
+                              <div>
+                                  <el-input-number v-model="scope.row.count"  @change="handleProductCountChange(scope.row)"  size="mini" :min="1" :max="scope.row.stock"  ></el-input-number>
+                              </div>
+                            </template>
+                          </el-table-column>
+                          <el-table-column label="小计" align="center"  prop="money"  >
+                            <template slot-scope="scope">
+                              <div v-if="scope.row.money!=null">
+                                  {{scope.row.money.toFixed(2)}}
+                              </div>
+                            </template>
+                          </el-table-column>
+                          <el-table-column label="操作" align="center" width="100px" >
+                            <template slot-scope="scope">
+                              <el-button
+                                size="mini"
+                                type="text"
+                                icon="el-icon-delete"
+                                @click="handleProductDelete(scope.row)"
+                              >删除</el-button>
+                            </template>
+                          </el-table-column>
+                        </el-table>
+                        <!-- <el-row  >
+                          <el-col  >
+                                <span style="margin-left:10px;" v-if="totalMoney!=null">商品总价:{{totalMoney}}</span>
+                          </el-col>
+                        </el-row> -->
+                  </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>
+      </div>
+
+  </div>
+</template>
+
+<script>
+import { listOrder, getOrder, delOrder, addOrder, updateOrder, exportOrder } from "@/api/oms/orderInternal";
+import { listStore } from "@/api/oms/store";
+import { getCitys } from "@/api/store/city";
+export default {
+  name: "Store",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 表单参数
+      form: {  },
+      // 表单校验
+      rules: {
+            outerOrderNo: [
+              { required: true, message: "请输入三方订单号", trigger: "blur" }
+            ],
+             orderTime: [
+              { required: true, message: "请选择三方下单时间", trigger: "blur" }
+            ],
+             channelType: [
+              { required: true, message: "请选择销售渠道", trigger: "blur" }
+            ],
+             storeId: [
+              { required: true, message: "请选择销售店铺", trigger: "blur" }
+            ],
+             buyerNick: [
+              { required: true, message: "请输入买家昵称", trigger: "blur" }
+            ],
+            logisticsUserName: [
+              { required: true, message: "请输入收货人", trigger: "blur" }
+            ],
+             logisticsUserPhone: [
+              { required: true, message: "请输入收货人手机号", trigger: "blur" }
+            ],
+            cityIds: [
+              { required: true, message: "请选择收货地址", trigger: "blur" }
+            ],
+            payType: [
+              { required: true, message: "请选择支付方式", trigger: "blur" }
+            ],
+            payStatus: [
+              { required: true, message: "请选择支付状态", trigger: "blur" }
+            ],
+            buyerPayAmount: [
+              { required: true, message: "请输入支付金额", trigger: "blur" }
+            ],
+            payTime: [
+              { required: true, message: "请选择支付时间", trigger: "blur" }
+            ],
+      },
+      channelTypeOptions:[],
+      stores:[],
+      payTypeOptions:[],
+      shippingTypeOptions:[],
+      payStatusOptions:[],
+      isThirdDiscountOptions:[],
+      cityIds:[],
+      citys:[],
+      storeAvailable:true,
+      storePlaceholder:"请先选择销售渠道",
+      isFreeShipping:false,
+      products:[],
+      product:{
+         open:false,
+         title:"商品选择"
+      },
+    };
+  },
+  created() {
+        this.getDicts("oms_channel_type").then((response) => {
+             this.channelTypeOptions = response.data;
+        });
+        this.getDicts("oms_pay_type").then((response) => {
+             this.payTypeOptions = response.data;
+        });
+        this.getDicts("oms_shipping_type").then((response) => {
+             this.shippingTypeOptions = response.data;
+        });
+        this.getDicts("oms_pay_status").then((response) => {
+             this.payStatusOptions = response.data;
+        });
+        this.getDicts("oms_is_third_discount").then((response) => {
+             this.isThirdDiscountOptions = response.data;
+        });
+        this.getCitys();
+        this.reset();
+  },
+  methods: {
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+// 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        storeId: null,
+        outerOrderNo: null,
+        innerOrderNo: null,
+        preemptCode: null,
+        orderType: null,
+        orderSource: null,
+        innerOrderSource: null,
+        orderStatus: 0,
+        refundStatus: 0,
+        payType: null,
+        payStatus: "0",
+        auditType: null,
+        auditStatus: 0,
+        orderStage: null,
+        isGift: null,
+        isThirdDiscount:"0",
+        goodsNum: null,
+        skuNum: null,
+        thirdDiscountAmount: null,
+        businessDiscountAmount: null,
+        totalDiscount: null,
+        totalAmount: null,
+        amountReceivable: null,
+        buyerPayAmount: null,
+        buyerRealPrice: null,
+        shippingType: "0",
+        costAmount: null,
+        postage: null,
+        tags: null,
+        buyerNick: null,
+        buyerRemark: null,
+        orderRemark: null,
+        serviceRemark: null,
+        payNo: null,
+        orderTime: null,
+        payTime: null,
+        userAddress:null,
+        cityIds:[],
+        citys:[],
+      };
+      this.cityIds=[];
+      this.resetForm("form");
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const storeId = row.storeId || this.ids
+      getStore(storeId).then(response => {
+        this.form = response.data;
+        this.form.channelWarehouseName=row.channelWarehouseName;
+        if(this.form.channelType!=null){
+            this.form.channelType = this.form.channelType.toString();
+        }
+        if(this.form.storeType!=null){
+            this.form.storeType = this.form.storeType.toString();
+        }
+        if(this.form.status!=null){
+            this.form.status = this.form.status.toString();
+        }
+        this.open = true;
+        this.title = "修改网店";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.storeId != null) {
+            updateStore(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          } else {
+            addStore(this.form).then(response => {
+              if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.getList();
+              }
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const storeIds = row.storeId || this.ids;
+      this.$confirm('是否确认删除网店编号为"' + storeIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delStore(storeIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有网店数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportStore(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+    },
+    getChanelType(type){
+      var chanelTypeName="";
+      const chanelType = this.channelTypeOptions.filter((obj) => {
+            return obj[dictValue] === type
+      });
+      if(chanelType!=null){
+          chanelTypeName=chanelType.dictLable;
+      }
+      return chanelTypeName;
+    },
+    channelChange(e){
+        var item=this.channelTypeOptions.find(val => val.dictValue === e);
+        var channelType=item.dictValue;
+        this.form.channelType=channelType;
+        listStore({"channelType":channelType}).then(response => {
+            this.stores = response.rows;
+        });
+        this.storeAvailable=false;
+        this.storePlaceholder="请选择";
+    },
+    handleCityChange(value) {
+          console.log(value);
+          var nodes=this.$refs.citySelect.getCheckedNodes();
+          this.form.cityIds=nodes[0].pathLabels[0]+"-"+nodes[0].pathLabels[1]+"-"+nodes[0].pathLabels[2];
+          this.form.cityIdsStr=value.toString();
+          console.log(this.form.cityIdsStr);
+    },
+    getCitys(){
+          getCitys().then(res => {
+             this.loading = false;
+             this.citys=res.data;
+          });
+    },
+    handleProductCountChange(row){
+      row.money=row.count*row.price;
+      this.$forceUpdate();
+      this.compute();
+    },
+    handleProductDelete(row){
+       this.products.splice(this.products.findIndex(item => item.id === row.id), 1)
+       this.compute();
+    },
+    compute(){
+      this.totalMoney=0;
+      var that=this;
+      this.products.forEach (function (value) {
+          that.totalMoney += value.money;
+      });
+      that.totalMoney=that.totalMoney.toFixed(2);
+    },
+    selectProduct(row){
+      console.log(row);
+      for(var i=0;i<this.products.length;i++){
+        if(this.products[i].id==row.id){
+          return;
+        }
+      }
+      row.count=1;
+      row.money=row.count*row.price;
+      this.products.push(row);
+      this.compute();
+    },
+    handleAddProduct(){
+      this.product.open=true;
+      // setTimeout(() => {
+      //   this.$refs.product.getData(1);
+      // }, 200);
+    },
+  }
+};
+</script>
+
+<style lang="scss" scoped> 
+
+.app-main{
+  background: #ffffff;
+}
+.app-container{
+  margin: 0;
+}
+.bj-divider {
+    padding: 10px 0;
+    border-bottom: 1px solid #eee;
+    margin-bottom: 16px;
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -ms-flex-pack: justify;
+    justify-content: space-between;
+    width: 100%
+}
+.bj-divider.small {
+    font-size: 14px;
+    padding: 8px 0;
+    margin-bottom: 8px
+}
+.bj-divider.noPadding {
+    padding: 0
+}
+.bj-divider .left {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+.bj-divider .button {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex
+}
+.bj-divider .default-text {
+    border-left: 4px #13c2c2 solid;
+    padding-left: 16px;
+    font-size: 18px
+}
+.bj-divider.small .default-text {
+    font-size: 14px
+}
+.bj-divider .xs {
+    font-size: 12px;
+    padding: 0 8px
+}
+.bj-divider .tips {
+    line-height: 20px;
+    margin-left: 16px
+}
+.bj-divider .right {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-align: center;
+    -ms-flex-align: center;
+    align-items: center
+}
+.bj-divider .el-button {
+    margin-left: 16px
+}
+.bj-divider .fixed {
+    position: fixed;
+    top: 55px;
+    z-index: 9;
+    right: 20px
+}
+
+.bj-divider .right .el-form-item--small.el-form-item {
+    margin-bottom: 0
+}
+
+.dialog-footer{
+    text-align: right;
+    position: fixed;
+    right: 0px;
+    bottom: 0px;
+    width: 90%;
+    margin-right: 0px;
+    padding:10px 20px;
+    z-index: 9;
+    background: #ffffff;
+    height: 65px;
+}
+</style>

+ 428 - 0
src/views/oms/orderInternal/add1.vue

@@ -0,0 +1,428 @@
+<template>
+  <div class="app-container">
+ 
+        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="网店id" prop="storeId">
+          <el-input v-model="form.storeId" placeholder="请输入网店id" />
+        </el-form-item>
+        <el-form-item label="三方订单号" prop="outerOrderNo">
+          <el-input v-model="form.outerOrderNo" placeholder="请输入三方订单号" />
+        </el-form-item>
+        <el-form-item label="内部订单号" prop="innerOrderNo">
+          <el-input v-model="form.innerOrderNo" placeholder="请输入内部订单号" />
+        </el-form-item>
+        <el-form-item label="预占编码" prop="preemptCode">
+          <el-input v-model="form.preemptCode" placeholder="请输入预占编码" />
+        </el-form-item>
+        <el-form-item label="流转状态 0 异常 1正常 2待处理">
+          <el-radio-group v-model="form.circulationStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="流转异常原因" prop="failureReason">
+          <el-input v-model="form.failureReason" placeholder="请输入流转异常原因" />
+        </el-form-item>
+   
+        <el-form-item label="三方销售单来源  0接口抓取 1手工建单" prop="orderSource">
+          <el-input v-model="form.orderSource" placeholder="请输入三方销售单来源  0接口抓取 1手工建单" />
+        </el-form-item>
+        <el-form-item label="内部销售单来源  0普通转单 1手工单  2复制单" prop="innerOrderSource">
+          <el-input v-model="form.innerOrderSource" placeholder="请输入内部销售单来源  0普通转单 1手工单  2复制单" />
+        </el-form-item>
+        <el-form-item label="平台订单状态 0未成交  1已成交">
+          <el-radio-group v-model="form.orderStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="回写状态 0未回写 1回写成功  2回写失败">
+          <el-radio-group v-model="form.syncStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="售后状态  0无售后 1售后处理中 2退款中 3退款成功">
+          <el-radio-group v-model="form.refundStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="支付方式  0微信支付 1支付宝支付  3财付通  4连连支付  5网银在线  6货到付款 7银行汇款 8 其它" prop="payType">
+          <el-select v-model="form.payType" placeholder="请选择支付方式  0微信支付 1支付宝支付  3财付通  4连连支付  5网银在线  6货到付款 7银行汇款 8 其它">
+            <el-option label="请选择字典生成" value="" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="支付状态  0无售后 1售后处理中 2退款中 3退款成功">
+          <el-radio-group v-model="form.payStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="审核类型  0寻源前待审核   1发货前待审核" prop="auditType">
+          <el-select v-model="form.auditType" placeholder="请选择审核类型  0寻源前待审核   1发货前待审核">
+            <el-option label="请选择字典生成" value="" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="审核状态 1待一审  2一审不通过  3待二审  4二审不通过 5审核通过  ">
+          <el-radio-group v-model="form.auditStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="订单阶段 0三方销售单  1内部销售单" prop="orderStage">
+          <el-input v-model="form.orderStage" placeholder="请输入订单阶段 0三方销售单  1内部销售单" />
+        </el-form-item>
+        <el-form-item label="有无赠品  0无  1有" prop="isGift">
+          <el-input v-model="form.isGift" placeholder="请输入有无赠品  0无  1有" />
+        </el-form-item>
+        <el-form-item label="商品数量" prop="goodsNum">
+          <el-input v-model="form.goodsNum" placeholder="请输入商品数量" />
+        </el-form-item>
+        <el-form-item label="商品行数量" prop="skuNum">
+          <el-input v-model="form.skuNum" placeholder="请输入商品行数量" />
+        </el-form-item>
+        <el-form-item label="三方承担优惠金额" prop="thirdDiscountAmount">
+          <el-input v-model="form.thirdDiscountAmount" placeholder="请输入三方承担优惠金额" />
+        </el-form-item>
+        <el-form-item label="商家承担优惠金额" prop="businessDiscountAmount">
+          <el-input v-model="form.businessDiscountAmount" placeholder="请输入商家承担优惠金额" />
+        </el-form-item>
+        <el-form-item label="优惠合计" prop="totalDiscount">
+          <el-input v-model="form.totalDiscount" placeholder="请输入优惠合计" />
+        </el-form-item>
+        <el-form-item label="商品总金额" prop="totalAmount">
+          <el-input v-model="form.totalAmount" placeholder="请输入商品总金额" />
+        </el-form-item>
+        <el-form-item label="应收总金额" prop="amountReceivable">
+          <el-input v-model="form.amountReceivable" placeholder="请输入应收总金额" />
+        </el-form-item>
+        <el-form-item label="买家实付" prop="buyerPayAmount">
+          <el-input v-model="form.buyerPayAmount" placeholder="请输入买家实付" />
+        </el-form-item>
+        <el-form-item label="买家实付" prop="buyerRealPrice">
+          <el-input v-model="form.buyerRealPrice" placeholder="请输入买家实付" />
+        </el-form-item>
+        <el-form-item label="物流方式  0不包邮  1卖家包邮" prop="shippingType">
+          <el-select v-model="form.shippingType" placeholder="请选择物流方式  0不包邮  1卖家包邮">
+            <el-option label="请选择字典生成" value="" />
+          </el-select>
+        </el-form-item>
+        <el-form-item label="商品总成本" prop="costAmount">
+          <el-input v-model="form.costAmount" placeholder="请输入商品总成本" />
+        </el-form-item>
+        <el-form-item label="运费" prop="postage">
+          <el-input v-model="form.postage" placeholder="请输入运费" />
+        </el-form-item>
+        <el-form-item label="物流ids" prop="logisticsIds">
+          <el-input v-model="form.logisticsIds" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="标签" prop="tags">
+          <el-input v-model="form.tags" placeholder="请输入标签" />
+        </el-form-item>
+        <el-form-item label="买家昵称" prop="buyerNick">
+          <el-input v-model="form.buyerNick" placeholder="请输入买家昵称" />
+        </el-form-item>
+        <el-form-item label="买家备注" prop="buyerRemark">
+          <el-input v-model="form.buyerRemark" placeholder="请输入买家备注" />
+        </el-form-item>
+        <el-form-item label="商家备注" prop="orderRemark">
+          <el-input v-model="form.orderRemark" placeholder="请输入商家备注" />
+        </el-form-item>
+        <el-form-item label="客服备注" prop="serviceRemark">
+          <el-input v-model="form.serviceRemark" placeholder="请输入客服备注" />
+        </el-form-item>
+        <el-form-item label="支付单号" prop="payNo">
+          <el-input v-model="form.payNo" placeholder="请输入支付单号" />
+        </el-form-item>
+        <el-form-item label="发票类别 0无需开票 1电子发票 2增值税普通发票 3增值税专用发票">
+          <el-radio-group v-model="form.invoiceStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="发票抬头" prop="invoiceTopic">
+          <el-input v-model="form.invoiceTopic" placeholder="请输入发票抬头" />
+        </el-form-item>
+        <el-form-item label="发票内容">
+          <editor v-model="form.invoiceContent" :min-height="192"/>
+        </el-form-item>
+        <el-form-item label="发货状态  0初始 1全部待发货 2部分发货 3全部发货成功  4全部发货失败 ">
+          <el-radio-group v-model="form.deliveryStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="收货状态  0初始 1待收货  2部分收货  3全部已收货 ">
+          <el-radio-group v-model="form.receivingStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="预占状态  0全部待预占 1部分预占  2全部预占成功  3全部预占失败  4取消预占  ">
+          <el-radio-group v-model="form.preemptionStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="寻源状态  0全部待寻源 1部分寻源 2全部寻源成功 3全部寻源失败  4取消寻源">
+          <el-radio-group v-model="form.sourceStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="挂起状态  0未挂起  1部分挂起  2全部挂起成功  4全部挂起失败">
+          <el-radio-group v-model="form.suspendStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="预占回写状态 0全部待回写 1部分回写 2全部回写成功 3全部会写失败">
+          <el-radio-group v-model="form.syncPreempStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="发货回写状态  0全部待回写  1部分回写  2全部回写成功 3全部回写失败">
+          <el-radio-group v-model="form.syncDeliveryStatus">
+            <el-radio label="1">请选择字典生成</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="三方平台下单时间" prop="orderTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.orderTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择三方平台下单时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="支付时间" prop="payTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.payTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择支付时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="拉单时间" prop="pullTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.pullTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择拉单时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="物流打包时间" prop="lastShipTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.lastShipTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择物流打包时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="预计发货时间" prop="predictDeliveryTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.predictDeliveryTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择预计发货时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="确认收货时间" prop="receiveTime">
+          <el-date-picker clearable size="small" style="width: 200px"
+            v-model="form.receiveTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="选择确认收货时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="创建人ID" prop="createUserId">
+          <el-input v-model="form.createUserId" placeholder="请输入创建人ID" />
+        </el-form-item>
+        <el-form-item label="修改人ID" prop="updateUserId">
+          <el-input v-model="form.updateUserId" placeholder="请输入修改人ID" />
+        </el-form-item>
+      </el-form>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+
+   
+  </div>
+</template>
+
+<script>
+import { listOrder, getOrder, delOrder, addOrder, updateOrder, exportOrder } from "@/api/oms/orderInternal";
+export default {
+  name: "Store",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 表单参数
+      form: {  },
+      // 表单校验
+      rules: {
+            // storeName: [
+            //   { required: true, message: "网店名称不能为空", trigger: "blur" }
+            // ],
+            // storeType: [
+            //    { required: true, message: "网店类型不能为空", trigger: "blur" }
+            // ],
+            // channelType: [
+            //   { required: true, message: "请选择渠道类型", trigger: "blur" }
+            // ],
+            // linkUsername: [
+            //   { required: true, message: "联系人状态不能为空", trigger: "blur" }
+            // ],
+            // status: [
+            //   { required: true, message: "请选择店铺状态", trigger: "blur" }
+            // ],
+            // channelWarehouseName: [
+            //   { required: true, message: "渠道仓名称不能为空", trigger: "blur" }
+            // ],
+      }
+    };
+  },
+  created() {
+
+   
+  },
+  methods: {
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+// 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        storeId: null,
+        outerOrderNo: null,
+        innerOrderNo: null,
+        preemptCode: null,
+        circulationStatus: 0,
+        failureReason: null,
+        orderType: null,
+        orderSource: null,
+        innerOrderSource: null,
+        orderStatus: 0,
+        syncStatus: 0,
+        refundStatus: 0,
+        payType: null,
+        payStatus: 0,
+        auditType: null,
+        auditStatus: 0,
+        orderStage: null,
+        isGift: null,
+        goodsNum: null,
+        skuNum: null,
+        thirdDiscountAmount: null,
+        businessDiscountAmount: null,
+        totalDiscount: null,
+        totalAmount: null,
+        amountReceivable: null,
+        buyerPayAmount: null,
+        buyerRealPrice: null,
+        shippingType: null,
+        costAmount: null,
+        postage: null,
+        logisticsIds: null,
+        tags: null,
+        buyerNick: null,
+        buyerRemark: null,
+        orderRemark: null,
+        serviceRemark: null,
+        payNo: null,
+        invoiceStatus: 0,
+        invoiceTopic: null,
+        invoiceContent: null,
+        deliveryStatus: 0,
+        receivingStatus: 0,
+        preemptionStatus: 0,
+        sourceStatus: 0,
+        suspendStatus: 0,
+        syncPreempStatus: 0,
+        syncDeliveryStatus: 0,
+        orderTime: null,
+        payTime: null,
+        pullTime: null,
+        lastShipTime: null,
+        predictDeliveryTime: null,
+        receiveTime: null,
+        createUserId: null,
+        createTime: null,
+        updateUserId: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const storeId = row.storeId || this.ids
+      getStore(storeId).then(response => {
+        this.form = response.data;
+        this.form.channelWarehouseName=row.channelWarehouseName;
+        if(this.form.channelType!=null){
+            this.form.channelType = this.form.channelType.toString();
+        }
+        if(this.form.storeType!=null){
+            this.form.storeType = this.form.storeType.toString();
+        }
+        if(this.form.status!=null){
+            this.form.status = this.form.status.toString();
+        }
+        this.open = true;
+        this.title = "修改网店";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.storeId != null) {
+            updateStore(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          } else {
+            addStore(this.form).then(response => {
+              if (response.code === 200) {
+                  this.msgSuccess("新增成功");
+                  this.open = false;
+                  this.getList();
+              }
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const storeIds = row.storeId || this.ids;
+      this.$confirm('是否确认删除网店编号为"' + storeIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delStore(storeIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有网店数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportStore(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+    }
+  }
+};
+</script>

+ 699 - 0
src/views/oms/orderInternal/index.vue

@@ -0,0 +1,699 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="订单号" prop="innerOrderNo">
+        <el-input
+          v-model="queryParams.innerOrderNo"
+          placeholder="三方订单号/内部订单号,多个逗号隔开"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"/>
+      </el-form-item>
+      <el-form-item label-width="110px" label="商品名称/编码" prop="barCodes">
+        <el-input
+          v-model="queryParams.barCodes"
+          placeholder="请输入商品名称/编码"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+       <el-form-item label-width="110px" label="SKU编码" prop="skuCodes">
+        <el-input
+          v-model="queryParams.skuCodes"
+          placeholder="请输入预占编码"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+     
+       <el-form-item  label="销售渠道" prop="channelType">
+        <el-select  @change="channelChange" v-model="queryParams.channelType" placeholder="请选择销售渠道" clearable size="small">
+           <el-option
+                v-for="item in channelTypeOptions"
+                :key="'channelType'+item.dictValue"  
+                :label="item.dictLabel"
+                :value="item.dictValue"/>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="销售店铺" prop="storeId">
+        <el-select v-model="queryParams.storeId" placeholder="请选择销售店铺" clearable size="small">
+           <el-option
+                v-for="item in stores"
+                :key="'omsStore'+item.storeId"  
+                :label="item.storeName"
+                :value="item.storeId"/>
+        </el-select>
+      </el-form-item>
+       <el-form-item label="订单来源" prop="innerOrderSource">
+        <el-select v-model="queryParams.innerOrderSource" placeholder="请选择订单来源" clearable size="small">
+           <el-option
+                v-for="item in sourceOptions"
+                :key="'omsSource'+item.dictValue"  
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="买家昵称" prop="buyerNick">
+        <el-input
+          v-model="queryParams.buyerNick"
+          placeholder="请输入买家昵称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label-width="110px" label="收货人姓名" prop="logisticsUserName">
+        <el-input
+          v-model="queryParams.logisticsUserName"
+          placeholder="请输入收货人姓名"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"/>
+      </el-form-item>
+     <el-form-item label-width="110px" label="收货人手机" prop="logisticsUserPhone">
+        <el-input
+          v-model="queryParams.logisticsUserPhone"
+          placeholder="请输入收货人手机"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="买家备注" prop="buyerRemark">
+        <el-input
+          v-model="queryParams.buyerRemark"
+          placeholder="请输入买家备注"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="商家备注" prop="orderRemark">
+        <el-input
+          v-model="queryParams.orderRemark"
+          placeholder="请输入商家备注"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="有无赠品" prop="isGift">
+        <el-select v-model="queryParams.isGift" placeholder="请选择" clearable size="small">
+           <el-option key="0" label="有" value="0"/>
+           <el-option key="1" label="无" value="1"/>
+        </el-select>
+      </el-form-item>
+      <el-form-item label-width="110px" label="三方下单时间" prop="orderTimeRange">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="orderTimeRange"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+          start-placeholder="开始日期" end-placeholder="结束日期">
+        </el-date-picker>
+      </el-form-item>
+
+      <el-form-item label="支付时间" prop="payTimeRange">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="payTimeRange"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+           start-placeholder="开始日期" end-placeholder="结束日期">
+        </el-date-picker>
+      </el-form-item>      
+
+      <el-form-item label="创建时间" prop="createTimeRange">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="createTimeRange"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+           start-placeholder="开始日期" end-placeholder="结束日期">
+        </el-date-picker>
+      </el-form-item>
+
+     <el-form-item label="发货时间" prop="predictDeliveryTimeRange">
+        <el-date-picker clearable size="small" style="width: 200px"
+          v-model="predictDeliveryTimeRange"
+          type="daterange"
+          value-format="yyyy-MM-dd"
+           start-placeholder="开始日期" end-placeholder="结束日期">
+        </el-date-picker>
+    </el-form-item>
+
+     <el-form-item label="标签" prop="tags">
+        <el-select v-model="queryParams.tags" placeholder="请选择标签" clearable size="small">
+           <el-option
+                v-for="item in omsTagsOptions"
+                :key="'omsTags'+item.dictValue" 
+                :label="item.dictLabel"
+                :value="item.dictLabel"
+              />
+        </el-select>
+      </el-form-item>
+
+     <el-form-item label="挂起状态" prop="suspendStatus">
+        <el-select v-model="queryParams.suspendStatus" placeholder="请选择挂起状态" clearable size="small">
+           <el-option
+                v-for="item in omsSuspendStatusOptions"
+                :key="item.dictValue"
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="寻源状态" prop="sourceStatus">
+        <el-select v-model="queryParams.sourceStatus" placeholder="请选择寻源状态" clearable size="small">
+           <el-option
+                v-for="item in omsSourceStatusOptions"
+                :key="'omsSourceStatus'+item.dictValue" 
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
+      </el-form-item>
+
+      <el-form-item label="发货状态" prop="deliveryStatus">
+        <el-select v-model="queryParams.deliveryStatus" placeholder="请选择发货状态" clearable size="small">
+           <el-option
+                v-for="item in omsDeliveryStatusOptions"
+                :key="'omsDeliveryStatus'+item.dictValue" 
+                :label="item.dictLabel"
+                :value="item.dictValue"
+              />
+        </el-select>
+      </el-form-item>
+
+      <el-form-item>
+        <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+
+    </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="['system:order: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="['system:order: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="['system:order:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:order:export']"
+        >导出</el-button>
+      </el-col>
+	  <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="orderList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="三方订单号" align="center" prop="outerOrderNo" />
+      <el-table-column label="内部订单号" align="center" prop="innerOrderNo" />
+      <el-table-column label="标签" align="center" prop="tags" />
+      <el-table-column label="店铺名称" align="center" prop="storeName" />
+
+      <el-table-column  label="销售渠道" align="center" prop="channelType">
+        <template slot-scope="scope">
+          {{getChanelType(scope.row.chanelType)}}
+        </template>
+      </el-table-column>
+
+      <el-table-column  label="订单来源" align="center" prop="innerOrderSource">
+        <template slot-scope="scope" v-for="(item, index) in sourceOptions" >
+            <el-tag prop="innerOrderSource"   :key="'innerOrderSource'+index"   :type="scope.row.innerOrderSource==0?'danger':'success'" v-if="scope.row.innerOrderSource==item.dictValue">{{item.dictLabel}}</el-tag>
+        </template>
+      </el-table-column>
+
+      <el-table-column label="商品行数量" align="center" prop="skuNum" />
+      <el-table-column label="买家昵称" align="center" prop="buyerNick" />
+      <el-table-column label="买家备注" align="center" prop="buyerRemark" />
+      <el-table-column label="商家备注" align="center" prop="orderRemark" />
+
+      <el-table-column label="收货人姓名" align="center" prop="receiverNameMask" />
+      <el-table-column label="收货人手机号" align="center" prop="receiverPhoneMask" />
+      <el-table-column label="收货人地址" align="center" prop="receiverAddressMask" />
+      <el-table-column  label="发货状态" align="center" prop="deliveryStatus">
+        <template slot-scope="scope"  v-for="(item, index) in omsDeliveryStatusOptions" >
+            <el-tag prop="deliveryStatus" :key="'deliveryStatus'+index"   :type="scope.row.deliveryStatus==0?'danger':'success'" v-if="scope.row.deliveryStatus==item.dictValue">{{item.dictLabel}}</el-tag>
+        </template>
+      </el-table-column>
+
+      <el-table-column label="物流单号" align="center" prop="logisticsNo" />
+      <el-table-column  label="收货状态" align="center" prop="receivingStatus">
+        <template slot-scope="scope"  v-for="(item, index) in omsReceivingStatusOptions" >
+            <el-tag prop="receivingStatus" :key="'receivingStatus'+index"   :type="scope.row.receivingStatus==0?'danger':'success'" v-if="scope.row.receivingStatus==item.dictValue">{{item.dictLabel}}</el-tag>
+        </template>
+      </el-table-column>
+
+      <el-table-column label="商品总金额" align="center" prop="totalAmount" />
+      <el-table-column label="买家实付" align="center" prop="buyerPayAmount" />
+      <el-table-column label="商品总成本" align="center" prop="costAmount" />
+      <el-table-column  label="三方下单时间" align="center" prop="orderTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.orderTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="支付时间" align="center" prop="payTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.payTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+
+     <el-table-column label="创单时间" align="center" prop="createTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+
+      <el-table-column label="预计发货时间" align="center" prop="predictDeliveryTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.predictDeliveryTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+
+      <el-table-column  label="寻源状态" align="center" prop="sourceStatus">
+        <template slot-scope="scope"  v-for="(item, index) in omsSourceStatusOptions" >
+            <el-tag prop="sourceStatus" :key="'sourceStatus'+index"   :type="scope.row.sourceStatus==0?'danger':'success'" v-if="scope.row.sourceStatus==item.dictValue">{{item.dictLabel}}</el-tag>
+        </template>
+      </el-table-column>
+
+       <el-table-column  label="挂起状态" align="center" prop="suspendStatus">
+        <template slot-scope="scope"  v-for="(item, index) in omsSuspendStatusOptions" >
+            <el-tag prop="suspendStatus" :key="'suspendStatus'+index"   :type="scope.row.suspendStatus==0?'danger':'success'" v-if="scope.row.suspendStatus==item.dictValue">{{item.dictLabel}}</el-tag>
+        </template>
+      </el-table-column>
+
+      <el-table-column  label="有无赠品" align="center" prop="isGift">
+        <template slot-scope="scope">
+            <el-tag prop="syncDeliveryStatus"  :type="scope.row.isGift==0?'warn':'success'" >{{scope.row.isGift==0?'无':'有'}}</el-tag>
+        </template>
+      </el-table-column>
+
+      <!-- <el-table-column label="创建人ID" align="center" prop="createUserId" />
+      <el-table-column label="修改人ID" align="center" prop="updateUserId" /> -->
+      <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="['system:order:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:order:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+  </div>
+</template>
+
+<script>
+import { listOrder, getOrder, delOrder, addOrder, updateOrder, exportOrder } from "@/api/oms/orderInternal";
+import { listStore } from "@/api/oms/store";
+import Editor from '@/components/Editor';
+
+export default {
+  name: "Order",
+  components: { Editor },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // oms销售订单表格数据
+      orderList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        channelType:null,
+        logisticsUserName:null,
+        storeId: null,
+        outerOrderNo: null,
+        innerOrderNo: null,
+        orderType: null,
+        innerOrderSource: null,
+        isGift: null,
+        buyerNick: null,
+        buyerRemark: null,
+        skuCodes:null,
+        barCodes:null,
+        productName:null,
+        
+        innerOrderStatus: null,  
+        orderStatus: null,
+        syncStatus: null,
+        refundStatus: null,
+        payType: null,
+        payStatus: null,
+        auditType: null,
+        auditStatus: null,
+        orderStage: null,
+        tags: null,
+        goodsNum: null,
+        skuNum: null,
+        thirdDiscountAmount: null,
+        businessDiscountAmount: null,
+        totalDiscount: null,
+        totalAmount: null,
+        amountReceivable: null,
+        buyerPayAmount: null,
+        buyerRealPrice: null,
+        shippingType: null,
+        costAmount: null,
+        postage: null,
+        logisticsIds: null,
+        orderRemark: null,
+        serviceRemark: null,
+        payNo: null,
+        invoiceStatus: null,
+        invoiceTopic: null,
+        invoiceContent: null,
+        deliveryStatus: null,
+        receivingStatus: null,
+        preemptionStatus: null,
+        sourceStatus: null,
+        suspendStatus: null,
+        syncPreempStatus: null,
+        syncDeliveryStatus: null,
+        createUserId: null,
+        updateUserId: null,
+
+      },
+      sourceOptions:[],
+      channelTypeOptions:[],
+      stores:[],
+      omsTagsOptions:[],
+      omsDeliveryStatusOptions:[],//发货状态
+      omsSuspendStatusOptions:[],//挂起状态
+      omsSourceStatusOptions:[],//寻源状态
+      omsReceivingStatusOptions:[],//发货状态
+      omsSyncPreempStatusOptions:[],//预占回写状态
+      omsInnerOrderStatusOptitons:[],//内部订单状态
+      orderTimeRange:[],
+      payTimeRange:[],
+      createTimeRange:[],
+      predictDeliveryTimeRange:[],
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getDicts("oms_channel_type").then((response) => {
+        this.channelTypeOptions = response.data;
+    });
+    this.getDicts("oms_order_source").then((response) => {
+      this.sourceOptions = response.data;
+    });
+    this.getDicts("oms_suspend_status").then((response) => {
+      this.omsSuspendStatusOptions = response.data;
+    });
+    this.getDicts("oms_source_status").then((response) => {
+      this.omsSourceStatusOptions = response.data;
+    });
+    this.getDicts("oms_delivery_status").then((response) => {
+      this.omsDeliveryStatusOptions = response.data;
+    });
+    this.getDicts("oms_receiving_status").then((response) => {
+       this.omsReceivingStatusOptions = response.data;
+    });
+    this.getDicts("oms_innerorder_status").then((response) => {
+       this.omsInnerOrderStatusOptitons = response.data;
+    });
+
+    this.getDicts("oms_order_tags").then((response) => {
+       this.omsTagsOptions = response.data;
+    });
+    
+    this.getList();
+  },
+  methods: {
+    /** 查询oms销售订单列表 */
+    getList() {
+      if(this.orderTimeRange!=null&&this.orderTimeRange.length==2){
+        this.queryParams.orderTime=this.orderTimeRange[0]+"--"+this.orderTimeRange[1]
+      }
+      else{
+        this.queryParams.orderTime=null;
+      }
+      if(this.payTimeRange!=null&&this.payTimeRange.length==2){
+        this.queryParams.payTime=this.payTimeRange[0]+"--"+this.payTimeRange[1]
+      }
+      else{
+        this.queryParams.payTime=null;
+      }
+      if(this.createTimeRange!=null&&this.createTimeRange.length==2){
+        this.queryParams.createTime=this.createTimeRange[0]+"--"+this.createTimeRange[1]
+      }
+      else{
+        this.queryParams.createTime=null;
+      }
+      if(this.predictDeliveryTimeRange!=null&&this.predictDeliveryTimeRange.length==2){
+        this.queryParams.predictDeliveryTime=this.predictDeliveryTimeRange[0]+"--"+this.predictDeliveryTimeRange[1]
+      }
+      else{
+        this.queryParams.predictDeliveryTime=null;
+      }
+      this.loading = true;
+      listOrder(this.queryParams).then(response => {
+        this.orderList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        storeId: null,
+        outerOrderNo: null,
+        innerOrderNo: null,
+        preemptCode: null,
+        circulationStatus: 0,
+        failureReason: null,
+        orderType: null,
+        orderSource: null,
+        innerOrderSource: null,
+        orderStatus: 0,
+        syncStatus: 0,
+        refundStatus: 0,
+        payType: null,
+        payStatus: 0,
+        auditType: null,
+        auditStatus: 0,
+        orderStage: null,
+        isGift: null,
+        goodsNum: null,
+        skuNum: null,
+        thirdDiscountAmount: null,
+        businessDiscountAmount: null,
+        totalDiscount: null,
+        totalAmount: null,
+        amountReceivable: null,
+        buyerPayAmount: null,
+        buyerRealPrice: null,
+        shippingType: null,
+        costAmount: null,
+        postage: null,
+        logisticsIds: null,
+        tags: null,
+        buyerNick: null,
+        buyerRemark: null,
+        orderRemark: null,
+        serviceRemark: null,
+        payNo: null,
+        invoiceStatus: 0,
+        invoiceTopic: null,
+        invoiceContent: null,
+        deliveryStatus: 0,
+        receivingStatus: 0,
+        preemptionStatus: 0,
+        sourceStatus: 0,
+        suspendStatus: 0,
+        syncPreempStatus: 0,
+        syncDeliveryStatus: 0,
+        orderTime: null,
+        payTime: null,
+        pullTime: null,
+        lastShipTime: null,
+        predictDeliveryTime: null,
+        receiveTime: null,
+        createUserId: null,
+        createTime: null,
+        updateUserId: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      // this.reset();
+      // this.open = true;
+      // this.title = "添加oms销售订单";
+       this.$router.push({path:'/oms/order/internal/add',query:{"orderId":"1"}});
+
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getOrder(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改oms销售订单";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateOrder(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          } else {
+            addOrder(this.form).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              }
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除销售订单编号为"' + ids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delOrder(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(function() {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有oms销售订单数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportOrder(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
+    },
+    getChanelType(type){
+      var chanelTypeName="";
+      const chanelType = this.channelTypeOptions.filter((obj) => {
+            return obj[dictValue] === type
+      });
+      if(chanelType!=null){
+          chanelTypeName=chanelType.dictLable;
+      }
+      return chanelTypeName;
+    },
+    channelChange(e){
+        var item=this.channelTypeOptions.find(val => val.dictValue === e);
+        var channelType=item.dictValue;
+        this.queryParams.channelType=channelType;
+        listStore({"channelType":channelType}).then(response => {
+            this.stores = response.rows;
+        });
+    },
+  }
+};
+</script>

+ 36 - 18
src/views/oms/warehouse/index.vue

@@ -116,9 +116,9 @@
 
     <el-table v-loading="loading" :data="warehouseList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column width="55" label="ID" align="center" prop="warehouseId" />
-      <el-table-column width="100" label="仓库名" align="center" prop="warehouseName" />
-      <el-table-column width="100" label="仓库编码" align="center" prop="warehouseCode" />
+      <el-table-column  label="ID" width="55"  align="center" prop="warehouseId" />
+      <el-table-column  label="仓库名" align="center" prop="warehouseName" />
+      <el-table-column  label="仓库编码" width="120"  align="center" prop="warehouseCode" />
       <el-table-column  label="仓库类型" align="center" prop="warehouseType">
         <template slot-scope="scope">
             <el-tag prop="warehouseType" v-for="(item, index) in wareHouseTypeOptions"    v-if="scope.row.warehouseType==item.dictValue">{{item.dictLabel}}</el-tag>
@@ -129,15 +129,25 @@
       <el-table-column label="联系电话" align="center" prop="linkPhone" />
       <el-table-column width="100" label="所属省市区" align="center" prop="cityIds" />
       <el-table-column label="地址" align="center" prop="address" />
-      <el-table-column label="备注" align="center" prop="remark" />
 
+      <el-table-column  label="分配比例" align="center" prop="rate">
+        <template slot-scope="scope">
+          {{ !!scope.row.rate?parseInt(scope.row.rate*100)+"%":"0%"}}
+        </template>
+      </el-table-column>
+
+    
        <el-table-column  label="状态" align="center" prop="status">
         <template slot-scope="scope">
             <el-tag prop="status" v-for="(item, index) in statusOptions"    v-if="scope.row.status==item.dictValue">{{item.dictLabel}}</el-tag>
         </template>
       </el-table-column>
+
+
        <el-table-column label="创建人" align="center" prop="createUserName" />
        <el-table-column width="100" label="创建时间" align="center" prop="createTime" />
+
+       <el-table-column label="备注" align="center" prop="remark" />
     
       <el-table-column width="120" label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -173,10 +183,6 @@
         <el-form-item label="仓库名称" prop="warehouseName">
           <el-input v-model="form.warehouseName" placeholder="请输入仓库名" />
         </el-form-item>
-        <el-form-item label="仓库编码" prop="warehouseCode">
-          <el-input v-model="form.warehouseCode" placeholder="请输入仓库编码" />
-        </el-form-item>
-
          <el-form-item label="仓库类型" prop="warehouseType">
           <el-select v-model="form.warehouseType" placeholder="请选择状态" clearable size="small">
             <el-option
@@ -188,6 +194,12 @@
           </el-select>
         </el-form-item>
 
+         <el-form-item label="分配比例" prop="rate">
+          <el-input v-model="form.rate" placeholder="请输入仓库分配比例" >
+              <template slot="append">%</template>
+          </el-input>
+        </el-form-item>
+
         <el-form-item label="联系人" prop="linkUsername">
           <el-input v-model="form.linkUsername" placeholder="请输入联系人" />
         </el-form-item>
@@ -195,7 +207,7 @@
           <el-input v-model="form.linkPhone" placeholder="请输入联系电话" />
         </el-form-item>
      
-      <el-form-item  label-width="95px" label="所在城市" prop="cityIds">
+       <el-form-item   label="所在城市" prop="cityIds">
                 <el-cascader
                 ref="citySelect"
                 v-model="cityIds"
@@ -232,7 +244,7 @@
 </template>
 
 <script>
-import { listWarehouse, getWarehouse, delWarehouse, addWarehouse, updateWarehouse, exportWarehouse } from "@/api/oms/warehouse";
+import { wlistWarehouse, getWarehouse, delWarehouse, addWarehouse, updateWarehouse, exportWarehouse } from "@/api/oms/warehouse";
 import {getCitys} from "@/api/store/city";
 export default {
   name: "Warehouse",
@@ -281,9 +293,6 @@ export default {
             warehouseName: [
               { required: true, message: "仓库名称不能为空", trigger: "blur" }
             ],
-            warehouseCode: [
-               { required: true, message: "仓库编码不能为空", trigger: "blur" }
-            ],
             linkUsername: [
               { required: true, message: "联系人不能为空", trigger: "blur" }
             ],
@@ -296,11 +305,13 @@ export default {
   },
   created() {
      this.getDicts("oms_warehouse_type").then((response) => {
-        this.wareHouseTypeOptions = response.data;
-    });
-    this.getDicts("oms_warehouse_status").then((response) => {
+        this.wareHouseTypeOptions = response.data.filter(item => {
+             return parseInt(item.dictValue)<=2
+        });
+     });
+     this.getDicts("oms_warehouse_status").then((response) => {
         this.statusOptions = response.data;
-    });
+     });
     this.getCitys();
     this.getList();
   },
@@ -308,7 +319,7 @@ export default {
     /** 查询仓库列表 */
     getList() {
       this.loading = true;
-      listWarehouse(this.queryParams).then(response => {
+      wlistWarehouse(this.queryParams).then(response => {
         this.warehouseList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -331,6 +342,7 @@ export default {
         cityIds: null,
         address: null,
         remark: null,
+        rate:null,
         status: '0',
         createUserId: null,
         createTime: null,
@@ -369,6 +381,12 @@ export default {
         if(this.form.warehouseType!=null){
             this.form.warehouseType = this.form.warehouseType.toString();
         }
+        if(this.form.status!=null){
+            this.form.status = this.form.status.toString();
+        }
+        if(!!this.form.rate){
+            this.form.rate = this.form.rate*100;
+        }
         this.open = true;
         this.title = "修改仓库";
       });

+ 2 - 1
src/views/store/components/productOrder.vue

@@ -240,6 +240,7 @@
               </span>
           </el-descriptions-item>
       </el-descriptions>
+      
       <div style="margin-top: 20px">
         <svg-icon icon-class="marker" style="color: #606266"></svg-icon>
         <span class="font-small">支付信息</span>
@@ -257,6 +258,7 @@
           <el-table-column label="创建时间" align="center" prop="createTime" />
           <el-table-column label="支付时间" align="center" prop="payTime" />
       </el-table>
+      
       <div style="margin-top: 20px">
         <svg-icon icon-class="marker" style="color: #606266"></svg-icon>
         <span class="font-small">分佣信息</span>
@@ -619,7 +621,6 @@ export default {
             this.items = response.items;
             this.payments=response.payments;
             this.tuiMoneyLogs=response.tuiMoneyLogs;
-           
         });
      }
   }