Browse Source

京东退货完成

cz 2 years ago
parent
commit
70280e547e

+ 58 - 0
src/api/order-management/JDReturnGoods/index.js

@@ -0,0 +1,58 @@
+import request from '@/router/axios'
+
+// 京东退货列表 
+export function JDreGoodsList(data = {}) {
+  return request({
+    url: '/api/victoriatourist/jdBack/page',
+    method: 'post',
+    data: data,
+  })
+}
+
+
+
+// 添加
+export function JDreGoodsAdd(data = {}) {
+  return request({
+    url: '/api/victoriatourist/jdBack/add',
+    method: 'post',
+    data: data,
+  })
+}
+// 编辑
+export function JDreGoodsEdit(data = {}) {
+  return request({
+    url: '/api/victoriatourist/jdBack/edit',
+    method: 'post',
+    data: data,
+  })
+}
+// 详情
+export function JDreGoodsDetails(data = {}) {
+  return request({
+    url: '/api/victoriatourist/jdBack/details',
+    method: 'post',
+    data: data,
+  })
+}
+
+
+
+// 删除 
+export function JDreGoodsDel(data = {}) {
+  return request({
+    url: '/api/victoriatourist/jdBack/delete',
+    method: 'post',
+    data: data,
+  })
+}
+
+
+// 物流数据 
+export function getLogisticsData(data = {}) {
+  return request({
+    url: '/api/victoriatourist/logisticsInfo/dataInfoPage',
+    method: 'post',
+    data: data,
+  })
+}

+ 1 - 1
src/components/order/details.vue

@@ -8,7 +8,7 @@
         <el-row :gutter="10">
           <el-col :span="12">
             <el-form-item label="客户:" prop="customerName">
-              <span>{{ form.customerName }}</span>
+              <span>{{ form.customerName ? form.customerName : '京东' }}</span>
             </el-form-item>
           </el-col>
           <el-col :span="10">

+ 110 - 0
src/components/purchase/details.vue

