Browse Source

商城bug修复

1
mo 2 years ago
parent
commit
e67bf08312

+ 5 - 1
src/api/order.js

@@ -11,7 +11,11 @@ export function closeOrder(params) {
   return request({
     url:'/order/update/close',
     method:'post',
-    params:params
+    requestType:'from',
+    // params:params,
+    noCleanDeep:true,
+    data:params,
+
   })
 }
 

+ 5 - 2
src/api/product.js

@@ -35,7 +35,9 @@ export function updateRecommendStatus(params) {
   return request({
     url:'/product/update/recommendStatus',
     method:'post',
-    params:params
+    params:params,
+    data:params,
+    params
   })
 }
 
@@ -43,7 +45,8 @@ export function updatePublishStatus(params) {
   return request({
     url:'/product/update/publishStatus',
     method:'post',
-    params:params
+    data:params,
+    params
   })
 }
 

+ 4 - 2
src/api/productCate.js

@@ -40,7 +40,8 @@ export function updateShowStatus(data) {
   return request({
     url:'/productCategory/update/showStatus',
     method:'post',
-    data:data
+    data:data,
+    params:data
   })
 }
 
@@ -48,7 +49,8 @@ export function updateNavStatus(data) {
   return request({
     url:'/productCategory/update/navStatus',
     method:'post',
-    data:data
+    data:data,
+    params:data
   })
 }
 

+ 7 - 1
src/components/Tinymce/components/editorImage.vue