@@ -0,0 +1,110 @@
+<template>
+  <div>
+    <el-form :model="form" label-position="left" v-loading="loading">
+      <div style="margin-bottom: 20px">
+        <labelTitle content="申购信息"></labelTitle>
+      </div>
+      <div style="padding: 0px 20px">
+        <el-row :gutter="10">
+          <el-col :span="12">
+            <el-form-item label="收货仓库:" prop="customerName">
+              <span>{{ form.customerName ? form.customerName : "京东" }}</span>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="要求到货时间:" prop="type">
+              <span>
+                {{ form.planArrivalTime }}
+              </span>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </div>
+      <div style="padding: 0px 20px">
+        <el-form-item label="申购说明:" prop="cause">
+          <span>{{ form.cause }}</span>
+        </el-form-item>
+      </div>
+
+      <div style="margin-bottom: 20px">
+        <labelTitle content="申购明细"></labelTitle>
+      </div>
+      <div style="padding: 0px 20px">
+        <el-table :data="form.orderDetailsList">
+          <el-table-column label="物品编码" prop="goodsCode"> </el-table-column>
+          <el-table-column label="物品名称" prop="goodsName"> </el-table-column>
+          <el-table-column label="物品单位" prop="goodsUnit"> </el-table-column>
+          <el-table-column label="数量" prop="quantity"> </el-table-column>
+        </el-table>
+        <el-row>
+          <el-col :span="10">
+            <el-form-item label="订单总金额:" prop="amountMoney">
+              {{ form.amountMoney }}
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </div>
+      <div style="margin-bottom: 20px">
+        <labelTitle content="收货信息"></labelTitle>
+      </div>
+      <div style="padding: 0px 20px">
+        <el-form-item label="收件人:">
+          {{ form.contacts }} , {{ form.phone }}
+        </el-form-item>
+        <el-form-item label="收件地址:">
+          {{ form.countryName }} , {{ form.provinceName }} ,
+          {{ form.cityName }} ,
+          {{ form.detailedAddress }}
+        </el-form-item>
+      </div>
+    </el-form>
+  </div>
+</template>
+
+<script>
+import { subscribeDetails } from "@/api/purchase-management/subscribe/index.js";
+import labelTitle from "@/components/label-title/index.vue";
+
+export default {
+  props: {
+    rowData: {
+      type: Object,
+    },
+  },
+  components: {
+    labelTitle,
+  },
+  data() {
+    return {
+      loading: true,
+      form: {},
+      orderTypeList: [],
+    };
+  },
+  created() {
+    // const businessDictData = JSON.parse(
+    //   window.localStorage.getItem("businessDict")
+    // );
+    // this.orderTypeList = businessDictData.find(
+    //   (item) => item.code === "orderType"
+    // ).children;
+  },
+  mounted() {
+    if (this.rowData.id) {
+      subscribeDetails({ id: this.rowData.id }).then((res) => {
+        console.log(res, "ass");
+        // this.form = res.data.data;
+        this.loading = false;
+      });
+    }
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep {
+  .el-form-item {
+    margin-bottom: 5px;
+  }
+}
+</style>

+ 26 - 0
src/router/page/index.js

@@ -358,6 +358,32 @@ export default [
     ],
   },
   {
+    path: '/order-management/JDReturnGoods',
+    component: Layout,
+    redirect: '/order-management/JDReturnGoods/index',
+    children: [
+      {
+        path: 'index',
+        name: '京东退货',
+        component: () => import(/* webpackChunkName: "page" */ '@/views/order-management/JDReturnGoods/index'),
+        props: true,
+      },
+    ],
+  },
+  {
+    path: '/order-management/JDReturnGoods',
+    component: Layout,
+    redirect: '/order-management/JDReturnGoods/logisticsList',
+    children: [
+      {
+        path: 'logisticsList',
+        name: '物流数据',
+        component: () => import(/* webpackChunkName: "page" */ '@/views/order-management/JDReturnGoods/logisticsList'),
+        props: true,
+      },
+    ],
+  },
+  {
     path: '/inventory-management/query',
     component: Layout,
     redirect: '/inventory-management/query/index',

+ 1 - 0
src/views/inventory-management/check/index.vue

@@ -60,6 +60,7 @@ export default {
         },
       ],
       tableList: [],
+      total: 0,
       loading: false,
       titleText: "",
       open: false,

+ 289 - 0
src/views/order-management/JDReturnGoods/addReturnGoods.vue

@@ -0,0 +1,289 @@
+<template>
+  <div v-loading="loading">
+    <div class="form-box">
+      <el-form
+        label-position="top"
+        :model="form"
+        ref="form"
+        :rules="formRules"
+        label-width="100px"
+      >
+        <el-row :gutter="10">
+          <el-col :span="6">
+            <el-form-item label="订单编号" prop="jdBackOrderId">
+              <el-select
+                v-model="form.jdBackOrderId"
+                placeholder="请选择"
+                style="width: 100%"
+                @change="handleChange"
+              >
+                <el-option
+                  v-for="item in JDorderList"
+                  :key="item.id"
+                  :label="item.code"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="仓库名称" prop="warehouseId">
+              <el-select
+                v-model="form.warehouseId"
+                placeholder="请选择"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in warehouseSelectList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                  <span style="float: left">{{
+                    `${item.name}(${dictDataEcho(
+                      item.type,
+                      warehouseTypeList
+                    )})`
+                  }}</span>
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="10">
+          <el-col :span="6">
+            <el-form-item label="物流信息" prop="logisticsCompanyCode">
+              <el-select
+                v-model="form.logisticsCompanyCode"
+                placeholder="请选择"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in logisticsData"
+                  :key="item.code"
+                  :label="item.name"
+                  :value="item.code"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="物流/快递单" prop="code">
+              <el-input
+                v-model="form.code"
+                placeholder="物流/快递单号"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <div style="margin-bottom: 20px">
+          <labelTitle content="退货明细"></labelTitle>
+        </div>
+        <el-form-item label-width="0px">
+          <el-button type="primary" size="mini" @click="handleAddProduct">
+            添加产品</el-button
+          >
+        </el-form-item>
+        <el-form-item>
+          <el-table :data="form.logisticsDetailsList">
+            <el-table-column label="产品类型" prop="classifyName">
+            </el-table-column>
+            <el-table-column label="产品编码" prop="productCode">
+            </el-table-column>
+            <el-table-column label="产品名称" prop="productName">
+            </el-table-column>
+            <el-table-column label="退货数量" prop="shipmentQuantity">
+              <template slot-scope="scope">
+                <el-form-item
+                  :prop="
+                    'logisticsDetailsList.' + scope.$index + '.shipmentQuantity'
+                  "
+                  :rules="formRules.shipmentQuantity"
+                  :inline-message="true"
+                  label-width="0"
+                >
+                  <el-input
+                    v-model="scope.row.shipmentQuantity"
+                    placeholder="请输入"
+                    size="mini"
+                  >
+                  </el-input>
+                </el-form-item>
+              </template>
+            </el-table-column>
+
+            <el-table-column label="操作" width="100" align="left">
+              <template slot-scope="scope">
+                <el-button type="text" @click="deleteRow(scope.$index)">
+                  删除
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div style="text-align: center; margin-top: 15px">
+      <el-button size="small" @click="handleCancel">取消 </el-button>
+      <el-button type="primary" size="small" @click="handleSubmit">
+        确定</el-button
+      >
+    </div>
+
+    <el-dialog
+      title="产品选择"
+      v-if="selectDialog"
+      :visible.sync="selectDialog"
+      width="80%"
+      top="60px"
+    >
+      <selectProduct @select="handleSelect"></selectProduct>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import labelTitle from "@/components/label-title/index.vue";
+import selectProduct from "@/components/select-product/index.vue";
+import { getLogisticsData } from "@/api/system/common.js";
+import { warehouseSelectList } from "@/api/product-material/warehouse/index.js";
+import { JDorderList } from "@/api/order-management/order/JDorder.js";
+
+export default {
+  name: "addReturnGoods",
+  components: { labelTitle, selectProduct },
+  props: {
+    form: {
+      type: Object,
+      default: () => {},
+    },
+  },
+  data() {
+    return {
+      loading: false,
+      formRules: {
+        warehouseId: [
+          {
+            required: true,
+            message: "请选择仓库",
+            trigger: "change",
+          },
+        ],
+        shipmentQuantity: [
+          {
+            required: true,
+            message: "请输入退货数量",
+            trigger: "blur",
+          },
+        ],
+      },
+      selectDialog: false,
+      logisticsData: [],
+      warehouseSelectList: [],
+      warehouseTypeList: [],
+      productTypeList: [],
+      JDorderList: [],
+    };
+  },
+  created() {
+    getLogisticsData({ keyword: "" }).then((res) => {
+      this.logisticsData = res.data.data;
+    });
+    warehouseSelectList().then((res) => {
+      this.warehouseSelectList = res.data.data;
+    });
+    JDorderList({ pageNum: 1, pageSize: 9999 }).then(
+      (res) => {
+        this.JDorderList = res.data.data.records;
+      },
+      (err) => {
+        console.log("JDorderList: " + err);
+      }
+    );
+    const businessDictData = JSON.parse(
+      window.localStorage.getItem("businessDict")
+    );
+    this.warehouseTypeList = businessDictData.find(
+      (item) => item.code === "warehouseType"
+    ).children;
+
+    this.productTypeList = businessDictData.find(
+      (item) => item.code === "productType"
+    ).children;
+  },
+  methods: {
+    handleSubmit() {
+      this.$refs.form.validate((valid) => {
+        if (valid) {
+          if (this.form.logisticsDetailsList.length < 1) {
+            return this.msgInfo("请添加退货明细!");
+          }
+          this.loading = true;
+          this.form.logisticsDetailsList = this.form.logisticsDetailsList.map(
+            (x) => ({
+              jdBackProductId: x.jdBackProductId,
+              shipmentQuantity: x.shipmentQuantity,
+              id: x.id,
+            })
+          );
+          this.$emit("submit");
+        }
+      });
+    },
+    handleCancel() {
+      this.$emit("cancel");
+    },
+    handleChange(orderId) {
+      const current = this.JDorderList.find((x) => x.id === orderId);
+      if (current) {
+        this.form.jdBackOrderCode = current.code;
+      }
+    },
+
+    handleAddProduct() {
+      if (!this.form.warehouseId) return this.msgInfo("请先选择仓库");
+      this.selectDialog = true;
+    },
+    handleSelect(row) {
+      const flag = this.form.logisticsDetailsList.some(
+        (x) => x.jdBackProductId === row.id
+      );
+      if (flag) return this.msgInfo("该产品已经选择");
+      const product = {
+        classifyName: row.classifyName || "",
+        productCode: row.code,
+        productName: row.name,
+        jdBackProductId: row.id,
+        shipmentQuantity: "",
+        id: "",
+      };
+      this.form.logisticsDetailsList.push(product);
+      this.msgSuccess("选择成功");
+    },
+    deleteRow(index) {
+      this.form.logisticsDetailsList.splice(index, 1);
+      this.msgSuccess("删除成功");
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.form-box {
+  height: calc(100vh - 280px);
+  overflow: auto;
+  box-sizing: border-box;
+  padding: 10px;
+}
+::v-deep {
+  .el-form-item {
+    margin-bottom: 3px;
+  }
+  .el-form--label-top .el-form-item__label {
+    padding: 8px 0 0 0;
+  }
+}
+</style>

+ 264 - 0
src/views/order-management/JDReturnGoods/index.vue

@@ -0,0 +1,264 @@
+
+
+<script>
+import test from "@/components/form-test/index.vue";
+import query from "@/components/query/index.vue";
+import addReturnGoods from "./addReturnGoods.vue";
+import * as API from "@/api/order-management/JDReturnGoods/index.js";
+
+export default {
+  components: {
+    test,
+    query,
+    addReturnGoods,
+  },
+  data() {
+    return {
+      returnGoodsStatusList: [],
+      btnForm: {
+        otherButton: {
+          list: [
+            {
+              name: "新建退货",
+              methodsText: "add",
+              type: "primary",
+              add: () => {
+                this.handleAdd();
+              },
+            },
+          ],
+        },
+      },
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        keyword: "",
+        jdBackStatus: "",
+      },
+      selectConfig: [
+        {
+          label: "状态",
+          prop: "jdBackStatus",
+          data: [],
+        },
+      ],
+      tableList: [],
+      total: 0,
+      loading: false,
+      titleText: "",
+      open: false,
+      form: {
+        warehouseId: "",
+        jdBackOrderId: "",
+        jdBackOrderCode: "",
+        code: "",
+        logisticsCompanyCode: "",
+        logisticsDetailsList: [],
+      },
+    };
+  },
+  created() {
+    const businessDictData = JSON.parse(
+      window.localStorage.getItem("businessDict")
+    );
+    this.returnGoodsStatusList = businessDictData.find(
+      (item) => item.code === "returnGoodsStatus"
+    ).children;
+    this.selectConfig[0].data = this.returnGoodsStatusList.map((item) => ({
+      label: item.dictValue,
+      value: item.dictKey,
+    }));
+
+    this.getList();
+  },
+  methods: {
+    getList() {
+      this.loading = true;
+      API.JDreGoodsList(this.queryParams).then(
+        (res) => {
+          this.tableList = res.data.data.records;
+          this.total = res.data.data.total;
+          this.loading = false;
+        },
+        (err) => {
+          console.log("JDreGoodsList: " + err);
+          this.loading = false;
+        }
+      );
+    },
+    handleQuery() {
+      this.getList();
+    },
+    handleAdd() {
+      this.titleText = "新建退货";
+      this.form = {
+        warehouseId: "",
+        jdBackOrderId: "",
+        jdBackOrderCode: "",
+        code: "",
+        logisticsCompanyCode: "",
+        logisticsDetailsList: [],
+      };
+      this.open = true;
+    },
+    handleEdit(row) {
+      this.titleText = "编辑退货";
+      this.open = true;
+      this.$nextTick(() => {
+        this.$refs.addReturnGoods.loading = true;
+        API.JDreGoodsDetails({ id: row.id }).then((res) => {
+          this.form = res.data.data;
+
+          this.$refs.addReturnGoods.loading = false;
+        });
+      });
+    },
+
+    handleDel(row) {
+      this.$confirm("是否确认删除该条数据 ?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        API.JDreGoodsDel({ id: row.id }).then(() => {
+          this.msgSuccess("删除成功");
+          this.getList();
+        });
+      });
+    },
+    handleCancel() {
+      this.open = false;
+    },
+    handleSubmit() {
+      this.$refs.addReturnGoods.loading = true;
+      if (this.form.id) {
+        API.JDreGoodsEdit(this.form).then(
+          () => {
+            this.msgSuccess("编辑成功");
+            this.$refs.addReturnGoods.loading = false;
+            this.open = false;
+            this.getList();
+          },
+          (err) => {
+            console.log("JDreGoodsEdit: " + err);
+            this.$refs.addReturnGoods.loading = false;
+          }
+        );
+      } else {
+        API.JDreGoodsAdd(this.form).then(
+          () => {
+            this.msgSuccess("新建成功");
+            this.$refs.addReturnGoods.loading = false;
+            this.open = false;
+            this.getList();
+          },
+          (err) => {
+            console.log("JDreGoodsAdd: " + err);
+            this.$refs.addReturnGoods.loading = false;
+          }
+        );
+      }
+    },
+  },
+};
+</script>
+
+
+<template>
+  <div class="box-card">
+    <el-card class="header">
+      <test :form-config="btnForm"></test>
+    </el-card>
+    <el-card class="body-main">
+      <query
+        :selectConfig="selectConfig"
+        :req="queryParams"
+        :isShowMore="true"
+        @handleQuery="handleQuery"
+        @handleMore="
+          () => {
+            queryDialog = true;
+          }
+        "
+      ></query>
+      <el-table :data="tableList" v-loading="loading">
+        <el-table-column label="订单编号" align="left" prop="jdBackOrderCode" />
+        <el-table-column label="退货时间" align="left" prop="createTime" />
+        <el-table-column label="物流单号" align="left" prop="code" />
+        <el-table-column
+          label="物流公司编码"
+          align="left"
+          prop="logisticsCompanyCode"
+        />
+        <el-table-column label="物流公司名称" align="left" prop="companyName" />
+        <el-table-column label="仓库名称" align="left" prop="warehouseName" />
+        <el-table-column
+          label="状态"
+          align="left"
+          prop="jdBackStatus"
+          :formatter="
+            (row) => dictDataEcho(row.jdBackStatus, returnGoodsStatusList)
+          "
+        />
+        <el-table-column label="操作" align="center" width="100">
+          <template slot-scope="scope">
+            <el-button
+              type="text"
+              v-if="scope.row.jdBackStatus === 1"
+              @click="handleEdit(scope.row)"
+            >
+              修改
+            </el-button>
+            <el-button
+              type="text"
+              v-if="scope.row.jdBackStatus === 1"
+              @click="handleDel(scope.row)"
+            >
+              删除
+            </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-card>
+
+    <el-dialog
+      :title="titleText"
+      :visible.sync="open"
+      v-if="open"
+      width="80%"
+      top="60px"
+    >
+      <add-return-goods
+        :form="form"
+        @submit="handleSubmit"
+        @cancel="handleCancel"
+        ref="addReturnGoods"
+      ></add-return-goods>
+    </el-dialog>
+  </div>
+</template>
+
+
+<style lang="scss" scoped>
+.box-card {
+  height: calc(100vh - 110px);
+  overflow-y: auto;
+  display: flex;
+  flex-direction: column;
+  .header {
+    // height: 100px;
+    margin-bottom: 10px;
+    box-sizing: border-box;
+  }
+  .body-main {
+    flex: 1;
+  }
+}
+</style>

+ 107 - 0
src/views/order-management/JDReturnGoods/logisticsList.vue

@@ -0,0 +1,107 @@
+
+<script>
+import query from "@/components/query/index.vue";
+
+import * as API from "@/api/order-management/JDReturnGoods/index.js";
+
+export default {
+  components: {
+    query,
+  },
+  data() {
+    return {
+      loading: false,
+      selectConfig: [],
+
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        keyword: "",
+        inStockStatus: "",
+      },
+      tableList: [],
+      total: 0,
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    getList() {
+      this.loading = true;
+      API.getLogisticsData(this.queryParams).then(
+        (res) => {
+          this.tableList = res.data.data.records;
+          this.total = res.data.data.total;
+          this.loading = false;
+        },
+        (err) => {
+          console.log("getLogisticsData: " + err);
+          this.loading = false;
+        }
+      );
+    },
+  },
+};
+</script>
+<template>
+  <el-card class="box-card">
+    <query
+      :selectConfig="selectConfig"
+      :req="queryParams"
+      :isShowMore="false"
+      @handleQuery="handleQuery"
+      @handleMore="
+        () => {
+          queryDialog = true;
+        }
+      "
+    ></query>
+    <el-table :data="tableList" v-loading="loading">
+      <el-table-column label="物流单号" align="left" prop="code" />
+      <el-table-column
+        label="物流公司编码"
+        align="left"
+        prop="logisticsCompanyCode"
+        width="120"
+      />
+      <el-table-column label="物流状态" align="left" prop="logisticsStatus" />
+      <el-table-column label="创建时间" align="left" prop="createTime" />
+
+      <!-- <el-table-column
+        label="状态"
+        align="left"
+        prop="status"
+        width="100"
+        :formatter="(row) => dictDataEcho(row.inStockStatus, inStockStatusList)"
+      /> -->
+      <!-- <el-table-column label="操作" align="left" width="100">
+        <template slot-scope="scope">
+          <el-button
+            type="text"
+            @click="handleInbound(scope.row)"
+            v-if="scope.row.status < 30"
+          >
+            入库
+          </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-card>
+</template>
+
+
+
+<style lang="scss" scoped>
+.box-card {
+  height: calc(100vh - 110px);
+  overflow-y: auto;
+}
+</style>