@@ -85,11 +85,13 @@ export default {
     },
     handleSuccess(response, file) {
       const uid = file.uid;
+
       const objKeyArr = Object.keys(this.listObj);
+       console.log(objKeyArr,'objKeyArr',this.listObj)
       for (let i = 0, len = objKeyArr.length; i < len; i++) {
         if (this.listObj[objKeyArr[i]].uid === uid) {
           this.listObj[objKeyArr[i]].url =
-            this.ossUploadUrl+'/'+ this.dataObj.key;
+            this.ossUploadUrl+'/'+  this.listObj[objKeyArr[i]].key;
           this.listObj[objKeyArr[i]].hasSuccess = true;
           return;
         }
@@ -106,6 +108,7 @@ export default {
       }
     },
     beforeUpload(file) {
+      console.log(file,'试试批量上传')
       const _self = this;
       const fileName = file.uid;
       this.listObj[fileName] = {};
@@ -133,7 +136,10 @@ export default {
               uid: file.uid,
               width: this.width,
               height: this.height,
+              name:file.name,
+              key:key
             };
+
             resolve(true);
           })
           .catch((err) => {

+ 415 - 319
src/views/oms/order/index.vue

@@ -1,30 +1,46 @@
-<template> 
+<template>
+   
   <div class="app-container">
     <el-card class="filter-container" shadow="never">
       <div>
         <i class="el-icon-search"></i>
         <span>筛选搜索</span>
         <el-button
-          style="float:right"
+          style="float: right"
           type="primary"
           @click="handleSearchList()"
-          size="small">
+          size="small"
+        >
           查询搜索
         </el-button>
         <el-button
-          style="float:right;margin-right: 15px"
+          style="float: right; margin-right: 15px"
           @click="handleResetSearch()"
-          size="small">
+          size="small"
+        >
           重置
         </el-button>
       </div>
       <div style="margin-top: 15px">
-        <el-form :inline="true" :model="listQuery" size="small" label-width="140px">
+        <el-form
+          :inline="true"
+          :model="listQuery"
+          size="small"
+          label-width="140px"
+        >
           <el-form-item label="输入搜索:">
-            <el-input v-model="listQuery.orderSn" class="input-width" placeholder="订单编号"></el-input>
+            <el-input
+              v-model="listQuery.orderSn"
+              class="input-width"
+              placeholder="订单编号"
+            ></el-input>
           </el-form-item>
           <el-form-item label="收货人:">
-            <el-input v-model="listQuery.receiverKeyword" class="input-width" placeholder="收货人姓名/手机号码"></el-input>
+            <el-input
+              v-model="listQuery.receiverKeyword"
+              class="input-width"
+              placeholder="收货人姓名/手机号码"
+            ></el-input>
           </el-form-item>
           <el-form-item label="提交时间:">
             <el-date-picker
@@ -32,33 +48,55 @@
               v-model="listQuery.createTime"
               value-format="yyyy-MM-dd"
               type="date"
-              placeholder="请选择时间">
+              placeholder="请选择时间"
+            >
             </el-date-picker>
           </el-form-item>
           <el-form-item label="订单状态:">
-            <el-select v-model="listQuery.status" class="input-width" placeholder="全部" clearable>
-              <el-option v-for="item in statusOptions"
-                         :key="item.value"
-                         :label="item.label"
-                         :value="item.value">
+            <el-select
+              v-model="listQuery.status"
+              class="input-width"
+              placeholder="全部"
+              clearable
+            >
+              <el-option
+                v-for="item in statusOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
               </el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="订单分类:">
-            <el-select v-model="listQuery.orderType" class="input-width" placeholder="全部" clearable>
-              <el-option v-for="item in orderTypeOptions"
-                         :key="item.value"
-                         :label="item.label"
-                         :value="item.value">
+            <el-select
+              v-model="listQuery.orderType"
+              class="input-width"
+              placeholder="全部"
+              clearable
+            >
+              <el-option
+                v-for="item in orderTypeOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
               </el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="订单来源:">
-            <el-select v-model="listQuery.sourceType" class="input-width" placeholder="全部" clearable>
-              <el-option v-for="item in sourceTypeOptions"
-                         :key="item.value"
-                         :label="item.label"
-                         :value="item.value">
+            <el-select
+              v-model="listQuery.sourceType"
+              class="input-width"
+              placeholder="全部"
+              clearable
+            >
+              <el-option
+                v-for="item in sourceTypeOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
               </el-option>
             </el-select>
           </el-form-item>
@@ -70,72 +108,93 @@
       <span>数据列表</span>
     </el-card>
     <div class="table-container">
-      <el-table ref="orderTable"
-                :data="list"
-                style="width: 100%;"
-                @selection-change="handleSelectionChange"
-                v-loading="listLoading" border>
-        <el-table-column type="selection" width="60" align="center"></el-table-column>
+      <el-table
+        ref="orderTable"
+        :data="list"
+        style="width: 100%"
+        @selection-change="handleSelectionChange"
+        v-loading="listLoading"
+        border
+      >
+        <el-table-column
+          type="selection"
+          width="60"
+          align="center"
+        ></el-table-column>
         <el-table-column label="编号" width="80" align="center">
-          <template slot-scope="scope">{{scope.row.id}}</template>
+          <template slot-scope="scope">{{ scope.row.id }}</template>
         </el-table-column>
         <el-table-column label="订单编号" width="180" align="center">
-          <template slot-scope="scope">{{scope.row.orderSn}}</template>
+          <template slot-scope="scope">{{ scope.row.orderSn }}</template>
         </el-table-column>
         <el-table-column label="提交时间" width="180" align="center">
-          <template slot-scope="scope">{{scope.row.createTime | formatCreateTime}}</template>
+          <template slot-scope="scope">{{
+            scope.row.createTime | formatCreateTime
+          }}</template>
         </el-table-column>
         <el-table-column label="用户账号" align="center">
-          <template slot-scope="scope">{{scope.row.memberUsername}}</template>
+          <template slot-scope="scope">{{ scope.row.memberUsername }}</template>
         </el-table-column>
         <el-table-column label="订单金额" width="120" align="center">
-          <template slot-scope="scope">¥{{scope.row.totalAmount}}</template>
+          <template slot-scope="scope">¥{{ scope.row.totalAmount }}</template>
         </el-table-column>
         <el-table-column label="支付方式" width="120" align="center">
-          <template slot-scope="scope">{{scope.row.payType | formatPayType}}</template>
+          <template slot-scope="scope">{{
+            scope.row.payType | formatPayType
+          }}</template>
         </el-table-column>
         <el-table-column label="订单来源" width="120" align="center">
-          <template slot-scope="scope">{{scope.row.sourceType | formatSourceType}}</template>
+          <template slot-scope="scope">{{
+            scope.row.sourceType | formatSourceType
+          }}</template>
         </el-table-column>
         <el-table-column label="订单状态" width="120" align="center">
-          <template slot-scope="scope">{{scope.row.status | formatStatus}}</template>
+          <template slot-scope="scope">{{
+            scope.row.status | formatStatus
+          }}</template>
         </el-table-column>
         <el-table-column label="操作" width="200" align="center">
           <template slot-scope="scope">
             <el-button
               size="mini"
               @click="handleViewOrder(scope.$index, scope.row)"
-            >查看订单</el-button>
+              >查看订单</el-button
+            >
             <el-button
               size="mini"
               @click="handleCloseOrder(scope.$index, scope.row)"
-              v-show="scope.row.status===0">关闭订单</el-button>
+              v-show="scope.row.status === 0"
+              >关闭订单</el-button
+            >
             <el-button
               size="mini"
               @click="handleDeliveryOrder(scope.$index, scope.row)"
-              v-show="scope.row.status===1">订单发货</el-button>
-            <el-button
+              v-show="scope.row.status === 1"
+              >订单发货</el-button
+            >
+            <!-- <el-button
               size="mini"
               @click="handleViewLogistics(scope.$index, scope.row)"
-              v-show="scope.row.status===2||scope.row.status===3">订单跟踪</el-button>
+              v-show="scope.row.status===2||scope.row.status===3">订单跟踪</el-button> -->
             <el-button
               size="mini"
               type="danger"
               @click="handleDeleteOrder(scope.$index, scope.row)"
-              v-show="scope.row.status===4">删除订单</el-button>
+              v-show="scope.row.status === 4"
+              >删除订单</el-button
+            >
           </template>
         </el-table-column>
       </el-table>
     </div>
     <div class="batch-operate-container">
-      <el-select
-        size="small"
-        v-model="operateType" placeholder="批量操作">
+      <el-select size="small" v-model="operateType" placeholder="批量操作">
         <el-option
           v-for="item in operateOptions"
           :key="item.value"
           :label="item.label"
-          :value="item.value">
+          :value="item.value"
+        >
         </el-option>
       </el-select>
       <el-button
@@ -143,7 +202,8 @@
         class="search-button"
         @click="handleBatchOperate()"
         type="primary"
-        size="small">
+        size="small"
+      >
         确定
       </el-button>
     </div>
@@ -155,313 +215,349 @@
         layout="total, sizes,prev, pager, next,jumper"
         :current-page.sync="listQuery.pageNum"
         :page-size="listQuery.pageSize"
-        :page-sizes="[5,10,15]"
-        :total="total">
+        :page-sizes="[5, 10, 15]"
+        :total="total"
+      >
       </el-pagination>
     </div>
     <el-dialog
       title="关闭订单"
-      :visible.sync="closeOrder.dialogVisible" width="30%">
-      <span style="vertical-align: top">操作备注:</span>
+      :visible.sync="closeOrder.dialogVisible"
+      width="30%"
+    >
+      <el-form :model="closeOrder" label-width="150px" ref="closeOrder">
+        <el-form-item
+          label="操作备注:"
+          prop="content"
+          :rules="[
+            { required: true, message: '请填写操作备注', trigger: 'blur' },
+          ]"
+        >
+          <el-input v-model="closeOrder.content" type="textarea" rows="3">
+          </el-input>
+        </el-form-item>
+      </el-form>
+
+      <!-- <span style="vertical-align: top">操作备注:</span>
+
       <el-input
         style="width: 80%"
         type="textarea"
         :rows="5"
         placeholder="请输入内容"
-        v-model="closeOrder.content">
-      </el-input>
+        v-model="closeOrder.content"
+      >
+      </el-input> -->
       <span slot="footer" class="dialog-footer">
         <el-button @click="closeOrder.dialogVisible = false">取 消</el-button>
-        <el-button type="primary" @click="handleCloseOrderConfirm">确 定</el-button>
+        <el-button type="primary" @click="handleCloseOrderConfirm"
+          >确 定</el-button
+        >
       </span>
     </el-dialog>
     <logistics-dialog v-model="logisticsDialogVisible"></logistics-dialog>
   </div>
 </template>
 <script>
-  import {fetchList,closeOrder,deleteOrder} from '@/api/order'
-  import {formatDate} from '@/utils/date';
-  import LogisticsDialog from '@/views/oms/order/components/logisticsDialog';
-  const defaultListQuery = {
-    pageNum: 1,
-    pageSize: 10,
-    orderSn: null,
-    receiverKeyword: null,
-    status: null,
-    orderType: null,
-    sourceType: null,
-    createTime: null,
-  };
-  export default {
-    name: "orderList",
-    components:{LogisticsDialog},
-    data() {
-      return {
-        listQuery: Object.assign({}, defaultListQuery),
-        listLoading: true,
-        list: null,
-        total: null,
-        operateType: null,
-        multipleSelection: [],
-        closeOrder:{
-          dialogVisible:false,
-          content:null,
-          orderIds:[]
+import { fetchList, closeOrder, deleteOrder } from "@/api/order";
+import { formatDate } from "@/utils/date";
+import LogisticsDialog from "@/views/oms/order/components/logisticsDialog";
+const defaultListQuery = {
+  pageNum: 1,
+  pageSize: 10,
+  orderSn: null,
+  receiverKeyword: null,
+  status: null,
+  orderType: null,
+  sourceType: null,
+  createTime: null,
+};
+export default {
+  name: "orderList",
+  components: { LogisticsDialog },
+  data() {
+    return {
+      listQuery: Object.assign({}, defaultListQuery),
+      listLoading: true,
+      list: null,
+      total: null,
+      operateType: null,
+      multipleSelection: [],
+      closeOrder: {
+        dialogVisible: false,
+        content: null,
+        orderIds: [],
+      },
+      statusOptions: [
+        {
+          label: "待付款",
+          value: 0,
         },
-        statusOptions: [
-          {
-            label: '待付款',
-            value: 0
-          },
-          {
-            label: '待发货',
-            value: 1
-          },
-          {
-            label: '已发货',
-            value: 2
-          },
-          {
-            label: '已完成',
-            value: 3
-          },
-          {
-            label: '已关闭',
-            value: 4
-          }
-        ],
-        orderTypeOptions: [
-          {
-            label: '正常订单',
-            value: 0
-          },
-          {
-            label: '秒杀订单',
-            value: 1
-          }
-        ],
-        sourceTypeOptions: [
-          {
-            label: 'PC订单',
-            value: 0
-          },
-          {
-            label: 'APP订单',
-            value: 1
-          }
-        ],
-        operateOptions: [
-          {
-            label: "批量发货",
-            value: 1
-          },
-          {
-            label: "关闭订单",
-            value: 2
-          },
-          {
-            label: "删除订单",
-            value: 3
-          }
-        ],
-        logisticsDialogVisible:false
+        {
+          label: "待发货",
+          value: 1,
+        },
+        {
+          label: "已发货",
+          value: 2,
+        },
+        {
+          label: "已完成",
+          value: 3,
+        },
+        {
+          label: "已关闭",
+          value: 4,
+        },
+      ],
+      orderTypeOptions: [
+        {
+          label: "正常订单",
+          value: 0,
+        },
+        {
+          label: "秒杀订单",
+          value: 1,
+        },
+      ],
+      sourceTypeOptions: [
+        {
+          label: "PC订单",
+          value: 0,
+        },
+        {
+          label: "APP订单",
+          value: 1,
+        },
+      ],
+      operateOptions: [
+        {
+          label: "批量发货",
+          value: 1,
+        },
+        {
+          label: "关闭订单",
+          value: 2,
+        },
+        {
+          label: "删除订单",
+          value: 3,
+        },
+      ],
+      logisticsDialogVisible: false,
+    };
+  },
+  created() {
+    this.getList();
+    // console.log(this.$route)
+    if (this.$route.params.status + "") {
+      this.listQuery.status = this.$route.params.status;
+    }
+  },
+  filters: {
+    formatCreateTime(time) {
+      let date = new Date(time);
+      return formatDate(date, "yyyy-MM-dd hh:mm:ss");
+    },
+    formatPayType(value) {
+      if (value === 1) {
+        return "支付宝";
+      } else if (value === 2) {
+        return "微信";
+      } else {
+        return "未支付";
       }
     },
-    created() {
-      this.getList();
-      // console.log(this.$route)
-      if(this.$route.params.status+''){
-        this.listQuery.status = this.$route.params.status
+    formatSourceType(value) {
+      if (value === 1) {
+        return "APP订单";
+      } else {
+        return "PC订单";
       }
     },
-    filters: {
-      formatCreateTime(time) {
-        let date = new Date(time);
-        return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
-      },
-      formatPayType(value) {
-        if (value === 1) {
-          return '支付宝';
-        } else if (value === 2) {
-          return '微信';
-        } else {
-          return '未支付';
-        }
-      },
-      formatSourceType(value) {
-        if (value === 1) {
-          return 'APP订单';
-        } else {
-          return 'PC订单';
-        }
-      },
-      formatStatus(value) {
-        if (value === 1) {
-          return '待发货';
-        } else if (value === 2) {
-          return '已发货';
-        } else if (value === 3) {
-          return '已完成';
-        } else if (value === 4) {
-          return '已关闭';
-        } else if (value === 5) {
-          return '无效订单';
-        } else {
-          return '待付款';
-        }
-      },
+    formatStatus(value) {
+      if (value === 1) {
+        return "待发货";
+      } else if (value === 2) {
+        return "已发货";
+      } else if (value === 3) {
+        return "已完成";
+      } else if (value === 4) {
+        return "已关闭";
+      } else if (value === 5) {
+        return "无效订单";
+      } else {
+        return "待付款";
+      }
     },
-    methods: {
-      handleResetSearch() {
-        this.listQuery = Object.assign({}, defaultListQuery);
-      },
-      handleSearchList() {
-        this.listQuery.pageNum = 1;
-        this.getList();
-      },
-      handleSelectionChange(val){
-        this.multipleSelection = val;
-      },
-      handleViewOrder(index, row){
-        this.$router.push({path:'/oms/orderDetail',query:{id:row.id}})
-      },
-      handleCloseOrder(index, row){
-        this.closeOrder.dialogVisible=true;
-        this.closeOrder.orderIds=[row.id];
-      },
-      handleDeliveryOrder(index, row){
-        let listItem = this.covertOrder(row);
-        this.$router.push({path:'/oms/deliverOrderList',query:{list:[listItem]}})
-      },
-      handleViewLogistics(index, row){
-        this.logisticsDialogVisible=true;
-      },
-      handleDeleteOrder(index, row){
-        let ids=[];
-        ids.push(row.id);
-        this.deleteOrder(ids);
-      },
-      handleBatchOperate(){
-        if(this.multipleSelection==null||this.multipleSelection.length<1){
+  },
+  methods: {
+    handleResetSearch() {
+      this.listQuery = Object.assign({}, defaultListQuery);
+    },
+    handleSearchList() {
+      this.listQuery.pageNum = 1;
+      this.getList();
+    },
+    handleSelectionChange(val) {
+      this.multipleSelection = val;
+    },
+    handleViewOrder(index, row) {
+      this.$router.push({ path: "/oms/orderDetail", query: { id: row.id } });
+    },
+    handleCloseOrder(index, row) {
+      this.closeOrder.dialogVisible = true;
+      this.closeOrder.content = ''
+      this.closeOrder.orderIds = [row.id];
+    },
+    handleDeliveryOrder(index, row) {
+      let listItem = this.covertOrder(row);
+      this.$router.push({
+        path: "/oms/deliverOrderList",
+        query: { list: [listItem] },
+      });
+    },
+    handleViewLogistics(index, row) {
+      this.logisticsDialogVisible = true;
+    },
+    handleDeleteOrder(index, row) {
+      let ids = [];
+      ids.push(row.id);
+      this.deleteOrder(ids);
+    },
+    handleBatchOperate() {
+      if (this.multipleSelection == null || this.multipleSelection.length < 1) {
+        this.$message({
+          message: "请选择要操作的订单",
+          type: "warning",
+          duration: 1000,
+        });
+        return;
+      }
+      if (this.operateType === 1) {
+        //批量发货
+        let list = [];
+        for (let i = 0; i < this.multipleSelection.length; i++) {
+          if (this.multipleSelection[i].status === 1) {
+            list.push(this.covertOrder(this.multipleSelection[i]));
+          }
+        }
+        if (list.length === 0) {
           this.$message({
-            message: '请选择要操作的订单',
-            type: 'warning',
-            duration: 1000
+            message: "选中订单中没有可以发货的订单",
+            type: "warning",
+            duration: 1000,
           });
           return;
         }
-        if(this.operateType===1){
-          //批量发货
-          let list=[];
-          for(let i=0;i<this.multipleSelection.length;i++){
-            if(this.multipleSelection[i].status===1){
-              list.push(this.covertOrder(this.multipleSelection[i]));
-            }
-          }
-          if(list.length===0){
+        this.$router.push({
+          path: "/oms/deliverOrderList",
+          query: { list: list },
+        });
+      } else if (this.operateType === 2) {
+        //关闭订单
+        this.closeOrder.orderIds = [];
+        for (let i = 0; i < this.multipleSelection.length; i++) {
+          this.closeOrder.orderIds.push(this.multipleSelection[i].id);
+        }
+        this.closeOrder.dialogVisible = true;
+      } else if (this.operateType === 3) {
+        //删除订单
+        let ids = [];
+        for (let i = 0; i < this.multipleSelection.length; i++) {
+          ids.push(this.multipleSelection[i].id);
+        }
+        this.deleteOrder(ids);
+      }
+    },
+    handleSizeChange(val) {
+      this.listQuery.pageNum = 1;
+      this.listQuery.pageSize = val;
+      this.getList();
+    },
+    handleCurrentChange(val) {
+      this.listQuery.pageNum = val;
+      this.getList();
+    },
+    handleCloseOrderConfirm() {
+      // if (this.closeOrder.content == null || this.closeOrder.content === "") {
+      //   this.$message({
+      //     message: "操作备注不能为空",
+      //     type: "warning",
+      //     duration: 1000,
+      //   });
+      //   return;
+      // }
+
+      this.$refs.closeOrder.validate((valid) => {
+        if (valid) {
+          let params = new URLSearchParams();
+          params.append("ids", this.closeOrder.orderIds);
+          params.append("note", this.closeOrder.content);
+          closeOrder(params).then((response) => {
+            this.closeOrder.orderIds = [];
+            this.closeOrder.dialogVisible = false;
+            this.getList();
             this.$message({
-              message: '选中订单中没有可以发货的订单',
-              type: 'warning',
-              duration: 1000
+              message: "修改成功",
+              type: "success",
+              duration: 1000,
             });
-            return;
-          }
-          this.$router.push({path:'/oms/deliverOrderList',query:{list:list}})
-        }else if(this.operateType===2){
-          //关闭订单
-          this.closeOrder.orderIds=[];
-          for(let i=0;i<this.multipleSelection.length;i++){
-            this.closeOrder.orderIds.push(this.multipleSelection[i].id);
-          }
-          this.closeOrder.dialogVisible=true;
-        }else if(this.operateType===3){
-          //删除订单
-          let ids=[];
-          for(let i=0;i<this.multipleSelection.length;i++){
-            ids.push(this.multipleSelection[i].id);
-          }
-          this.deleteOrder(ids);
-        }
-      },
-      handleSizeChange(val){
-        this.listQuery.pageNum = 1;
-        this.listQuery.pageSize = val;
-        this.getList();
-      },
-      handleCurrentChange(val){
-        this.listQuery.pageNum = val;
-        this.getList();
-      },
-      handleCloseOrderConfirm() {
-        if (this.closeOrder.content == null || this.closeOrder.content === '') {
-          this.$message({
-            message: '操作备注不能为空',
-            type: 'warning',
-            duration: 1000
           });
-          return;
         }
+      });
+    },
+    getList() {
+      this.listLoading = true;
+      fetchList(this.listQuery).then((response) => {
+        this.listLoading = false;
+        this.list = response.data.list;
+        this.total = response.data.total;
+      });
+    },
+    deleteOrder(ids) {
+      this.$confirm("是否要进行该删除操作?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
         let params = new URLSearchParams();
-        params.append('ids', this.closeOrder.orderIds);
-        params.append('note', this.closeOrder.content);
-        closeOrder(params).then(response=>{
-          this.closeOrder.orderIds=[];
-          this.closeOrder.dialogVisible=false;
-          this.getList();
+        params.append("ids", ids);
+        deleteOrder(params).then((response) => {
           this.$message({
-            message: '修改成功',
-            type: 'success',
-            duration: 1000
+            message: "删除成功!",
+            type: "success",
+            duration: 1000,
           });
+          this.getList();
         });
-      },
-      getList() {
-        this.listLoading = true;
-        fetchList(this.listQuery).then(response => {
-          this.listLoading = false;
-          this.list = response.data.list;
-          this.total = response.data.total;
-        });
-      },
-      deleteOrder(ids){
-        this.$confirm('是否要进行该删除操作?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          let params = new URLSearchParams();
-          params.append("ids",ids);
-          deleteOrder(params).then(response=>{
-            this.$message({
-              message: '删除成功!',
-              type: 'success',
-              duration: 1000
-            });
-            this.getList();
-          });
-        })
-      },
-      covertOrder(order){
-        let address=order.receiverProvince+order.receiverCity+order.receiverRegion+order.receiverDetailAddress;
-        let listItem={
-          orderId:order.id,
-          orderSn:order.orderSn,
-          receiverName:order.receiverName,
-          receiverPhone:order.receiverPhone,
-          receiverPostCode:order.receiverPostCode,
-          address:address,
-          deliveryCompany:null,
-          deliverySn:null
-        };
-        return listItem;
-      }
-    }
-  }
+      });
+    },
+    covertOrder(order) {
+      let address =
+        order.receiverProvince +
+        order.receiverCity +
+        order.receiverRegion +
+        order.receiverDetailAddress;
+      let listItem = {
+        orderId: order.id,
+        orderSn: order.orderSn,
+        receiverName: order.receiverName,
+        receiverPhone: order.receiverPhone,
+        receiverPostCode: order.receiverPostCode,
+        address: address,
+        deliveryCompany: null,
+        deliverySn: null,
+      };
+      return listItem;
+    },
+  },
+};
 </script>
 <style scoped>
-  .input-width {
-    width: 203px;
-  }
+.input-width {
+  width: 203px;
+}
 </style>
 
 

+ 603 - 458
src/views/oms/order/orderDetail.vue

@@ -1,40 +1,81 @@
-<template> 
+<template>
+   
   <div class="detail-container">
     <div>
-      <el-steps :active="formatStepStatus(order.status)" finish-status="success" align-center>
-        <el-step title="提交订单" :description="formatTime(order.createTime)"></el-step>
-        <el-step title="支付订单" :description="formatTime(order.paymentTime)"></el-step>
-        <el-step title="平台发货" :description="formatTime(order.deliveryTime)"></el-step>
-        <el-step title="确认收货" :description="formatTime(order.receiveTime)"></el-step>
-        <el-step title="完成评价" :description="formatTime(order.commentTime)"></el-step>
+      <el-steps
+        :active="formatStepStatus(order.status)"
+        finish-status="success"
+        align-center
+      >
+        <el-step
+          title="提交订单"
+          :description="formatTime(order.createTime)"
+        ></el-step>
+        <el-step
+          title="支付订单"
+          :description="formatTime(order.paymentTime)"
+        ></el-step>
+        <el-step
+          title="平台发货"
+          :description="formatTime(order.deliveryTime)"
+        ></el-step>
+        <el-step
+          title="确认收货"
+          :description="formatTime(order.receiveTime)"
+        ></el-step>
+        <el-step
+          title="完成评价"
+          :description="formatTime(order.commentTime)"
+        ></el-step>
       </el-steps>
     </div>
     <el-card shadow="never" style="margin-top: 15px">
       <div class="operate-container">
         <i class="el-icon-warning color-danger" style="margin-left: 20px"></i>
-        <span class="color-danger">当前订单状态:{{order.status | formatStatus}}</span>
-        <div class="operate-button-container" v-show="order.status===0">
-          <el-button size="mini" @click="showUpdateReceiverDialog">修改收货人信息</el-button>
+        <span class="color-danger"
+          >当前订单状态:{{ order.status | formatStatus }}</span
+        >
+        <div class="operate-button-container" v-show="order.status === 0">
+          <el-button size="mini" @click="showUpdateReceiverDialog"
+            >修改收货人信息</el-button
+          >
           <el-button size="mini">修改商品信息</el-button>
-          <el-button size="mini" @click="showUpdateMoneyDialog">修改费用信息</el-button>
-          <el-button size="mini" @click="showMessageDialog">发送站内信</el-button>
-          <el-button size="mini" @click="showCloseOrderDialog">关闭订单</el-button>
-          <el-button size="mini" @click="showMarkOrderDialog">备注订单</el-button>
+          <el-button size="mini" @click="showUpdateMoneyDialog"
+            >修改费用信息</el-button
+          >
+          <!-- <el-button size="mini" @click="showMessageDialog">发送站内信</el-button> -->
+          <el-button size="mini" @click="showCloseOrderDialog"
+            >关闭订单</el-button
+          >
+          <el-button size="mini" @click="showMarkOrderDialog"
+            >备注订单</el-button
+          >
         </div>
-        <div class="operate-button-container" v-show="order.status===1">
-          <el-button size="mini" @click="showUpdateReceiverDialog">修改收货人信息</el-button>
-          <el-button size="mini" @click="showMessageDialog">发送站内信</el-button>
+        <div class="operate-button-container" v-show="order.status === 1">
+          <el-button size="mini" @click="showUpdateReceiverDialog"
+            >修改收货人信息</el-button
+          >
+          <!-- <el-button size="mini" @click="showMessageDialog">发送站内信</el-button> -->
           <el-button size="mini">取消订单</el-button>
-          <el-button size="mini" @click="showMarkOrderDialog">备注订单</el-button>
+          <el-button size="mini" @click="showMarkOrderDialog"
+            >备注订单</el-button
+          >
         </div>
-        <div class="operate-button-container" v-show="order.status===2||order.status===3">
-          <el-button size="mini" @click="showLogisticsDialog">订单跟踪</el-button>
-          <el-button size="mini" @click="showMessageDialog">发送站内信</el-button>
-          <el-button size="mini" @click="showMarkOrderDialog">备注订单</el-button>
+        <div
+          class="operate-button-container"
+          v-show="order.status === 2 || order.status === 3"
+        >
+          <!-- <el-button size="mini" @click="showLogisticsDialog">订单跟踪</el-button> -->
+          <!-- <el-button size="mini" @click="showMessageDialog">发送站内信</el-button> -->
+          <el-button size="mini" @click="showMarkOrderDialog"
+            >备注订单</el-button
+          >
         </div>
-        <div class="operate-button-container" v-show="order.status===4">
+        <div class="operate-button-container" v-show="order.status === 4">
           <el-button size="mini" @click="handleDeleteOrder">删除订单</el-button>
-          <el-button size="mini" @click="showMarkOrderDialog">备注订单</el-button>
+          <el-button size="mini" @click="showMarkOrderDialog"
+            >备注订单</el-button
+          >
         </div>
       </div>
       <div style="margin-top: 20px">
@@ -51,12 +92,20 @@
           <el-col :span="4" class="table-cell-title">订单类型</el-col>
         </el-row>
         <el-row>
-          <el-col :span="4" class="table-cell">{{order.orderSn}}</el-col>
+          <el-col :span="4" class="table-cell">{{ order.orderSn }}</el-col>
           <el-col :span="4" class="table-cell">暂无</el-col>
-          <el-col :span="4" class="table-cell">{{order.memberUsername}}</el-col>
-          <el-col :span="4" class="table-cell">{{order.payType | formatPayType}}</el-col>
-          <el-col :span="4" class="table-cell">{{order.sourceType | formatSourceType}}</el-col>
-          <el-col :span="4" class="table-cell">{{order.orderType | formatOrderType}}</el-col>
+          <el-col :span="4" class="table-cell">{{
+            order.memberUsername
+          }}</el-col>
+          <el-col :span="4" class="table-cell">{{
+            order.payType | formatPayType
+          }}</el-col>
+          <el-col :span="4" class="table-cell">{{
+            order.sourceType | formatSourceType
+          }}</el-col>
+          <el-col :span="4" class="table-cell">{{
+            order.orderType | formatOrderType
+          }}</el-col>
         </el-row>
         <el-row>
           <el-col :span="4" class="table-cell-title">配送方式</el-col>
@@ -67,19 +116,28 @@
           <el-col :span="4" class="table-cell-title">活动信息</el-col>
         </el-row>
         <el-row>
-          <el-col :span="4" class="table-cell">{{order.deliveryCompany | formatNull}}</el-col>
-          <el-col :span="4" class="table-cell">{{order.deliverySn | formatNull}}</el-col>
-          <el-col :span="4" class="table-cell">{{order.autoConfirmDay}}天</el-col>
-          <el-col :span="4" class="table-cell">{{order.integration}}</el-col>
-          <el-col :span="4" class="table-cell">{{order.growth}}</el-col>
+          <el-col :span="4" class="table-cell">{{
+            order.deliveryCompany | formatNull
+          }}</el-col>
+          <el-col :span="4" class="table-cell">{{
+            order.deliverySn | formatNull
+          }}</el-col>
+          <el-col :span="4" class="table-cell"
+            >{{ order.autoConfirmDay }}天</el-col
+          >
+          <el-col :span="4" class="table-cell">{{ order.integration }}</el-col>
+          <el-col :span="4" class="table-cell">{{ order.growth }}</el-col>
           <el-col :span="4" class="table-cell">
             <el-popover
               placement="top-start"
               title="活动信息"
               width="200"
               trigger="hover"
-              :content="order.promotionInfo">
-              <span slot="reference">{{order.promotionInfo | formatLongText}}</span>
+              :content="order.promotionInfo"
+            >
+              <span slot="reference">{{
+                order.promotionInfo | formatLongText
+              }}</span>
             </el-popover>
           </el-col>
         </el-row>
@@ -96,10 +154,16 @@
           <el-col :span="6" class="table-cell-title">收货地址</el-col>
         </el-row>
         <el-row>
-          <el-col :span="6" class="table-cell">{{order.receiverName}}</el-col>
-          <el-col :span="6" class="table-cell">{{order.receiverPhone}}</el-col>
-          <el-col :span="6" class="table-cell">{{order.receiverPostCode}}</el-col>
-          <el-col :span="6" class="table-cell">{{order | formatAddress}}</el-col>
+          <el-col :span="6" class="table-cell">{{ order.receiverName }}</el-col>
+          <el-col :span="6" class="table-cell">{{
+            order.receiverPhone
+          }}</el-col>
+          <el-col :span="6" class="table-cell">{{
+            order.receiverPostCode
+          }}</el-col>
+          <el-col :span="6" class="table-cell">{{
+            order | formatAddress
+          }}</el-col>
         </el-row>
       </div>
       <div style="margin-top: 20px">
@@ -109,42 +173,44 @@
       <el-table
         ref="orderItemTable"
         :data="order.orderItemList"
-        style="width: 100%;margin-top: 20px" border>
+        style="width: 100%; margin-top: 20px"
+        border
+      >
         <el-table-column label="商品图片" width="120" align="center">
           <template slot-scope="scope">
-            <img :src="scope.row.productPic" style="height: 80px">
+            <img :src="scope.row.productPic" style="height: 80px" />
           </template>
         </el-table-column>
         <el-table-column label="商品名称" align="center">
           <template slot-scope="scope">
-            <p>{{scope.row.productName}}</p>
-            <p>品牌:{{scope.row.productBrand}}</p>
+            <p>{{ scope.row.productName }}</p>
+            <p>品牌:{{ scope.row.productBrand }}</p>
           </template>
         </el-table-column>
         <el-table-column label="价格/货号" width="120" align="center">
           <template slot-scope="scope">
-            <p>价格:¥{{scope.row.productPrice}}</p>
-            <p>货号:{{scope.row.productSn}}</p>
+            <p>价格:¥{{ scope.row.productPrice }}</p>
+            <p>货号:{{ scope.row.productSn }}</p>
           </template>
         </el-table-column>
         <el-table-column label="属性" width="120" align="center">
           <template slot-scope="scope">
-            {{scope.row.productAttr | formatProductAttr}}
+            {{ scope.row.productAttr | formatProductAttr }}
           </template>
         </el-table-column>
         <el-table-column label="数量" width="120" align="center">
           <template slot-scope="scope">
-            {{scope.row.productQuantity}}
+            {{ scope.row.productQuantity }}
           </template>
         </el-table-column>
         <el-table-column label="小计" width="120" align="center">
           <template slot-scope="scope">
-            ¥{{scope.row.productPrice*scope.row.productQuantity}}
+            ¥{{ scope.row.productPrice * scope.row.productQuantity }}
           </template>
         </el-table-column>
       </el-table>
-      <div style="float: right;margin: 20px">
-        合计:<span class="color-danger">¥{{order.totalAmount}}</span>
+      <div style="float: right; margin: 20px">
+        合计:<span class="color-danger">¥{{ order.totalAmount }}</span>
       </div>
       <div style="margin-top: 60px">
         <svg-icon icon-class="marker" style="color: #606266"></svg-icon>
@@ -158,10 +224,18 @@
           <el-col :span="6" class="table-cell-title">积分抵扣</el-col>
         </el-row>
         <el-row>
-          <el-col :span="6" class="table-cell">¥{{order.totalAmount}}</el-col>
-          <el-col :span="6" class="table-cell">¥{{order.freightAmount}}</el-col>
-          <el-col :span="6" class="table-cell">-¥{{order.couponAmount}}</el-col>
-          <el-col :span="6" class="table-cell">-¥{{order.integrationAmount}}</el-col>
+          <el-col :span="6" class="table-cell"
+            >¥{{ order.totalAmount }}</el-col
+          >
+          <el-col :span="6" class="table-cell"
+            >¥{{ order.freightAmount }}</el-col
+          >
+          <el-col :span="6" class="table-cell"
+            >-¥{{ order.couponAmount }}</el-col
+          >
+          <el-col :span="6" class="table-cell"
+            >-¥{{ order.integrationAmount }}</el-col
+          >
         </el-row>
         <el-row>
           <el-col :span="6" class="table-cell-title">活动优惠</el-col>
@@ -170,13 +244,23 @@
           <el-col :span="6" class="table-cell-title">应付款金额</el-col>
         </el-row>
         <el-row>
-          <el-col :span="6" class="table-cell">-¥{{order.promotionAmount}}</el-col>
-          <el-col :span="6" class="table-cell">-¥{{order.discountAmount}}</el-col>
+          <el-col :span="6" class="table-cell"
+            >-¥{{ order.promotionAmount }}</el-col
+          >
+          <el-col :span="6" class="table-cell"
+            >-¥{{ order.discountAmount }}</el-col
+          >
           <el-col :span="6" class="table-cell">
-            <span class="color-danger">¥{{order.totalAmount+order.freightAmount}}</span>
+            <span class="color-danger"
+              >¥{{ order.totalAmount + order.freightAmount }}</span
+            >
           </el-col>
           <el-col :span="6" class="table-cell">
-            <span class="color-danger">¥{{order.payAmount+order.freightAmount-order.discountAmount}}</span>
+            <span class="color-danger"
+              >¥{{
+                order.payAmount + order.freightAmount - order.discountAmount
+              }}</span
+            >
           </el-col>
         </el-row>
       </div>
@@ -184,77 +268,96 @@
         <svg-icon icon-class="marker" style="color: #606266"></svg-icon>
         <span class="font-small">操作信息</span>
       </div>
-      <el-table style="margin-top: 20px;width: 100%"
-                ref="orderHistoryTable"
-                :data="order.historyList" border>
-        <el-table-column label="操作者"  width="120" align="center">
+      <el-table
+        style="margin-top: 20px; width: 100%"
+        ref="orderHistoryTable"
+        :data="order.historyList"
+        border
+      >
+        <el-table-column label="操作者" width="120" align="center">
           <template slot-scope="scope">
-            {{scope.row.operateMan}}
+            {{ scope.row.operateMan }}
           </template>
         </el-table-column>
-        <el-table-column label="操作时间"  width="160" align="center">
+        <el-table-column label="操作时间" width="160" align="center">
           <template slot-scope="scope">
-            {{formatTime(scope.row.createTime)}}
+            {{ formatTime(scope.row.createTime) }}
           </template>
         </el-table-column>
-        <el-table-column label="订单状态"  width="120" align="center">
+        <el-table-column label="订单状态" width="120" align="center">
           <template slot-scope="scope">
-            {{scope.row.orderStatus | formatStatus}}
+            {{ scope.row.orderStatus | formatStatus }}
           </template>
         </el-table-column>
-        <el-table-column label="付款状态"  width="120" align="center">
+        <el-table-column label="付款状态" width="120" align="center">
           <template slot-scope="scope">
-            {{scope.row.orderStatus | formatPayStatus}}
+            {{ scope.row.orderStatus | formatPayStatus }}
           </template>
         </el-table-column>
-        <el-table-column label="发货状态"  width="120" align="center">
+        <el-table-column label="发货状态" width="120" align="center">
           <template slot-scope="scope">
-            {{scope.row.orderStatus | formatDeliverStatus}}
+            {{ scope.row.orderStatus | formatDeliverStatus }}
           </template>
         </el-table-column>
         <el-table-column label="备注" align="center">
           <template slot-scope="scope">
-            {{scope.row.note}}
+            {{ scope.row.note }}
           </template>
         </el-table-column>
       </el-table>
     </el-card>
-    <el-dialog title="修改收货人信息"
-               :visible.sync="receiverDialogVisible"
-               width="40%">
-      <el-form :model="receiverInfo"
-               ref="receiverInfoForm"
-               label-width="150px">
+    <el-dialog
+      title="修改收货人信息"
+      :visible.sync="receiverDialogVisible"
+      width="40%"
+    >
+      <el-form :model="receiverInfo" ref="receiverInfoForm" label-width="150px">
         <el-form-item label="收货人姓名:">
-          <el-input v-model="receiverInfo.receiverName" style="width: 200px"></el-input>
+          <el-input
+            v-model="receiverInfo.receiverName"
+            style="width: 200px"
+          ></el-input>
         </el-form-item>
         <el-form-item label="手机号码:">
           <el-input v-model="receiverInfo.receiverPhone" style="width: 200px">
           </el-input>
         </el-form-item>
         <el-form-item label="邮政编码:">
-          <el-input v-model="receiverInfo.receiverPostCode" style="width: 200px">
+          <el-input
+            v-model="receiverInfo.receiverPostCode"
+            style="width: 200px"
+          >
           </el-input>
         </el-form-item>
         <el-form-item label="所在区域:">
-          <v-distpicker :province="receiverInfo.receiverProvince"
-                        :city="receiverInfo.receiverCity"
-                        :area="receiverInfo.receiverRegion"
-                        @selected="onSelectRegion"></v-distpicker>
+          <v-distpicker
+            :province="receiverInfo.receiverProvince"
+            :city="receiverInfo.receiverCity"
+            :area="receiverInfo.receiverRegion"
+            @selected="onSelectRegion"
+          ></v-distpicker>
         </el-form-item>
         <el-form-item label="详细地址:">
-          <el-input v-model="receiverInfo.receiverDetailAddress" type="textarea" rows="3">
+          <el-input
+            v-model="receiverInfo.receiverDetailAddress"
+            type="textarea"
+            rows="3"
+          >
           </el-input>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
-      <el-button @click="receiverDialogVisible = false">取 消</el-button>
-      <el-button type="primary" @click="handleUpdateReceiverInfo">确 定</el-button>
+        <el-button @click="receiverDialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="handleUpdateReceiverInfo"
+          >确 定</el-button
+        >
       </span>
     </el-dialog>
-    <el-dialog title="修改费用信息"
-               :visible.sync="moneyDialogVisible"
-               width="40%">
+    <el-dialog
+      title="修改费用信息"
+      :visible.sync="moneyDialogVisible"
+      width="40%"
+    >
       <div class="table-layout">
         <el-row>
           <el-col :span="6" class="table-cell-title">商品合计</el-col>
@@ -263,12 +366,20 @@
           <el-col :span="6" class="table-cell-title">积分抵扣</el-col>
         </el-row>
         <el-row>
-          <el-col :span="6" class="table-cell">¥{{order.totalAmount}}</el-col>
+          <el-col :span="6" class="table-cell"
+            >¥{{ order.totalAmount }}</el-col
+          >
           <el-col :span="6" class="table-cell">
-            <el-input v-model.number="moneyInfo.freightAmount" size="mini"><template slot="prepend">¥</template></el-input>
+            <el-input v-model.number="moneyInfo.freightAmount" size="mini"
+              ><template slot="prepend">¥</template></el-input
+            >
           </el-col>
-          <el-col :span="6" class="table-cell">-¥{{order.couponAmount}}</el-col>
-          <el-col :span="6" class="table-cell">-¥{{order.integrationAmount}}</el-col>
+          <el-col :span="6" class="table-cell"
+            >-¥{{ order.couponAmount }}</el-col
+          >
+          <el-col :span="6" class="table-cell"
+            >-¥{{ order.integrationAmount }}</el-col
+          >
         </el-row>
         <el-row>
           <el-col :span="6" class="table-cell-title">活动优惠</el-col>
@@ -277,29 +388,43 @@
           <el-col :span="6" class="table-cell-title">应付款金额</el-col>
         </el-row>
         <el-row>
-          <el-col :span="6" class="table-cell">-¥{{order.promotionAmount}}</el-col>
+          <el-col :span="6" class="table-cell"
+            >-¥{{ order.promotionAmount }}</el-col
+          >
           <el-col :span="6" class="table-cell">
-            <el-input v-model.number="moneyInfo.discountAmount" size="mini"><template slot="prepend">-¥</template></el-input>
+            <el-input v-model.number="moneyInfo.discountAmount" size="mini"
+              ><template slot="prepend">-¥</template></el-input
+            >
           </el-col>
           <el-col :span="6" class="table-cell">
-            <span class="color-danger">¥{{order.totalAmount+moneyInfo.freightAmount}}</span>
+            <span class="color-danger"
+              >¥{{ order.totalAmount + moneyInfo.freightAmount }}</span
+            >
           </el-col>
           <el-col :span="6" class="table-cell">
-            <span class="color-danger">¥{{order.payAmount+moneyInfo.freightAmount-moneyInfo.discountAmount}}</span>
+            <span class="color-danger"
+              >¥{{
+                order.payAmount +
+                moneyInfo.freightAmount -
+                moneyInfo.discountAmount
+              }}</span
+            >
           </el-col>
         </el-row>
       </div>
       <span slot="footer" class="dialog-footer">
-      <el-button @click="moneyDialogVisible = false">取 消</el-button>
-      <el-button type="primary" @click="handleUpdateMoneyInfo">确 定</el-button>
+        <el-button @click="moneyDialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="handleUpdateMoneyInfo"
+          >确 定</el-button
+        >
       </span>
     </el-dialog>
-    <el-dialog title="发送站内信"
-               :visible.sync="messageDialogVisible"
-               width="40%">
-      <el-form :model="message"
-               ref="receiverInfoForm"
-               label-width="150px">
+    <el-dialog
+      title="发送站内信"
+      :visible.sync="messageDialogVisible"
+      width="40%"
+    >
+      <el-form :model="message" ref="receiverInfoForm" label-width="150px">
         <el-form-item label="标题:">
           <el-input v-model="message.title" style="width: 200px"></el-input>
         </el-form-item>
@@ -313,12 +438,15 @@
         <el-button type="primary" @click="handleSendMessage">确 定</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="关闭订单"
-               :visible.sync="closeDialogVisible"
-               width="40%">
-      <el-form :model="closeInfo"
-               label-width="150px">
-        <el-form-item label="操作备注:">
+    <el-dialog title="关闭订单" :visible.sync="closeDialogVisible" width="40%">
+      <el-form :model="closeInfo" label-width="150px">
+        <el-form-item
+          label="操作备注:"
+          prop="note"
+          :rules="[
+            { required: true, message: '请填写操作备注', trigger: 'blur' },
+          ]"
+        >
           <el-input v-model="closeInfo.note" type="textarea" rows="3">
           </el-input>
         </el-form-item>
@@ -328,11 +456,12 @@
         <el-button type="primary" @click="handleCloseOrder">确 定</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="备注订单"
-               :visible.sync="markOrderDialogVisible"
-               width="40%">
-      <el-form :model="markInfo"
-               label-width="150px">
+    <el-dialog
+      title="备注订单"
+      :visible.sync="markOrderDialogVisible"
+      width="40%"
+    >
+      <el-form :model="markInfo" label-width="150px">
         <el-form-item label="操作备注:">
           <el-input v-model="markInfo.note" type="textarea" rows="3">
           </el-input>
@@ -347,369 +476,385 @@
   </div>
 </template>
 <script>
-  import {getOrderDetail,updateReceiverInfo,updateMoneyInfo,closeOrder,updateOrderNote,deleteOrder} from '@/api/order';
-  import LogisticsDialog from '@/views/oms/order/components/logisticsDialog';
-  import {formatDate} from '@/utils/date';
-  import VDistpicker from 'v-distpicker';
-  const defaultReceiverInfo = {
-    orderId:null,
-    receiverName:null,
-    receiverPhone:null,
-    receiverPostCode:null,
-    receiverDetailAddress:null,
-    receiverProvince:null,
-    receiverCity:null,
-    receiverRegion:null,
-    status:null
-  };
-  export default {
-    name: 'orderDetail',
-    components: { VDistpicker, LogisticsDialog},
-    data() {
-      return {
-        id: null,
-        order: {},
-        receiverDialogVisible:false,
-        receiverInfo:Object.assign({},defaultReceiverInfo),
-        moneyDialogVisible:false,
-        moneyInfo:{orderId:null, freightAmount:0, discountAmount:0,status:null},
-        messageDialogVisible:false,
-        message: {title:null, content:null},
-        closeDialogVisible:false,
-        closeInfo:{note:null,id:null},
-        markOrderDialogVisible:false,
-        markInfo:{note:null},
-        logisticsDialogVisible:false
+import {
+  getOrderDetail,
+  updateReceiverInfo,
+  updateMoneyInfo,
+  closeOrder,
+  updateOrderNote,
+  deleteOrder,
+} from "@/api/order";
+import LogisticsDialog from "@/views/oms/order/components/logisticsDialog";
+import { formatDate } from "@/utils/date";
+import VDistpicker from "v-distpicker";
+const defaultReceiverInfo = {
+  orderId: null,
+  receiverName: null,
+  receiverPhone: null,
+  receiverPostCode: null,
+  receiverDetailAddress: null,
+  receiverProvince: null,
+  receiverCity: null,
+  receiverRegion: null,
+  status: null,
+};
+export default {
+  name: "orderDetail",
+  components: { VDistpicker, LogisticsDialog },
+  data() {
+    return {
+      id: null,
+      order: {},
+      receiverDialogVisible: false,
+      receiverInfo: Object.assign({}, defaultReceiverInfo),
+      moneyDialogVisible: false,
+      moneyInfo: {
+        orderId: null,
+        freightAmount: 0,
+        discountAmount: 0,
+        status: null,
+      },
+      messageDialogVisible: false,
+      message: { title: null, content: null },
+      closeDialogVisible: false,
+      closeInfo: { note: '', id: '' },
+      markOrderDialogVisible: false,
+      markInfo: { note: null },
+      logisticsDialogVisible: false,
+    };
+  },
+  created() {
+    this.id = this.list = this.$route.query.id;
+    getOrderDetail(this.id).then((response) => {
+      this.order = response.data;
+    });
+  },
+  filters: {
+    formatNull(value) {
+      if (value === undefined || value === null || value === "") {
+        return "暂无";
+      } else {
+        return value;
       }
     },
-    created() {
-      this.id = this.list = this.$route.query.id;
-      getOrderDetail(this.id).then(response => {
-        this.order = response.data;
-      });
+    formatLongText(value) {
+      if (value === undefined || value === null || value === "") {
+        return "暂无";
+      } else if (value.length > 8) {
+        return value.substr(0, 8) + "...";
+      } else {
+        return value;
+      }
     },
-    filters: {
-      formatNull(value) {
-        if(value===undefined||value===null||value===''){
-          return '暂无';
-        }else{
-          return value;
-        }
-      },
-      formatLongText(value) {
-        if(value===undefined||value===null||value===''){
-          return '暂无';
-        }else if(value.length>8){
-          return value.substr(0, 8) + '...';
-        }else{
-          return value;
-        }
-      },
-      formatPayType(value) {
-        if (value === 1) {
-          return '支付宝';
-        } else if (value === 2) {
-          return '微信';
-        } else {
-          return '未支付';
-        }
-      },
-      formatSourceType(value) {
-        if (value === 1) {
-          return 'APP订单';
-        } else {
-          return 'PC订单';
-        }
-      },
-      formatOrderType(value) {
-        if (value === 1) {
-          return '秒杀订单';
-        } else {
-          return '正常订单';
-        }
-      },
-      formatAddress(order) {
-        let str = order.receiverProvince;
-        if (order.receiverCity != null) {
-          str += "  " + order.receiverCity;
-        }
-        str += "  " + order.receiverRegion;
-        str += "  " + order.receiverDetailAddress;
-        return str;
-      },
-      formatStatus(value) {
-        if (value === 1) {
-          return '待发货';
-        } else if (value === 2) {
-          return '已发货';
-        } else if (value === 3) {
-          return '已完成';
-        } else if (value === 4) {
-          return '已关闭';
-        } else if (value === 5) {
-          return '无效订单';
-        } else {
-          return '待付款';
-        }
-      },
-      formatPayStatus(value) {
-        if (value === 0) {
-          return '未支付';
-        } else if(value===4){
-          return '已退款';
-        }else{
-          return '已支付';
-        }
-      },
-      formatDeliverStatus(value) {
-        if (value === 0||value === 1) {
-          return '未发货';
-        } else {
-          return '已发货';
-        }
-      },
-      formatProductAttr(value){
-        if(value==null){
-          return '';
-        }else{
-          let attr = JSON.parse(value);
-          let result='';
-          for(let i=0;i<attr.length;i++){
-            result+=attr[i].key;
-            result+=":";
-            result+=attr[i].value;
-            result+=";";
-          }
-          return result;
-        }
+    formatPayType(value) {
+      if (value === 1) {
+        return "支付宝";
+      } else if (value === 2) {
+        return "微信";
+      } else {
+        return "未支付";
       }
     },
-    methods: {
-      onSelectRegion(data){
-        this.receiverInfo.receiverProvince=data.province.value;
-        this.receiverInfo.receiverCity=data.city.value;
-        this.receiverInfo.receiverRegion=data.area.value;
-      },
-      formatTime(time) {
-        if (time == null || time === '') {
-          return '';
-        }
-        let date = new Date(time);
-        return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
-      },
-      formatStepStatus(value) {
-        if (value === 1) {
-          //待发货
-          return 2;
-        } else if (value === 2) {
-          //已发货
-          return 3;
-        } else if (value === 3) {
-          //已完成
-          return 4;
-        }else {
-          //待付款、已关闭、无限订单
-          return 1;
-        }
-      },
-      showUpdateReceiverDialog(){
-        this.receiverDialogVisible=true;
-        this.receiverInfo={
-          orderId:this.order.id,
-          receiverName:this.order.receiverName,
-          receiverPhone:this.order.receiverPhone,
-          receiverPostCode:this.order.receiverPostCode,
-          receiverDetailAddress:this.order.receiverDetailAddress,
-          receiverProvince:this.order.receiverProvince,
-          receiverCity:this.order.receiverCity,
-          receiverRegion:this.order.receiverRegion,
-          status:this.order.status
+    formatSourceType(value) {
+      if (value === 1) {
+        return "APP订单";
+      } else {
+        return "PC订单";
+      }
+    },
+    formatOrderType(value) {
+      if (value === 1) {
+        return "秒杀订单";
+      } else {
+        return "正常订单";
+      }
+    },
+    formatAddress(order) {
+      let str = order.receiverProvince;
+      if (order.receiverCity != null) {
+        str += "  " + order.receiverCity;
+      }
+      str += "  " + order.receiverRegion;
+      str += "  " + order.receiverDetailAddress;
+      return str;
+    },
+    formatStatus(value) {
+      if (value === 1) {
+        return "待发货";
+      } else if (value === 2) {
+        return "已发货";
+      } else if (value === 3) {
+        return "已完成";
+      } else if (value === 4) {
+        return "已关闭";
+      } else if (value === 5) {
+        return "无效订单";
+      } else {
+        return "待付款";
+      }
+    },
+    formatPayStatus(value) {
+      if (value === 0) {
+        return "未支付";
+      } else if (value === 4) {
+        return "已退款";
+      } else {
+        return "已支付";
+      }
+    },
+    formatDeliverStatus(value) {
+      if (value === 0 || value === 1) {
+        return "未发货";
+      } else {
+        return "已发货";
+      }
+    },
+    formatProductAttr(value) {
+      if (value == null) {
+        return "";
+      } else {
+        let attr = JSON.parse(value);
+        let result = "";
+        for (let i = 0; i < attr.length; i++) {
+          result += attr[i].key;
+          result += ":";
+          result += attr[i].value;
+          result += ";";
         }
-      },
-      handleUpdateReceiverInfo(){
-        this.$confirm('是否要修改收货信息?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          updateReceiverInfo(this.receiverInfo).then(response=>{
-            this.receiverDialogVisible=false;
-            this.$message({
-              type: 'success',
-              message: '修改成功!'
-            });
-            getOrderDetail(this.id).then(response => {
-              this.order = response.data;
-            });
+        return result;
+      }
+    },
+  },
+  methods: {
+    onSelectRegion(data) {
+      this.receiverInfo.receiverProvince = data.province.value;
+      this.receiverInfo.receiverCity = data.city.value;
+      this.receiverInfo.receiverRegion = data.area.value;
+    },
+    formatTime(time) {
+      if (time == null || time === "") {
+        return "";
+      }
+      let date = new Date(time);
+      return formatDate(date, "yyyy-MM-dd hh:mm:ss");
+    },
+    formatStepStatus(value) {
+      if (value === 1) {
+        //待发货
+        return 2;
+      } else if (value === 2) {
+        //已发货
+        return 3;
+      } else if (value === 3) {
+        //已完成
+        return 4;
+      } else {
+        //待付款、已关闭、无限订单
+        return 1;
+      }
+    },
+    showUpdateReceiverDialog() {
+      this.receiverDialogVisible = true;
+      this.receiverInfo = {
+        orderId: this.order.id,
+        receiverName: this.order.receiverName,
+        receiverPhone: this.order.receiverPhone,
+        receiverPostCode: this.order.receiverPostCode,
+        receiverDetailAddress: this.order.receiverDetailAddress,
+        receiverProvince: this.order.receiverProvince,
+        receiverCity: this.order.receiverCity,
+        receiverRegion: this.order.receiverRegion,
+        status: this.order.status,
+      };
+    },
+    handleUpdateReceiverInfo() {
+      this.$confirm("是否要修改收货信息?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        updateReceiverInfo(this.receiverInfo).then((response) => {
+          this.receiverDialogVisible = false;
+          this.$message({
+            type: "success",
+            message: "修改成功!",
           });
-        });
-      },
-      showUpdateMoneyDialog(){
-        this.moneyDialogVisible=true;
-        this.moneyInfo.orderId=this.order.id;
-        this.moneyInfo.freightAmount=this.order.freightAmount;
-        this.moneyInfo.discountAmount=this.order.discountAmount;
-        this.moneyInfo.status=this.order.status;
-      },
-      handleUpdateMoneyInfo(){
-        this.$confirm('是否要修改费用信息?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          updateMoneyInfo(this.moneyInfo).then(response=>{
-            this.moneyDialogVisible=false;
-            this.$message({
-              type: 'success',
-              message: '修改成功!'
-            });
-            getOrderDetail(this.id).then(response => {
-              this.order = response.data;
-            });
+          getOrderDetail(this.id).then((response) => {
+            this.order = response.data;
           });
         });
-      },
-      showMessageDialog(){
-        this.messageDialogVisible=true;
-        this.message.title=null;
-        this.message.content=null;
-      },
-      handleSendMessage(){
-        this.$confirm('是否要发送站内信?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          this.messageDialogVisible=false;
+      });
+    },
+    showUpdateMoneyDialog() {
+      this.moneyDialogVisible = true;
+      this.moneyInfo.orderId = this.order.id;
+      this.moneyInfo.freightAmount = this.order.freightAmount;
+      this.moneyInfo.discountAmount = this.order.discountAmount;
+      this.moneyInfo.status = this.order.status;
+    },
+    handleUpdateMoneyInfo() {
+      this.$confirm("是否要修改费用信息?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        updateMoneyInfo(this.moneyInfo).then((response) => {
+          this.moneyDialogVisible = false;
           this.$message({
-            type: 'success',
-            message: '发送成功!'
+            type: "success",
+            message: "修改成功!",
+          });
+          getOrderDetail(this.id).then((response) => {
+            this.order = response.data;
           });
         });
-      },
-      showCloseOrderDialog(){
-        this.closeDialogVisible=true;
-        this.closeInfo.note=null;
-        this.closeInfo.id=this.id;
-      },
-      handleCloseOrder(){
-        this.$confirm('是否要关闭?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-            let params = new URLSearchParams();
-            params.append("ids",[this.closeInfo.id]);
-            params.append("note",this.closeInfo.note);
-            closeOrder(params).then(response=>{
-              this.closeDialogVisible=false;
-              this.$message({
-                type: 'success',
-                message: '订单关闭成功!'
-              });
-              getOrderDetail(this.id).then(response => {
-                this.order = response.data;
-              });
-            });
+      });
+    },
+    showMessageDialog() {
+      this.messageDialogVisible = true;
+      this.message.title = null;
+      this.message.content = null;
+    },
+    handleSendMessage() {
+      this.$confirm("是否要发送站内信?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        this.messageDialogVisible = false;
+        this.$message({
+          type: "success",
+          message: "发送成功!",
         });
-      },
-      showMarkOrderDialog(){
-        this.markOrderDialogVisible=true;
-        this.markInfo.id=this.id;
-        this.closeOrder.note=null;
-      },
-      handleMarkOrder(){
-        this.$confirm('是否要备注订单?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          let params = new URLSearchParams();
-          params.append("id",this.markInfo.id);
-          params.append("note",this.markInfo.note);
-          params.append("status",this.order.status);
-          updateOrderNote(params).then(response=>{
-            this.markOrderDialogVisible=false;
-            this.$message({
-              type: 'success',
-              message: '订单备注成功!'
-            });
-            getOrderDetail(this.id).then(response => {
-              this.order = response.data;
-            });
+      });
+    },
+    showCloseOrderDialog() {
+      this.closeDialogVisible = true;
+      this.closeInfo.note = '';
+      this.closeInfo.id = this.id;
+    },
+    handleCloseOrder() {
+      this.$confirm("是否要关闭?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        // let params = new URLSearchParams();
+        // params.append("ids",[this.closeInfo.id]);
+        // params.append("note",this.closeInfo.note);
+        let obj = {
+          ids: [this.closeInfo.id],
+          note: this.closeInfo.note,
+        };
+        closeOrder(obj).then((response) => {
+          this.closeDialogVisible = false;
+          this.$message({
+            type: "success",
+            message: "订单关闭成功!",
+          });
+          getOrderDetail(this.id).then((response) => {
+            this.order = response.data;
           });
         });
-      },
-      handleDeleteOrder(){
-        this.$confirm('是否要进行该删除操作?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          let params = new URLSearchParams();
-          params.append("ids",[this.id]);
-          deleteOrder(params).then(response=>{
-            this.$message({
-              message: '删除成功!',
-              type: 'success',
-              duration: 1000
-            });
-            this.$router.back();
+      });
+    },
+    showMarkOrderDialog() {
+      this.markOrderDialogVisible = true;
+      this.markInfo.id = this.id;
+      this.closeOrder.note = null;
+    },
+    handleMarkOrder() {
+      this.$confirm("是否要备注订单?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        let params = new URLSearchParams();
+        params.append("id", this.markInfo.id);
+        params.append("note", this.markInfo.note);
+        params.append("status", this.order.status);
+        updateOrderNote(params).then((response) => {
+          this.markOrderDialogVisible = false;
+          this.$message({
+            type: "success",
+            message: "订单备注成功!",
           });
-        })
-      },
-      showLogisticsDialog(){
-        this.logisticsDialogVisible=true;
-      }
-    }
-  }
+          getOrderDetail(this.id).then((response) => {
+            this.order = response.data;
+          });
+        });
+      });
+    },
+    handleDeleteOrder() {
+      this.$confirm("是否要进行该删除操作?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        let params = new URLSearchParams();
+        params.append("ids", [this.id]);
+        deleteOrder(params).then((response) => {
+          this.$message({
+            message: "删除成功!",
+            type: "success",
+            duration: 1000,
+          });
+          this.$router.back();
+        });
+      });
+    },
+    showLogisticsDialog() {
+      this.logisticsDialogVisible = true;
+    },
+  },
+};
 </script>
 <style scoped>
-  .detail-container {
-    width: 80%;
-    padding: 20px 20px 20px 20px;
-    margin: 20px auto;
-  }
+.detail-container {
+  width: 80%;
+  padding: 20px 20px 20px 20px;
+  margin: 20px auto;
+}
 
-  .operate-container {
-    background: #F2F6FC;
-    height: 80px;
-    margin: -20px -20px 0;
-    line-height: 80px;
-  }
+.operate-container {
+  background: #f2f6fc;
+  height: 80px;
+  margin: -20px -20px 0;
+  line-height: 80px;
+}
 
-  .operate-button-container {
-    float: right;
-    margin-right: 20px
-  }
+.operate-button-container {
+  float: right;
+  margin-right: 20px;
+}
 
-  .table-layout {
-    margin-top: 20px;
-    border-left: 1px solid #DCDFE6;
-    border-top: 1px solid #DCDFE6;
-  }
+.table-layout {
+  margin-top: 20px;
+  border-left: 1px solid #dcdfe6;
+  border-top: 1px solid #dcdfe6;
+}
 
-  .table-cell {
-    height: 60px;
-    line-height: 40px;
-    border-right: 1px solid #DCDFE6;
-    border-bottom: 1px solid #DCDFE6;
-    padding: 10px;
-    font-size: 14px;
-    color: #606266;
-    text-align: center;
-    overflow: hidden;
-  }
+.table-cell {
+  height: 60px;
+  line-height: 40px;
+  border-right: 1px solid #dcdfe6;
+  border-bottom: 1px solid #dcdfe6;
+  padding: 10px;
+  font-size: 14px;
+  color: #606266;
+  text-align: center;
+  overflow: hidden;
+}
 
-  .table-cell-title {
-    border-right: 1px solid #DCDFE6;
-    border-bottom: 1px solid #DCDFE6;
-    padding: 10px;
-    background: #F2F6FC;
-    text-align: center;
-    font-size: 14px;
-    color: #303133;
-  }
+.table-cell-title {
+  border-right: 1px solid #dcdfe6;
+  border-bottom: 1px solid #dcdfe6;
+  padding: 10px;
+  background: #f2f6fc;
+  text-align: center;
+  font-size: 14px;
+  color: #303133;
+}
 </style>
 
 

+ 11 - 5
src/views/pms/product/components/ProductInfoDetail.vue

@@ -50,7 +50,7 @@
       <el-form-item label="商品货号:">
         <el-input v-model="value.productSn" :disabled="!isEdit"></el-input>
       </el-form-item>
-      <el-form-item label="商品售价:">
+      <el-form-item label="商品售价:" prop="price">
         <el-input-number
           v-model="value.price"
           :disabled="!isEdit"
@@ -60,7 +60,7 @@
           type="number"
         ></el-input-number>
       </el-form-item>
-      <el-form-item label="市场价:">
+      <el-form-item label="市场价:" prop="originalPrice">
         <el-input-number
           v-model="value.originalPrice"
           type="number"
@@ -147,9 +147,9 @@ export default {
             trigger: "blur",
           },
         ],
-        subTitle: [
-          { required: true, message: "请输入商品副标题", trigger: "blur" },
-        ],
+        // subTitle: [
+        //   { required: true, message: "请输入商品副标题", trigger: "blur" },
+        // ],
         productCategoryId: [
           { required: true, message: "请选择商品分类", trigger: "blur" },
         ],
@@ -162,6 +162,12 @@ export default {
         requiredProp: [
           { required: true, message: "该项为必填项", trigger: "blur" },
         ],
+        price: [
+          { required: true, message: "请输入商品售价", trigger: "blur" },
+        ],
+        originalPrice: [
+          { required: true, message: "请输入商品市场价", trigger: "blur" },
+        ],
       },
     };
   },

+ 28 - 16
src/views/pms/product/index.vue

@@ -609,6 +609,7 @@ export default {
         for (let i = 0; i < this.multipleSelection.length; i++) {
           ids.push(this.multipleSelection[i].id);
         }
+        ids = ids.join(",");
         switch (this.operateType) {
           case this.operates[0].value:
             this.updatePublishStatus(1, ids);
@@ -654,16 +655,20 @@ export default {
     handlePublishStatusChange(index, row) {
       let ids = [];
       ids.push(row.id);
+      ids = ids.join(",");
       this.updatePublishStatus(row.publishStatus, ids);
     },
     handleNewStatusChange(index, row) {
       let ids = [];
       ids.push(row.id);
+      ids = ids.join(",");
+
       this.updateNewStatus(row.newStatus, ids);
     },
     handleRecommendStatusChange(index, row) {
       let ids = [];
       ids.push(row.id);
+      ids = ids.join(",");
       this.updateRecommendStatus(row.recommandStatus, ids);
     },
     handleResetSearch() {
@@ -678,6 +683,7 @@ export default {
       }).then(() => {
         let ids = [];
         ids.push(row.id);
+        ids = ids.join(",");
         this.updateDeleteStatus(1, ids);
       });
     },
@@ -695,10 +701,11 @@ export default {
       console.log("handleShowLog", row);
     },
     updatePublishStatus(publishStatus, ids) {
-      let params = new URLSearchParams();
-      params.append("ids", ids);
-      params.append("publishStatus", publishStatus);
-      updatePublishStatus(params).then((response) => {
+      let obj = {
+        ids,
+        publishStatus,
+      };
+      updatePublishStatus(obj).then((response) => {
         this.$message({
           message: "修改成功",
           type: "success",
@@ -707,10 +714,11 @@ export default {
       });
     },
     updateNewStatus(newStatus, ids) {
-      let params = new URLSearchParams();
-      params.append("ids", ids);
-      params.append("newStatus", newStatus);
-      updateNewStatus(params).then((response) => {
+      let obj = {
+        ids,
+        newStatus,
+      };
+      updateNewStatus(obj).then((response) => {
         this.$message({
           message: "修改成功",
           type: "success",
@@ -719,10 +727,12 @@ export default {
       });
     },
     updateRecommendStatus(recommendStatus, ids) {
-      let params = new URLSearchParams();
-      params.append("ids", ids);
-      params.append("recommendStatus", recommendStatus);
-      updateRecommendStatus(params).then((response) => {
+      let obj = {
+        ids,
+        recommendStatus,
+      };
+
+      updateRecommendStatus(obj).then((response) => {
         this.$message({
           message: "修改成功",
           type: "success",
@@ -731,10 +741,12 @@ export default {
       });
     },
     updateDeleteStatus(deleteStatus, ids) {
-      let params = new URLSearchParams();
-      params.append("ids", ids);
-      params.append("deleteStatus", deleteStatus);
-      updateDeleteStatus(params).then((response) => {
+      let obj = {
+        ids,
+        deleteStatus,
+      };
+
+      updateDeleteStatus(obj).then((response) => {
         this.$message({
           message: "删除成功",
           type: "success",

+ 164 - 135
src/views/pms/productCate/index.vue

@@ -3,32 +3,34 @@
     <el-card class="operate-container" shadow="never">
       <i class="el-icon-tickets" style="margin-top: 5px"></i>
       <span style="margin-top: 5px">数据列表</span>
-      <el-button
-        class="btn-add"
-        @click="handleAddProductCate()"
-        size="mini">
+      <el-button class="btn-add" @click="handleAddProductCate()" size="mini">
         添加
       </el-button>
     </el-card>
     <div class="table-container">
-      <el-table ref="productCateTable"
-                style="width: 100%"
-                :data="list"
-                v-loading="listLoading" border>
+      <el-table
+        ref="productCateTable"
+        style="width: 100%"
+        :data="list"
+        v-loading="listLoading"
+        border
+      >
         <el-table-column label="编号" width="100" align="center">
-          <template slot-scope="scope">{{scope.row.id}}</template>
+          <template slot-scope="scope">{{ scope.row.id }}</template>
         </el-table-column>
         <el-table-column label="分类名称" align="center">
-          <template slot-scope="scope">{{scope.row.name}}</template>
+          <template slot-scope="scope">{{ scope.row.name }}</template>
         </el-table-column>
         <el-table-column label="级别" width="100" align="center">
-          <template slot-scope="scope">{{scope.row.level | levelFilter}}</template>
+          <template slot-scope="scope">{{
+            scope.row.level | levelFilter
+          }}</template>
         </el-table-column>
         <el-table-column label="商品数量" width="100" align="center">
-          <template slot-scope="scope">{{scope.row.productCount }}</template>
+          <template slot-scope="scope">{{ scope.row.productCount }}</template>
         </el-table-column>
         <el-table-column label="数量单位" width="100" align="center">
-          <template slot-scope="scope">{{scope.row.productUnit }}</template>
+          <template slot-scope="scope">{{ scope.row.productUnit }}</template>
         </el-table-column>
         <el-table-column label="导航栏" width="100" align="center">
           <template slot-scope="scope">
@@ -36,7 +38,8 @@
               @change="handleNavStatusChange(scope.$index, scope.row)"
               :active-value="1"
               :inactive-value="0"
-              v-model="scope.row.navStatus">
+              v-model="scope.row.navStatus"
+            >
             </el-switch>
           </template>
         </el-table-column>
@@ -46,23 +49,26 @@
               @change="handleShowStatusChange(scope.$index, scope.row)"
               :active-value="1"
               :inactive-value="0"
-              v-model="scope.row.showStatus">
+              v-model="scope.row.showStatus"
+            >
             </el-switch>
           </template>
         </el-table-column>
         <el-table-column label="排序" width="100" align="center">
-          <template slot-scope="scope">{{scope.row.sort }}</template>
+          <template slot-scope="scope">{{ scope.row.sort }}</template>
         </el-table-column>
         <el-table-column label="设置" width="200" align="center">
           <template slot-scope="scope">
             <el-button
               size="mini"
               :disabled="scope.row.level | disableNextLevel"
-              @click="handleShowNextLevel(scope.$index, scope.row)">查看下级
+              @click="handleShowNextLevel(scope.$index, scope.row)"
+              >查看下级
             </el-button>
             <el-button
               size="mini"
-              @click="handleTransferProduct(scope.$index, scope.row)">转移商品
+              @click="handleTransferProduct(scope.$index, scope.row)"
+              >转移商品
             </el-button>
           </template>
         </el-table-column>
@@ -70,12 +76,14 @@
           <template slot-scope="scope">
             <el-button
               size="mini"
-              @click="handleUpdate(scope.$index, scope.row)">编辑
+              @click="handleUpdate(scope.$index, scope.row)"
+              >编辑
             </el-button>
             <el-button
               size="mini"
               type="danger"
-              @click="handleDelete(scope.$index, scope.row)">删除
+              @click="handleDelete(scope.$index, scope.row)"
+              >删除
             </el-button>
           </template>
         </el-table-column>
@@ -88,143 +96,164 @@
         @current-change="handleCurrentChange"
         layout="total, sizes,prev, pager, next,jumper"
         :page-size="listQuery.pageSize"
-        :page-sizes="[5,10,15]"
+        :page-sizes="[5, 10, 15]"
         :current-page.sync="listQuery.pageNum"
-        :total="total">
+        :total="total"
+      >
       </el-pagination>
     </div>
   </div>
 </template>
 
 <script>
-  import {fetchList,deleteProductCate,updateShowStatus,updateNavStatus} from '@/api/productCate'
+import {
+  fetchList,
+  deleteProductCate,
+  updateShowStatus,
+  updateNavStatus,
+} from "@/api/productCate";
 
-  export default {
-    name: "productCateList",
-    data() {
-      return {
-        list: null,
-        total: null,
-        listLoading: true,
-        listQuery: {
-          pageNum: 1,
-          pageSize: 5
-        },
-        parentId: 0
-      }
-    },
-    created() {
+export default {
+  name: "productCateList",
+  data() {
+    return {
+      list: null,
+      total: null,
+      listLoading: true,
+      listQuery: {
+        pageNum: 1,
+        pageSize: 5,
+      },
+      parentId: 0,
+    };
+  },
+  created() {
+    this.resetParentId();
+    this.getList();
+  },
+  watch: {
+    $route(route) {
       this.resetParentId();
       this.getList();
     },
-    watch: {
-      $route(route) {
-        this.resetParentId();
-        this.getList();
+  },
+  methods: {
+    resetParentId() {
+      this.listQuery.pageNum = 1;
+      if (this.$route.query.parentId != null) {
+        this.parentId = this.$route.query.parentId;
+      } else {
+        this.parentId = 0;
       }
     },
-    methods: {
-      resetParentId(){
-        this.listQuery.pageNum = 1;
-        if (this.$route.query.parentId != null) {
-          this.parentId = this.$route.query.parentId;
-        } else {
-          this.parentId = 0;
-        }
-      },
-      handleAddProductCate() {
-        this.$router.push('/pms/addProductCate');
-      },
-      getList() {
-        this.listLoading = true;
-        fetchList(this.parentId, this.listQuery).then(response => {
-          this.listLoading = false;
-          this.list = response.data.list;
-          this.total = response.data.total;
+    handleAddProductCate() {
+      this.$router.push("/pms/addProductCate");
+    },
+    getList() {
+      this.listLoading = true;
+      fetchList(this.parentId, this.listQuery).then((response) => {
+        this.listLoading = false;
+        this.list = response.data.list;
+        this.total = response.data.total;
+      });
+    },
+    handleSizeChange(val) {
+      this.listQuery.pageNum = 1;
+      this.listQuery.pageSize = val;
+      this.getList();
+    },
+    handleCurrentChange(val) {
+      this.listQuery.pageNum = val;
+      this.getList();
+    },
+    handleNavStatusChange(index, row) {
+      // let data = new URLSearchParams();
+      let ids = [];
+      ids.push(row.id);
+      // data.append('ids',ids);
+      // data.append('navStatus',row.navStatus);
+      ids = ids.join(",");
+      let obj = {
+        ids,
+        navStatus: row.navStatus,
+      };
+      updateNavStatus(obj).then((response) => {
+        this.$message({
+          message: "修改成功",
+          type: "success",
+          duration: 1000,
         });
-      },
-      handleSizeChange(val) {
-        this.listQuery.pageNum = 1;
-        this.listQuery.pageSize = val;
-        this.getList();
-      },
-      handleCurrentChange(val) {
-        this.listQuery.pageNum = val;
-        this.getList();
-      },
-      handleNavStatusChange(index, row) {
-        let data = new URLSearchParams();
-        let ids=[];
-        ids.push(row.id)
-        data.append('ids',ids);
-        data.append('navStatus',row.navStatus);
-        updateNavStatus(data).then(response=>{
-          this.$message({
-            message: '修改成功',
-            type: 'success',
-            duration: 1000
-          });
+      });
+    },
+    handleShowStatusChange(index, row) {
+      // let data = new URLSearchParams();
+      let ids = [];
+      ids.push(row.id);
+      ids = ids.join(",");
+      // data.append('ids',ids);
+      // data.append('showStatus',row.showStatus);
+      let obj = {
+        ids,
+        showStatus: row.showStatus,
+      };
+      updateShowStatus(obj).then((response) => {
+        this.$message({
+          message: "修改成功",
+          type: "success",
+          duration: 1000,
         });
-      },
-      handleShowStatusChange(index, row) {
-        let data = new URLSearchParams();
-        let ids=[];
-        ids.push(row.id)
-        data.append('ids',ids);
-        data.append('showStatus',row.showStatus);
-        updateShowStatus(data).then(response=>{
+      });
+    },
+    handleShowNextLevel(index, row) {
+      this.$router.push({
+        path: "/pms/productCate",
+        query: { parentId: row.id },
+      });
+    },
+    handleTransferProduct(index, row) {
+      console.log("handleAddProductCate");
+    },
+    handleUpdate(index, row) {
+      this.$router.push({
+        path: "/pms/updateProductCate",
+        query: { id: row.id },
+      });
+    },
+    handleDelete(index, row) {
+      this.$confirm("是否要删除该品牌", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        deleteProductCate(row.id).then((response) => {
           this.$message({
-            message: '修改成功',
-            type: 'success',
-            duration: 1000
-          });
-        });
-      },
-      handleShowNextLevel(index, row) {
-        this.$router.push({path: '/pms/productCate', query: {parentId: row.id}})
-      },
-      handleTransferProduct(index, row) {
-        console.log('handleAddProductCate');
-      },
-      handleUpdate(index, row) {
-        this.$router.push({path:'/pms/updateProductCate',query:{id:row.id}});
-      },
-      handleDelete(index, row) {
-        this.$confirm('是否要删除该品牌', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          deleteProductCate(row.id).then(response => {
-            this.$message({
-              message: '删除成功',
-              type: 'success',
-              duration: 1000
-            });
-            this.getList();
+            message: "删除成功",
+            type: "success",
+            duration: 1000,
           });
+          this.getList();
         });
+      });
+    },
+  },
+  filters: {
+    levelFilter(value) {
+      if (value === 0) {
+        return "一级";
+      } else if (value === 1) {
+        return "二级";
       }
     },
-    filters: {
-      levelFilter(value) {
-        if (value === 0) {
-          return '一级';
-        } else if (value === 1) {
-          return '二级';
-        }
-      },
-      disableNextLevel(value) {
-        if (value === 0) {
-          return false;
-        } else {
-          return true;
-        }
+    disableNextLevel(value) {
+      if (value === 0) {
+        return false;
+      } else {
+        return true;
       }
-    }
-  }
+    },
+  },
+};
 </script>
 
 <style scoped>
-
 </style>