+ 20 - 0
src/views/order-management/order/JDorder.vue

@@ -6,6 +6,7 @@ import query from "@/components/query/index.vue";
 
 import byTable from "@/components/by-table/index.js";
 import addOrder from "./addOrder.vue";
+import OrderDetails from "@/components/order/details.vue";
 
 import * as API from "@/api/order-management/order/JDorder.js";
 
@@ -15,6 +16,7 @@ export default {
     byTable,
     query,
     addOrder,
+    OrderDetails
   },
   data() {
     return {
@@ -80,6 +82,8 @@ export default {
         remark: "",
         orderDetailsList: [],
       },
+        detailsDialog:false,
+      selectOrderId:"",
     };
   },
   created() {
@@ -181,6 +185,10 @@ export default {
         }
       );
     },
+        handleLookDetails(row){
+      this.selectOrderId = row.id
+      this.detailsDialog = true
+    }
   },
 };
 </script>
@@ -212,6 +220,7 @@ export default {
                 cursor: pointer;
                 text-decoration: underline;
               "
+                 @click="handleLookDetails(scope.row)"
             >
               {{ scope.row.code }}
             </div>
@@ -289,6 +298,17 @@ export default {
         ref="addOrder"
       ></add-order>
     </el-dialog>
+
+    
+      <el-dialog
+      title="订单详情"
+      v-if="detailsDialog"
+      :visible.sync="detailsDialog"
+      width="50%"
+      top="60px"
+    >
+      <OrderDetails :orderId="selectOrderId"></OrderDetails>
+    </el-dialog>
   </div>
 </template>
 

+ 21 - 0
src/views/order-management/order/index.vue

@@ -9,6 +9,8 @@ import addOrder from "./addOrder.vue";
 
 import * as API from "@/api/order-management/order/index.js";
 import { customerList } from "@/api/product-material/customer/index.js";
+import OrderDetails from "@/components/order/details.vue";
+
 
 export default {
   components: {
@@ -16,6 +18,7 @@ export default {
     byTable,
     query,
     addOrder,
+    OrderDetails
   },
   data() {
     return {
@@ -77,6 +80,8 @@ export default {
         remark: "",
         orderDetailsList: [],
       },
+      detailsDialog:false,
+      selectOrderId:"",
     };
   },
   created() {
@@ -207,6 +212,10 @@ export default {
         </div>
       );
     },
+    handleLookDetails(row){
+      this.selectOrderId = row.id
+      this.detailsDialog = true
+    }
   },
 };
 </script>
@@ -244,6 +253,8 @@ export default {
                 cursor: pointer;
                 text-decoration: underline;
               "
+
+              @click="handleLookDetails(scope.row)"
             >
               {{ scope.row.code }}
             </div>
@@ -316,6 +327,16 @@ export default {
         ref="addOrder"
       ></add-order>
     </el-dialog>
+
+      <el-dialog
+      title="订单详情"
+      v-if="detailsDialog"
+      :visible.sync="detailsDialog"
+      width="50%"
+      top="60px"
+    >
+      <OrderDetails :orderId="selectOrderId"></OrderDetails>
+    </el-dialog>
   </div>
 </template>
 

+ 1 - 6
src/views/product-material/product/index.vue

@@ -304,18 +304,12 @@ export default {
           prop: "type",
           data: [],
         },
-        // {
-        //   label: this.$t("product_material.product.deptId"),
-        //   prop: "deptId",
-        //   data: [],
-        // },
         {
           label: "生命周期",
           prop: "lifeCycle",
           data: [],
         },
       ],
-
       open: false,
       form: {
         classifyId: "",
@@ -341,6 +335,7 @@ export default {
       queryDialog: false,
       timeArr: [],
       fileData: {},
+      rowData: {},
       openOne: false,
       moveForm: {
         transferDetpId: "",

+ 1 - 5
src/views/product-material/product/productLabel.vue

@@ -22,7 +22,6 @@
               style="width: 100%"
               class="inline-input"
               placeholder="请输入标签名称"
-              @keyup.enter.native="clickAdd"
             >
             </el-autocomplete>
           </el-form-item>
@@ -136,10 +135,7 @@ export default {
               this.msgSuccess("保存完成");
               this.getTag();
               this.$emit("update");
-              this.form = {
-                productInfoId: "",
-                tagName: "",
-              };
+              this.$refs.ruleForm.resetFields();
               this.loadingStatus = false;
             },
             (err) => {

+ 24 - 17
src/views/purchase-management/deliver-goods/index.vue

@@ -18,7 +18,6 @@ export default {
       productTypeList: [],
       supplySelectList: [],
       supplyTypeList: [],
-
       queryParams: {
         pageNum: 1,
         pageSize: 10,
@@ -127,22 +126,7 @@ export default {
       this.open = true;
       this.$nextTick(() => {
         this.$refs.sendGoods.loading = true;
-        // API.purchaseDetails({ id: row.id }).then(
-        //   (res) => {
-        //     this.form.details = res.data.data.goodsList.map((x) => ({
-        //       goodsCode: x.goodsCode,
-        //       goodsName: x.goodsName,
-        //       quantity: x.quantity,
-        //       purchaseId: row.id,
-        //       applyPurchaseId: x.id,
-        //       shipmentQuantity: Number(x.quantity),
-        //     }));
-        //     this.$refs.sendGoods.loading = false;
-        //   },
-        //   (err) => {
-        //     this.$refs.sendGoods.loading = false;
-        //   }
-        // );
+
         API.lookSendGoodsDetails({ id: row.id }).then(
           (res) => {
             this.form.details = res.data.data.map((x) => ({
@@ -266,6 +250,28 @@ export default {
         </div>
       );
     },
+    openDetails(row) {
+      this.open = true;
+      this.$nextTick(() => {
+        this.$refs.sendGoods.loading = true;
+        API.purchaseDetails({ id: row.id }).then(
+          (res) => {
+            this.form.details = res.data.data.goodsList.map((x) => ({
+              goodsCode: x.goodsCode,
+              goodsName: x.goodsName,
+              quantity: x.quantity,
+              purchaseId: row.id,
+              applyPurchaseId: x.id,
+              shipmentQuantity: Number(x.quantity),
+            }));
+            this.$refs.sendGoods.loading = false;
+          },
+          (err) => {
+            this.$refs.sendGoods.loading = false;
+          }
+        );
+      });
+    },
   },
 };
 </script>
@@ -294,6 +300,7 @@ export default {
                 cursor: pointer;
                 text-decoration: underline;
               "
+              @click="openDetails(scope.row)"
             >
               {{ scope.row.code }}
             </div>

+ 1 - 1
src/views/purchase-management/purchase/addPurchase.vue

@@ -11,7 +11,7 @@
         <el-row>
           <el-col :span="8">
             <el-form-item label="供应商" prop="supplierId">
-              <el-select
+                  <el-select
                 v-model="form.supplierId"
                 placeholder="请选择"
                 style="width: 100%"

+ 3 - 0
src/views/purchase-management/purchase/index.vue

@@ -16,6 +16,7 @@ export default {
     byTable,
     query,
     addPurchase,
+    
   },
   data() {
     return {
@@ -76,6 +77,7 @@ export default {
         goodsId: [],
       },
       selectData: [],
+    
     };
   },
   created() {
@@ -380,6 +382,7 @@ export default {
         ref="sendSubscribe"
       ></add-purchase>
     </el-dialog>
+  
   </div>
 </template>
 

+ 33 - 6
src/views/purchase-management/subscribe/index.vue

@@ -6,6 +6,7 @@ import query from "@/components/query/index.vue";
 
 import byTable from "@/components/by-table/index.js";
 import sendSubscribe from "./sendSubscribe.vue";
+import PurchaseDetails from "@/components/purchase/details.vue";
 
 import * as API from "@/api/purchase-management/subscribe/index.js";
 import { warehouseSelectList } from "@/api/product-material/warehouse/index.js";
@@ -16,6 +17,7 @@ export default {
     byTable,
     query,
     sendSubscribe,
+    PurchaseDetails,
   },
   data() {
     return {
@@ -70,6 +72,8 @@ export default {
         cause: "",
         goodsId: [],
       },
+      detailsDialog: false,
+      rowData: {},
     };
   },
   created() {
@@ -222,6 +226,11 @@ export default {
         </div>
       );
     },
+
+    handleLookDetails(row) {
+      this.rowData = { ...row };
+      this.detailsDialog = true;
+    },
   },
 };
 </script>
@@ -245,12 +254,20 @@ export default {
         "
       ></query>
       <el-table :data="tableList" v-loading="loading">
-        <el-table-column
-          label="申购单号"
-          align="left"
-          prop="code"
-          width="140"
-        />
+        <el-table-column label="申购单号" align="left" prop="code" width="140">
+          <template slot-scope="scope">
+            <div
+              style="
+                color: #0084ff;
+                cursor: pointer;
+                text-decoration: underline;
+              "
+            >
+              <!-- @click="handleLookDetails(scope.row)" -->
+              {{ scope.row.code }}
+            </div>
+          </template>
+        </el-table-column>
         <el-table-column
           label="物品编码"
           align="left"
@@ -372,6 +389,16 @@ export default {
         ref="sendSubscribe"
       ></send-subscribe>
     </el-dialog>
+
+    <el-dialog
+      title="申购详情"
+      v-if="detailsDialog"
+      :visible.sync="detailsDialog"
+      width="50%"
+      top="60px"
+    >
+      <PurchaseDetails :rowData="rowData"></PurchaseDetails>
+    </el-dialog>
   </div>
 </template>