Browse Source

Merge branch 'sit'

# Conflicts:
#	dist/static/js/0.js
#	dist/static/js/app.js
#	dist/static/js/chunk-libs.js
lucky 2 years ago
parent
commit
363f11beec
32 changed files with 1193 additions and 138 deletions
  1. 0 0
      dist/index.html
  2. 0 0
      dist/static/css/chunk-c1406ed0.a57b37ec.css
  3. BIN
      dist/static/css/chunk-c1406ed0.a57b37ec.css.gz
  4. BIN
      dist/static/js/app.dc0fd21b.js.gz
  5. 0 0
      dist/static/js/app.f5bc048b.js
  6. BIN
      dist/static/js/app.f5bc048b.js.gz
  7. 0 0
      dist/static/js/chunk-0b024dde.8a83fcbf.js
  8. 0 0
      dist/static/js/chunk-15caf0ce.11c4a5cc.js
  9. 0 0
      dist/static/js/chunk-1c777704.79339173.js
  10. 0 0
      dist/static/js/chunk-1d0a69b6.c0665910.js
  11. 0 0
      dist/static/js/chunk-44401bcc.fb102cf5.js
  12. 0 0
      dist/static/js/chunk-4ff11544.f294bf12.js
  13. 0 0
      dist/static/js/chunk-7a946667.f287d190.js
  14. 0 0
      dist/static/js/chunk-7a946667.f287d190.js.gz
  15. 0 0
      dist/static/js/chunk-a4a85b14.cc8d91e9.js
  16. 0 0
      dist/static/js/chunk-aa660142.8382e5a4.js
  17. 0 0
      dist/static/js/chunk-aa660142.8382e5a4.js.gz
  18. 0 0
      dist/static/js/chunk-b7c9ced4.fc9eed2b.js
  19. BIN
      dist/static/js/chunk-b7c9ced4.fc9eed2b.js.gz
  20. 0 0
      dist/static/js/chunk-b7f101b0.8651d032.js
  21. 0 0
      dist/static/js/chunk-c1406ed0.2d0a9b43.js
  22. BIN
      dist/static/js/chunk-c1406ed0.2d0a9b43.js.gz
  23. 0 0
      dist/static/js/chunk-ee636058.26387023.js
  24. 0 0
      dist/static/js/chunk-libs.2f6ba53d.js
  25. 0 0
      dist/static/js/chunk-libs.2f6ba53d.js.gz
  26. 19 5
      src/apis/service/reportQuery/purchaseReport/index.js
  27. 3 1
      src/views/orderEntry/orderEnter/index.vue
  28. 542 6
      src/views/reportQuery/purchaseReport/components/columns.js
  29. 293 125
      src/views/reportQuery/purchaseReport/components/table13.vue
  30. 1 1
      src/views/reportQuery/purchaseReport/components/table14.vue
  31. 332 0
      src/views/reportQuery/purchaseReport/components/table15.vue
  32. 3 0
      src/views/reportQuery/purchaseReport/index.vue

File diff suppressed because it is too large
+ 0 - 0
dist/index.html


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/chunk-c1406ed0.a57b37ec.css


BIN
dist/static/css/chunk-b7c9ced4.6b177c6d.css.gz → dist/static/css/chunk-c1406ed0.a57b37ec.css.gz


BIN
dist/static/js/app.dc0fd21b.js.gz


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.f5bc048b.js


BIN
dist/static/js/app.f5bc048b.js.gz


+ 0 - 0
dist/static/js/chunk-0b024dde.74597cc7.js → dist/static/js/chunk-0b024dde.8a83fcbf.js


+ 0 - 0
dist/static/js/chunk-15caf0ce.9459e3ce.js → dist/static/js/chunk-15caf0ce.11c4a5cc.js


+ 0 - 0
dist/static/js/chunk-1c777704.5b175cc8.js → dist/static/js/chunk-1c777704.79339173.js


+ 0 - 0
dist/static/js/chunk-1d0a69b6.f937bf2c.js → dist/static/js/chunk-1d0a69b6.c0665910.js


+ 0 - 0
dist/static/js/chunk-44401bcc.0a5accae.js → dist/static/js/chunk-44401bcc.fb102cf5.js


+ 0 - 0
dist/static/js/chunk-4ff11544.5f956d5b.js → dist/static/js/chunk-4ff11544.f294bf12.js


+ 0 - 0
dist/static/js/chunk-7a946667.6847e4bc.js → dist/static/js/chunk-7a946667.f287d190.js


+ 0 - 0
dist/static/js/chunk-7a946667.6847e4bc.js.gz → dist/static/js/chunk-7a946667.f287d190.js.gz


+ 0 - 0
dist/static/js/chunk-a4a85b14.582c3571.js → dist/static/js/chunk-a4a85b14.cc8d91e9.js


+ 0 - 0
dist/static/js/chunk-aa660142.9d946b3c.js → dist/static/js/chunk-aa660142.8382e5a4.js


+ 0 - 0
dist/static/js/chunk-aa660142.9d946b3c.js.gz → dist/static/js/chunk-aa660142.8382e5a4.js.gz


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-b7c9ced4.fc9eed2b.js


BIN
dist/static/js/chunk-b7c9ced4.fc9eed2b.js.gz


+ 0 - 0
dist/static/js/chunk-b7f101b0.8919805f.js → dist/static/js/chunk-b7f101b0.8651d032.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/chunk-c1406ed0.2d0a9b43.js


BIN
dist/static/js/chunk-c1406ed0.2d0a9b43.js.gz


+ 0 - 0
dist/static/js/chunk-ee636058.02107612.js → dist/static/js/chunk-ee636058.26387023.js


+ 0 - 0
dist/static/js/chunk-libs.f1d2ac0f.js → dist/static/js/chunk-libs.2f6ba53d.js


+ 0 - 0
dist/static/js/chunk-libs.f1d2ac0f.js.gz → dist/static/js/chunk-libs.2f6ba53d.js.gz


+ 19 - 5
src/apis/service/reportQuery/purchaseReport/index.js

@@ -21,17 +21,14 @@ export default {
    reportconsultbidssum: (data, params) => http(api + "reportconsultbidssum", data, "post", params),
    //采购员订单金额
    reportpurcheaseordersumbyuser: (data, params) => http(api + "reportpurcheaseordersumbyuser", data, "post", params),
-
    //已采反报价信息
    reportconsultinfobidssum: (data, params) => http(api + "reportconsultinfobidssum", data, "post", params),
    //已采反报价信息导出
    reportconsultinfobidssumexport: (data, params) => http(api + "reportconsultinfobidssumexport", data, "post", params),
-
    //未采反信息
    reportconsultinfobidssumnot: (data, params) => http(api + "reportconsultinfobidssumnot", data, "post", params),
    //未采反信息导出
    reportconsultinfobidssumnotexport: (data, params) => http(api + "reportconsultinfobidssumnotexport", data, "post", params),
-
    //订单明细
    reportorderlistdetailed: (data, params) => http(api + "reportorderlistdetailed", data, "post", params),
    //订单明细导出
@@ -44,7 +41,6 @@ export default {
    reportsupplierlist: (data, params) => http(api + "reportsupplierlist", data, "post", params),
    //供应商报表导出
    reportsupplierlistexport: (data, params) => http(api + "reportsupplierlistexport", data, "post", params),
-
    //退货流水报表
    reportsalereturnlist: (data, params) => http(api + "reportsalereturnlist", data, "post", params),
    //退货流水报表导出
@@ -57,5 +53,23 @@ export default {
    reportgoodofflinelist: (data, params) => http(api + "reportgoodofflinelist", data, "post", params),
    //产品下线报表导出
    reportgoodofflineexport: (data, params) => http(api + "reportgoodofflineexport", data, "post", params),
+
+   //产品修改报表
+   reportchangeloglist: (data, params) => http(api + "reportchangeloglist", data, "post", params),
+   //产品修改报表导出
+   reportchangelogeexport: (data, params) => http(api + "reportchangelogeexport", data, "post", params),
+
+
+
+
    
-};
+   //退货台账-业务口径导出
+   reportreturnexport: (data, params) => http(api + "reportreturnexport", data, "post", params),
+};
+
+
+
+
+
+
+

+ 3 - 1
src/views/orderEntry/orderEnter/index.vue

@@ -226,7 +226,9 @@
         </template>
         <template #operation="{ scope }">
           <el-tooltip
-            v-if="powers.some((item) => item == '007')"
+            v-if="
+              powers.some((item) => item == '007') && scope.row.status !== '5'
+            "
             effect="dark"
             content="详情"
             placement="top"

+ 542 - 6
src/views/reportQuery/purchaseReport/components/columns.js

@@ -711,30 +711,38 @@ const table13 = [
     _noset_: true
   },
   {
-    prop: "date",
+    prop: "addtime",
     label: "产品操作时间",
     minWidth: "155px",
   },
   {
-    prop: "total",
+    prop: "creater",
     label: "采购维护人",
     minWidth: "155px",
   },
   {
-    prop: "total",
+    prop: "code",
     label: "产品编号(spuCode)",
     minWidth: "155px",
   },
   {
-    prop: "total",
+    prop: "good_name",
     label: "产品名称",
     minWidth: "155px",
   },
   {
-    prop: "total",
+    prop: "name",
     label: "供应商名称",
     minWidth: "155px",
   },
+  {
+    prop: "",
+    label: "变更",
+    fixed: "right",
+    _noset_: true,
+    width: "50px",
+    _slot_: "operation",
+  },
 ]
 
 
@@ -833,4 +841,532 @@ const table14 = [
   },
 
 ]
-export { table1, table2, table3, table4, table5,table6,table7,table8,table9,table10,table11,table12,table13,table14}
+
+//产品修改报表
+const table15 = [
+  // {
+  //   type: "expand",
+  //   _slot_: "expand",
+  //   fixed: "left",
+  //   _noset_: true,
+  // },
+  {
+    type: "selection",
+    fixed: "left",
+    _noset_: true
+  },
+  
+  {
+    prop: "",
+    label: "操作",
+    fixed: "right",
+    _noset_: true,
+    width: "80px",
+    _slot_: "operation",
+  },
+]
+
+
+//产品修改报表,修改具体内容
+const editTable13 = [
+  // {
+  //   prop: "id",
+  //   label: "id",
+  //   minWidth: "155px",
+  // },
+  {
+    prop: "bidNo",
+    label: "返库商品编号",
+    minWidth: "200px",
+  },
+
+
+
+  {
+    prop: "infoNo",
+    label: "阶梯编号",
+    minWidth: "200px",
+  },
+  {
+    prop: "zxNo",
+    label: "咨询编号",
+    minWidth: "200px",
+  },
+  {
+    prop: "spuCode",
+    label: "spu商品code",
+    minWidth: "200px",
+  },
+  {
+    prop: "good_name",
+    label: "商品名称",
+    minWidth: "200px",
+  },
+  {
+    prop: "brandid",
+    label: "商品品牌",
+    minWidth: "200px",
+  },
+  {
+    prop: "brand_id",
+    label: "商品品牌",
+    minWidth: "200px",
+  },
+  {
+    prop: "cat_id",
+    label: "商品分类",
+    minWidth: "200px",
+  },
+  {
+    prop: "specinfo",
+    label: "规格集合",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "cost_desc",
+    label: "工艺描述",
+    minWidth: "200px",
+  },
+  {
+    prop: "work_day",
+    label: "工期",
+    minWidth: "200px",
+  },
+  {
+    prop: "delivery_day",
+    label: "物流时间",
+    minWidth: "200px",
+  },
+  {
+    prop: "good_img",
+    label: "商品主图",
+    minWidth: "200px",
+  },
+  {
+    prop: "expire_day",
+    label: "有效时间",
+    minWidth: "200px",
+  },
+  {
+    prop: "origin_place",
+    label: "产地",
+    minWidth: "200px",
+  },
+  {
+    prop: "supplierNo",
+    label: "供应商",
+    minWidth: "200px",
+  },
+  {
+    prop: "pay_way",
+    label: "支付方式",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "send_way",
+    label: "发货方式",
+    minWidth: "200px",
+  },
+  {
+    prop: "metal_id",
+    label: "金属种类",
+    minWidth: "200px",
+  },
+  {
+    prop: "is_gold_price",
+    label: "是否启用实时金价",
+    minWidth: "200px",
+  },
+  {
+    prop: "config",
+    label: "配置要求",
+    minWidth: "200px",
+  },
+  {
+    prop: "weight",
+    label: "商品总重量",
+    minWidth: "200px",
+  },
+  {
+    prop: "is_diff",
+    label: "有无工差",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "demo_fee",
+    label: "打样费",
+    minWidth: "200px",
+  },
+  {
+    prop: "delivery_fee",
+    label: "物流费",
+    minWidth: "200px",
+  },
+  {
+    prop: "open_fee",
+    label: "开模费",
+    minWidth: "200px",
+  },
+  {
+    prop: "pakge_fee",
+    label: "打包费",
+    minWidth: "200px",
+  },
+  {
+    prop: "nake_fee",
+    label: "裸价",
+    minWidth: "200px",
+  },
+  {
+    prop: "mark_fee",
+    label: "加标费",
+    minWidth: "200px",
+  },
+  {
+    prop: "cert_fee",
+    label: "证书费",
+    minWidth: "200px",
+  },
+  {
+    prop: "cost_fee",
+    label: "工艺费",
+    minWidth: "200px",
+  },
+  {
+    prop: "total_fee",
+    label: "成本总计",
+    minWidth: "200px",
+  },
+  {
+    prop: "supply_area",
+    label: "供货区域",
+    minWidth: "200px",
+  },
+  {
+    prop: "remark",
+    label: "备注",
+    minWidth: "200px",
+  },
+  {
+    prop: "sale_price",
+    label: "最终售价",
+    minWidth: "200px",
+  },
+  {
+    prop: "createrid",
+    label: "创建人id",
+    minWidth: "200px",
+  },
+  {
+    prop: "creater",
+    label: "创建人",
+    minWidth: "200px",
+  },
+  {
+    prop: "status",
+    label: "状态",
+    minWidth: "200px",
+  },
+  
+  {
+    prop: "unit",
+    label: "单位",
+    minWidth: "200px",
+  },
+  {
+    prop: "cat_info",
+    label: "分类",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "supplierName",
+    label: "供应商名称",
+    minWidth: "200px",
+  },
+  {
+    prop: "brand_name",
+    label: "品牌名称",
+    minWidth: "200px",
+  },
+  {
+    prop: "metal_name",
+    label: "贵金属名称",
+    minWidth: "200px",
+  },
+  {
+    prop: "delivery_place",
+    label: "发货地",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "good_code",
+    label: "商品code",
+    minWidth: "200px",
+  },
+  {
+    prop: "good_unit",
+    label: "商品单位",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "good_type",
+    label: "是否定制",
+    minWidth: "200px",
+  },
+  {
+    prop: "companyNo",
+    label: "业务企业",
+    minWidth: "200px",
+  },
+  {
+      prop: "company_id",
+      label: "业务公司",
+      minWidth: "200px",
+    },
+  {
+    prop: "moq",
+    label: "定制起订量",
+    minWidth: "200px",
+  },
+  {
+    prop: "customized",
+    label: "定制工期",
+    minWidth: "200px",
+  },
+  {
+    prop: "tax",
+    label: "税点",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "is_auth",
+    label: "销售权限",
+    minWidth: "200px",
+  },
+  {
+    prop: "is_stock",
+    label: "是否库存品",
+    minWidth: "200px",
+  },
+  {
+    prop: "auth_img",
+    label: "销售授权图片",
+    minWidth: "200px",
+  },
+
+
+  {
+    prop: "after_sales",
+    label: "售后说明",
+    minWidth: "200px",
+  },
+  {
+    prop: "craft_desc",
+    label: "工艺说明",
+    minWidth: "200px",
+  },
+  {
+    prop: "good_remark",
+    label: "商品备注",
+    minWidth: "200px",
+  },
+  {
+    prop: "good_size",
+    label: "商品尺寸",
+    minWidth: "200px",
+  },
+  {
+    prop: "packing_way",
+    label: "包装方式",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "packing_size",
+    label: "装箱尺寸",
+    minWidth: "200px",
+  },
+  {
+    prop: "packing_spec",
+    label: "装箱规格",
+    minWidth: "200px",
+  },
+  {
+    prop: "packing_list",
+    label: "包装清单",
+    minWidth: "200px",
+  },
+  {
+    prop: "packing_weight",
+    label: "装箱重量",
+    minWidth: "200px",
+  },
+  {
+    prop: "good_bar",
+    label: "商品条形码",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "lead_time",
+    label: "供货周期",
+    minWidth: "200px",
+  },
+  {
+    prop: "sample_day",
+    label: "调样周期",
+    minWidth: "200px",
+  },
+  {
+    prop: "sample_fee",
+    label: "调样费",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "good_thumb_img",
+    label: "商品缩略图",
+    minWidth: "200px",
+  },
+  {
+    prop: "good_info_img",
+    label: "详情介绍",
+    minWidth: "200px",
+  },
+
+  {
+    prop: "is_del",
+    label: "是否删除",
+    minWidth: "200px",
+  },
+  {
+    prop: "addtime",
+    label: "创建时间",
+    minWidth: "200px",
+  },
+  {
+    prop: "updatetime",
+    label: "更新时间",
+    minWidth: "200px",
+  },
+  //////////////////////////////
+  {
+    prop: "is_exclusive",
+    label: "专属类型",
+    minWidth: "200px",
+  },
+  {
+      prop: "noble_weight",
+      label: "贵金属重量",
+      minWidth: "200px",
+    },
+    {
+      prop: "noble_metal",
+      label: "贵金属种类",
+      minWidth: "200px",
+    },
+    {
+      prop: "other_config",
+      label: "其他配置要求",
+      minWidth: "200px",
+    },
+    {
+      prop: "spec_value",
+      label: "规格类型",
+      minWidth: "200px",
+    },
+    {
+      prop: "spec_value_value",
+      label: "规格值",
+      minWidth: "200px",
+    },
+    {
+      prop: "market_price",
+      label: "市场价",
+      minWidth: "200px",
+    },
+    {
+      prop: "cgd_gold_price",
+      label: "供应商采购金价",
+      minWidth: "200px",
+    },
+    {
+      prop: "noble_price",
+      label: "当前金价",
+      minWidth: "200px",
+    },
+    {
+      prop: "min_num",
+      label: "起订量(>=)",
+      minWidth: "200px",
+    },
+    {
+      prop: "package_fee",
+      label: "包装费",
+      minWidth: "200px",
+    },
+    {
+      prop: "other_fee",
+      label: "其他费用",
+      minWidth: "200px",
+    },
+    {
+      prop: "nake_total",
+      label: "成本合计",
+      minWidth: "200px",
+    },
+  //   {
+  //     prop: "测试",
+  //     label: "测试",
+  //     minWidth: "200px",
+  //   },
+  //   {
+  //     prop: "测试",
+  //     label: "测试",
+  //     minWidth: "200px",
+  //   },
+  //   {
+  //     prop: "测试",
+  //     label: "测试",
+  //     minWidth: "200px",
+  //   },
+  //   {
+  //     prop: "测试",
+  //     label: "测试",
+  //     minWidth: "200px",
+  //   },
+  //   {
+  //     prop: "测试",
+  //     label: "测试",
+  //     minWidth: "200px",
+  //   },
+  //   {
+  //     prop: "测试",
+  //     label: "测试",
+  //     minWidth: "200px",
+  //   },
+  //   {
+  //     prop: "测试",
+  //     label: "测试",
+  //     minWidth: "200px",
+  //   },
+
+ 
+
+
+  /////////////////////////////
+
+
+
+
+]
+
+
+export { table1, table2, table3, table4, table5,table6,table7,table8,table9,table10,table11,table12,table13,editTable13,table14,table15}

+ 293 - 125
src/views/reportQuery/purchaseReport/components/table13.vue

@@ -1,107 +1,225 @@
 <template>
-    <div>
-      <ex-table
-        v-loading="loading"
-        :table="table"
-        :data="tableData"
-        :columns="table13"
-        :page="pageInfo"
-        :size="size"
-        @page-curr-change="handlePageChange"
-        @page-size-change="handleSizeChange"
-        @screen-reset="
-          pageInfo.curr = 1;
-          parmValue.page = 1;
-          searchList();
-        "
-        @screen-submit="
-          pageInfo.curr = 1;
-          parmValue.page = 1;
-          searchList();
-        "
-        @selection="selection_change"
-      >
-        <template #table-header="{}">
-          <div style="width: 100%">
-            <el-row style="padding: 0 0 0 80px">
-             
-               <el-col :span="6" style="width: 463px;">
-                <periodDatePickerActive
-                      :start="parmValue.start_date"
-                      :end="parmValue.end_date"
-                      :placeholder="'产品操作'"
-                      :width="'205px'"
-                      :size="searchSize"
-                      @timeReturned="time"
-                    />
-              </el-col>  
-              <el-col :span="4" style="width: 66px; float: right">       
-                <el-button type="primary" style="margin-left:30px;" @click="download" :size="searchSize"  class="fr">
-                    导出
-                </el-button>
-              </el-col>
-              <el-col :span="3" style="width: 66px; float: right">
-                <el-button
-                  :size="searchSize"
-                  type="primary"
-                  style="float: right; margin-left: 5px"
-                  @click="searchList"
-                >
-                  刷新
-                </el-button>
-              </el-col>
-              
-            </el-row>
-            <el-row style="padding: 10px 0 0 0" gutter="10">
-              <el-col :span="6" style="width: 240px">
-                <el-input
-                  clearable
-                  placeholder="采购维护人"
-                  v-model="parmValue.xiugai1"
-                  maxlength="40"
-                  :size="searchSize"
-                  @blur="
-                    pageInfo.curr = 1;
-                    parmValue.page = 1;
-                    searchList();
-                  "
-                >
-                </el-input>
-              </el-col>
-              <el-col :span="6" style="width: 240px">
-                <el-input
-                  clearable
-                  placeholder="供应商名称"
-                  v-model="parmValue.xiugai2"
-                  maxlength="40"
-                  :size="searchSize"
-                  @blur="
-                    pageInfo.curr = 1;
-                    parmValue.page = 1;
-                    searchList();
-                  "
-                >
-                </el-input>
-              </el-col>
-              <el-col :span="4" style="width: 66px; float: right">
-                <el-button
-                  type="warning"
-                  class="fr"
-                  :size="searchSize"
-                  @click="restSearch"
-                >
-                  重置
-                </el-button>
-              </el-col>     
-            </el-row>
-          </div>
-       </template>
+  <div>
+    <ex-table
+      v-loading="loading"
+      :table="table"
+      :data="tableData"
+      :columns="table13"
+      :page="pageInfo"
+      :size="size"
+      @page-curr-change="handlePageChange"
+      @page-size-change="handleSizeChange"
+      @screen-reset="
+        pageInfo.curr = 1;
+        parmValue.page = 1;
+        searchList();
+      "
+      @screen-submit="
+        pageInfo.curr = 1;
+        parmValue.page = 1;
+        searchList();
+      "
+      @selection="selection_change"
+    >
+      <template #table-header="{}">
+        <div style="width: 100%">
+          <el-row style="padding: 0 0 0 80px">
+            <el-col :span="6" style="width: 463px">
+              <periodDatePickerActive
+                :start="parmValue.start_date"
+                :end="parmValue.end_date"
+                :placeholder="'产品操作'"
+                :width="'205px'"
+                :size="searchSize"
+                @timeReturned="time"
+              />
+            </el-col>
+            <el-col :span="4" style="width: 66px; float: right">
+              <el-button
+                type="primary"
+                style="margin-left: 30px"
+                @click="download"
+                :size="searchSize"
+                class="fr"
+              >
+                导出
+              </el-button>
+            </el-col>
+            <el-col :span="3" style="width: 66px; float: right">
+              <el-button
+                :size="searchSize"
+                type="primary"
+                style="float: right; margin-left: 5px"
+                @click="searchList"
+              >
+                刷新
+              </el-button>
+            </el-col>
+          </el-row>
+          <el-row style="padding: 10px 0 0 0" gutter="10">
+            <el-col :span="6" style="width: 240px">
+              <el-input
+                clearable
+                placeholder="采购维护人"
+                v-model="parmValue.creater"
+                maxlength="40"
+                :size="searchSize"
+                @blur="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+              </el-input>
+            </el-col>
+            <el-col :span="6" style="width: 240px">
+              <el-input
+                clearable
+                placeholder="供应商名称"
+                v-model="parmValue.supplier_name"
+                maxlength="40"
+                :size="searchSize"
+                @blur="
+                  pageInfo.curr = 1;
+                  parmValue.page = 1;
+                  searchList();
+                "
+              >
+              </el-input>
+            </el-col>
+            <el-col :span="4" style="width: 66px; float: right">
+              <el-button
+                type="warning"
+                class="fr"
+                :size="searchSize"
+                @click="restSearch"
+              >
+                重置
+              </el-button>
+            </el-col>
+          </el-row>
+        </div>
+      </template>
 
-        
-      </ex-table>
-    </div>
+      <template #operation="{ scope }">
+        <el-tooltip effect="dark" content="修改内容对比" placement="top">
+          <i class="el-icon-view tb-icon" @click="dlgTable(scope.row)"></i>
+        </el-tooltip>
+      </template>
+    </ex-table>
 
-  
+    <el-dialog
+      title="产品修改差异对比"
+      :visible.sync="dialogTableVisible"
+      :center="true"
+      align="left"
+      top="3vh"
+      width="1040px"
+      :close-on-click-modal="false"
+      element-loading-text="拼命加载中"
+      element-loading-spinner="el-icon-loading"
+      element-loading-background="rgba(0, 0, 0, 0.8)"
+      @close="dialogTableVisible = false"
+    >
+      <el-table
+        :data="showData"
+        :size="searchSize"
+        border
+        stripe
+        max-height="750px"
+        style="width: 100%; margin: -20px 0 0"
+      >
+        <el-table-column
+          prop="key_name"
+          label="修改字段名称"
+          width="130px"
+          show-overflow-tooltip
+        />
+        <el-table-column
+          prop="key"
+          label="修改字段"
+          width="130px"
+          show-overflow-tooltip
+        />
+        <el-table-column prop="before" label="修改前" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <div v-if="scope.row.key === 'good_img'">
+              <img
+                v-for="(si, sii) in scope.row.before"
+                :key="si + sii"
+                :src="si"
+                alt=""
+                class="fl"
+                v-viewer
+                style="width: 30px; height: 30px"
+              />
+            </div>
+            <div v-else-if="scope.row.key === 'good_info_img'">
+              <img
+                v-for="(si, sii) in scope.row.after"
+                :key="si + sii"
+                :src="si"
+                alt=""
+                v-viewer
+                 class="fl"
+                style="width: 30px; height: 30px"
+              />
+            </div>
+            <div v-else-if="scope.row.key === 'good_thumb_img'">
+              <img
+                v-for="(si, sii) in scope.row.after"
+                :key="si + sii"
+                :src="si"
+                alt=""
+                v-viewer
+                 class="fl"
+                style="width: 30px; height: 30px"
+              />
+            </div>
+            <div v-else>{{ scope.row.before }}</div>
+          </template>
+        </el-table-column>
+        <el-table-column prop="after" label="修改后" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <div v-if="scope.row.key === 'good_img'">
+              <img
+                v-for="(si, sii) in scope.row.after"
+                :key="si + sii"
+                :src="si"
+                alt=""
+                v-viewer
+                 class="fl"
+                style="width: 30px; height: 30px"
+              />
+            </div>
+            <div v-else-if="scope.row.key === 'good_info_img'">
+              <img
+                v-for="(si, sii) in scope.row.after"
+                :key="si + sii"
+                :src="si"
+                alt=""
+                v-viewer
+                 class="fl"
+                style="width: 30px; height: 30px"
+              />
+            </div>
+            <div v-else-if="scope.row.key === 'good_thumb_img'">
+              <img
+                v-for="(si, sii) in scope.row.after"
+                :key="si + sii"
+                :src="si"
+                alt=""
+                v-viewer
+                 class="fl"
+                style="width: 30px; height: 30px"
+              />
+            </div>
+            <div v-else>{{ scope.row.after }}</div>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-dialog>
+  </div>
 </template>
    <script>
 import mixinPage from "@/mixins/elPaginationHandle";
@@ -109,36 +227,38 @@ import resToken from "@/mixins/resToken";
 import urlConfig from "@/apis/url-config";
 import asyncRequest from "@/apis/service/reportQuery/purchaseReport";
 import periodDatePickerActive from "../period-date-picker/main.vue";
-import { table13} from "./columns";
+import { table13, editTable13 } from "./columns";
 import { mapGetters } from "vuex";
 
 export default {
   name: "purchaseOrder",
   mixins: [mixinPage, resToken],
   components: {
-    periodDatePickerActive
+    periodDatePickerActive,
   },
   computed: {
     ...mapGetters(["tablebtnSize", "searchSize", "size"]),
-    
   },
   data() {
     return {
+      editOld: {},
+      editNew: {},
+      dialogTableVisible: false,
       //选中数组
       changeList: [],
+      showData: [],
       //全局url
       fileUrl: urlConfig.baseURL,
       //loading
       loading: false,
       //请求参数集合
       parmValue: {
-        xiugai1:"", //咨询订单号
-        xiugai2:"",
+        creater: "", //采购维护人
+        supplier_name: "", // 供应商名称
         start_date: "", //起始时间
         end_date: "", // 结束时间
         page: 1, // 页码
         size: 15, // 每页显示条数
-       
       },
       // 表格 - 数据集合
       tableData: [],
@@ -154,16 +274,55 @@ export default {
         curr: 1,
         total: 0,
       },
-      // 表格表头 - 列参数
+
       table13: table13,
+      editTable13,
     };
   },
   mounted() {
-
     this.searchList();
   },
 
   methods: {
+    dlgTable(row) {
+      this.showData = [];
+      const { before_info, after_info } = row;
+
+      let keyList = [];
+      for (let key in after_info) {
+        keyList.push(key);
+      }
+
+      for (let i = 0; i < keyList.length; i++) {
+        
+        let model = {
+          key: keyList[i],
+          key_name:
+            (editTable13.find((s) => s.prop === keyList[i]) || {}).label ||
+            "--",
+          before: this.get_key_value(keyList[i], before_info),
+          after: this.get_key_value(keyList[i], after_info),
+        };
+        // console.log(model.key_name)
+        this.showData.push(model);
+      }
+      this.dialogTableVisible = true;
+    },
+    get_key_value(key, info) {
+      if (key === "good_img") {
+        return info[key] ? (info[key] || "").split(",") : [];
+      }
+      else if(key === "good_info_img") {
+        return info[key] ? (info[key] || "").split(",") : [];
+      }
+      else if(key === "good_thumb_img") {
+        return info[key] ? (info[key] || "").split(",") : [];
+      }
+      // else if(key === "cat_id") {
+      //   return info[key] ? (info[key] || "").split(",") : [];
+      // }
+      return info[key];
+    },
     //初始化http请求
     async searchList() {
       if (
@@ -173,10 +332,10 @@ export default {
         this.$message.warning("时间区间不完整!");
         return;
       }
-      return;
+      // return;
       this.loading = true;
-      
-      const res = await asyncRequest.list(this.parmValue);
+      const res = await asyncRequest.reportchangeloglist(this.parmValue);
+      console.log(res);
       if (res && res.code === 0 && res.data) {
         this.tableData = res.data.list;
         this.pageInfo.total = Number(res.data.count);
@@ -185,13 +344,16 @@ export default {
       } else {
         this.tableData = [];
         this.pageInfo.total = 0;
+        this.$message.warning(res.message);
       }
       this.loading = false;
     },
-   
+
     //重置
     restSearch() {
       this.parmValue = {
+        creater: "", //采购维护人
+        supplier_name: "", // 供应商名称
         start_date: "", //新建起始时间
         end_date: "", // 新建结束时间
         page: 1, // 页码
@@ -205,7 +367,7 @@ export default {
       };
       this.searchList();
     },
-    
+
     // 时间函数
     async time(e) {
       this.parmValue.start_date = e.startTime || "";
@@ -213,13 +375,13 @@ export default {
       await this.searchList();
     },
 
-     //选中触发函数
+    //选中触发函数
     selection_change(e) {
       const { list } = e;
       //选中的数组集合
       this.changeList = list.length > 0 ? JSON.parse(JSON.stringify(list)) : [];
     },
-    //导出文件 
+    //导出文件
     async download() {
       // if(this.changeList.length<=0){
       //   this.$message.warning("请选择有效数据")
@@ -228,23 +390,23 @@ export default {
       let start_date = new Date(this.parmValue.start_date).valueOf();
       let end_date = new Date(this.parmValue.end_date).valueOf();
       let flag = end_date - start_date > 30 * 24 * 60 * 60 * 1000;
-      if(this.parmValue.start_date != "" && this.parmValue.end_date != ""){
-        if(flag){
-          this.$message.warning("导出文件的时间区间不能超过30天")
+      if (this.parmValue.start_date != "" && this.parmValue.end_date != "") {
+        if (flag) {
+          this.$message.warning("导出文件的时间区间不能超过30天");
           return;
         }
-      }else{
-        this.$message.warning("请选择导出文件的时间区间")
+      } else {
+        this.$message.warning("请选择导出文件的时间区间");
         return;
       }
-      let model = JSON.parse(JSON.stringify(this.parmValue))
+      let model = JSON.parse(JSON.stringify(this.parmValue));
       // model.is_export = 1;
       if (!this.loading) {
         this.loading = true;
         let httpType = `aplication/zip`;
         axios({
           method: "post",
-          url: this.fileUrl + "admin/reportgoodofflineexport",
+          url: this.fileUrl + "admin/reportchangelogeexport",
           responseType: "blob",
           data: model,
           headers: {
@@ -261,13 +423,13 @@ export default {
               let url = window.URL.createObjectURL(
                 new Blob([res.data], {
                   // type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8",
-                  type: httpType
+                  type: httpType,
                 })
               );
               let link = document.createElement("a");
               link.style.display = "none";
               link.href = url;
-              let excelName = "产品下线报表.zip";
+              let excelName = "产品修改报表.zip";
               link.setAttribute("download", excelName);
               document.body.appendChild(link);
               link.click();
@@ -297,5 +459,11 @@ export default {
 .purchaseOrder {
   // text-align: right;
 }
+/deep/ .el-dialog {
+  width: 80%;
+  // height: 50vh;
+  min-width: 800px;
+  min-height: 500px;
+}
 </style>
    

+ 1 - 1
src/views/reportQuery/purchaseReport/components/table14.vue

@@ -183,7 +183,7 @@ export default {
     };
   },
   mounted() {
-
+    alert("暂无数据,未修改")
     this.searchList();
   },
 

+ 332 - 0
src/views/reportQuery/purchaseReport/components/table15.vue

@@ -0,0 +1,332 @@
+<template>
+    <div>
+      <ex-table
+        v-loading="loading"
+        :table="table"
+        :data="tableData"
+        :columns="table15"
+        :page="pageInfo"
+        :size="size"
+        @page-curr-change="handlePageChange"
+        @page-size-change="handleSizeChange"
+        @screen-reset="
+          pageInfo.curr = 1;
+          parmValue.page = 1;
+          searchList();
+        "
+        @screen-submit="
+          pageInfo.curr = 1;
+          parmValue.page = 1;
+          searchList();
+        "
+        @selection="selection_change"
+      >
+        <template #table-header="{}">
+          <div style="width: 100%">
+            <el-row style="padding: 0 0 0 80px">
+             
+               <el-col :span="6" style="width: 383px;">
+                <periodDatePickerActive
+                      :start="parmValue.start_date"
+                      :end="parmValue.end_date"
+                      :placeholder="'出入库'"
+                      :width="'175px'"
+                      :size="searchSize"
+                      @timeReturned="time"
+                    />
+              </el-col>  
+              <el-col :span="6" style="width: 150px">
+                <el-select
+                  :size="searchSize"
+                  v-model="parmValue.select"
+                  filterable
+                  clearable
+                  placeholder="出入库类型"
+                  style="width: 100%"
+                  @change="
+                    pageInfo.curr = 1;
+                    parmValue.page = 1;
+                    searchList();
+                  "
+                >
+                  <el-option label="假的" value="1"></el-option>
+                    <el-option label="假的" value="2"></el-option>
+                    <el-option label="假的" value="3"></el-option>
+                    <el-option label="假的" value="4"></el-option>
+                    <el-option label="假的" value="5"></el-option>
+                    <el-option label="假的" value="6"></el-option>
+                    <el-option label="假的" value="7"></el-option>
+                </el-select>
+              </el-col>
+              <el-col :span="4" style="width: 66px; float: right">       
+                <el-button type="primary" style="margin-left:30px;" @click="download" :size="searchSize"  class="fr">
+                    导出
+                </el-button>
+              </el-col>
+              <el-col :span="3" style="width: 66px; float: right">
+                <el-button
+                  :size="searchSize"
+                  type="primary"
+                  style="float: right; margin-left: 5px"
+                  @click="searchList"
+                >
+                  刷新
+                </el-button>
+              </el-col>
+              
+            </el-row>
+            <el-row style="padding: 10px 0 0 0" gutter="10">
+              <el-col :span="6" style="width: 240px">
+                <el-input
+                  clearable
+                  placeholder="产品名称"
+                  v-model="parmValue.xiugai1"
+                  maxlength="40"
+                  :size="searchSize"
+                  @blur="
+                    pageInfo.curr = 1;
+                    parmValue.page = 1;
+                    searchList();
+                  "
+                >
+                </el-input>
+              </el-col>
+              <el-col :span="6" style="width: 240px">
+                <el-input
+                  clearable
+                  placeholder="产品编码"
+                  v-model="parmValue.xiugai2"
+                  maxlength="40"
+                  :size="searchSize"
+                  @blur="
+                    pageInfo.curr = 1;
+                    parmValue.page = 1;
+                    searchList();
+                  "
+                >
+                </el-input>
+              </el-col>
+              <el-col :span="4" style="width: 66px; float: right">
+                <el-button
+                  type="warning"
+                  class="fr"
+                  :size="searchSize"
+                  @click="restSearch"
+                >
+                  重置
+                </el-button>
+              </el-col>     
+            </el-row>
+          </div>
+       </template>
+        <template #operation="{ scope }">
+            <el-tooltip effect="dark" content="修改" placement="top">
+                <i class="el-icon-edit tb-icon"></i>
+            </el-tooltip>
+
+            <el-tooltip effect="dark" content="下载" placement="top">
+                <i class="el-icon-download tb-icon"></i>
+            </el-tooltip>
+        </template>
+        
+      </ex-table>
+    </div>
+
+  
+</template>
+   <script>
+import mixinPage from "@/mixins/elPaginationHandle";
+import resToken from "@/mixins/resToken";
+import urlConfig from "@/apis/url-config";
+import asyncRequest from "@/apis/service/reportQuery/purchaseReport";
+import periodDatePickerActive from "../period-date-picker/main.vue";
+import { table15} from "./columns";
+import { mapGetters } from "vuex";
+
+export default {
+  name: "purchaseOrder",
+  mixins: [mixinPage, resToken],
+  components: {
+    periodDatePickerActive
+  },
+  computed: {
+    ...mapGetters(["tablebtnSize", "searchSize", "size"]),
+    
+  },
+  data() {
+    return {
+      //选中数组
+      changeList: [],
+      //全局url
+      fileUrl: urlConfig.baseURL,
+      //loading
+      loading: false,
+      //请求参数集合
+      parmValue: {
+          select:"",
+        xiugai1:"", //咨询订单号
+        xiugai2:"",
+        start_date: "", //起始时间
+        end_date: "", // 结束时间
+        page: 1, // 页码
+        size: 15, // 每页显示条数
+       
+      },
+      // 表格 - 数据集合
+      tableData: [],
+      // 表格 - 参数
+      table: {
+        stripe: true,
+        border: true,
+        _defaultHeader_: ["setcol"],
+      },
+      // 表格 - 分页
+      pageInfo: {
+        size: 15,
+        curr: 1,
+        total: 0,
+      },
+      // 表格表头 - 列参数
+      table15: table15,
+    };
+  },
+  mounted() {
+    this.searchList();
+  },
+
+  methods: {
+    //初始化http请求
+    async searchList() {
+      if (
+        (this.parmValue.start_date !== "" && this.parmValue.end_date === "") ||
+        (this.parmValue.start_date === "" && this.parmValue.end_date !== "")
+      ) {
+        this.$message.warning("时间区间不完整!");
+        return;
+      }
+      return;
+      this.loading = true;
+      
+      const res = await asyncRequest.list(this.parmValue);
+      if (res && res.code === 0 && res.data) {
+        this.tableData = res.data.list;
+        this.pageInfo.total = Number(res.data.count);
+      } else if (res && res.code >= 100 && res.code <= 104) {
+        await this.logout();
+      } else {
+        this.tableData = [];
+        this.pageInfo.total = 0;
+      }
+      this.loading = false;
+    },
+   
+    //重置
+    restSearch() {
+      this.parmValue = {
+        start_date: "", //新建起始时间
+        end_date: "", // 新建结束时间
+        page: 1, // 页码
+        size: 15, // 每页显示条数
+      };
+      // 表格 - 分页
+      this.pageInfo = {
+        size: 15,
+        curr: 1,
+        total: 0,
+      };
+      this.searchList();
+    },
+    
+    // 时间函数
+    async time(e) {
+      this.parmValue.start_date = e.startTime || "";
+      this.parmValue.end_date = e.endTime || "";
+      await this.searchList();
+    },
+
+     //选中触发函数
+    selection_change(e) {
+      const { list } = e;
+      //选中的数组集合
+      this.changeList = list.length > 0 ? JSON.parse(JSON.stringify(list)) : [];
+    },
+     //导出文件 
+    async download() {
+      // if(this.changeList.length<=0){
+      //   this.$message.warning("请选择有效数据")
+      //   return;
+      // }
+      let start_date = new Date(this.parmValue.start_date).valueOf();
+      let end_date = new Date(this.parmValue.end_date).valueOf();
+      let flag = end_date - start_date > 30 * 24 * 60 * 60 * 1000;
+      if(this.parmValue.start_date != "" && this.parmValue.end_date != ""){
+        if(flag){
+          this.$message.warning("导出文件的时间区间不能超过30天")
+          return;
+        }
+      }else{
+        this.$message.warning("请选择导出文件的时间区间")
+        return;
+      }
+      let model = JSON.parse(JSON.stringify(this.parmValue))
+      // model.is_export = 1;
+      if (!this.loading) {
+        this.loading = true;
+        let httpType = `aplication/zip`;
+        axios({
+          method: "post",
+          url: this.fileUrl + "admin/reportreturnexport",
+          responseType: "blob",
+          data: model,
+          headers: {
+            // 'Content-Type': 'multipart/form-data',
+            // Accept: "application/vnd.ms-excel"
+            Accept: httpType,
+          },
+        })
+          .then((res) => {
+            // console.log(res)
+            // console.log(this.fileUrl)
+            // return;
+            if (res && res.status == 200 && res.data) {
+              let url = window.URL.createObjectURL(
+                new Blob([res.data], {
+                  // type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8",
+                  type: httpType
+                })
+              );
+              let link = document.createElement("a");
+              link.style.display = "none";
+              link.href = url;
+              let excelName = "退货台账-业务口径.zip";
+              link.setAttribute("download", excelName);
+              document.body.appendChild(link);
+              link.click();
+              link.remove();
+              window.URL.revokeObjectURL(url); //释放掉blob对象
+              this.$message.success(`导出成功!`);
+              setTimeout(() => {
+                this.loading = false;
+              }, 500);
+            } else {
+              this.$message.error(res.data.message);
+              setTimeout(() => {
+                this.loading = false;
+              }, 500);
+            }
+          })
+          .catch((error) => {
+            console.log(error);
+            this.loading = false;
+          });
+      }
+    },
+  },
+};
+</script>
+   <style lang="scss" scoped>
+.purchaseOrder {
+  // text-align: right;
+}
+</style>
+   

+ 3 - 0
src/views/reportQuery/purchaseReport/index.vue

@@ -20,6 +20,7 @@
             <el-tab-pane label="产品下线报表" name="table12"><table12 v-if="activeName == 'table12'"></table12></el-tab-pane>
             <el-tab-pane label="产品修改报表" name="table13"><table13 v-if="activeName == 'table13'"></table13></el-tab-pane>
             <el-tab-pane label="出入库明细报表" name="table14"><table14 v-if="activeName == 'table14'"></table14></el-tab-pane>
+            <el-tab-pane label="退货台账-业务口径" name="table15"><table15 v-if="activeName == 'table15'"></table15></el-tab-pane>
 
           
         </el-tabs>
@@ -50,6 +51,7 @@ const table11 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table11
 const table12 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table12")
 const table13 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table13")
 const table14 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table14")
+const table15 = ()=>import(/* webpackChunkName:'mycomp' */ "./components/table15")
 export default {
 mixins: [mixinPage, resToken],
 components:{
@@ -67,6 +69,7 @@ components:{
     table12,
     table13,
     table14,
+    table15,
 },
 
   computed: {

Some files were not shown because too many files changed in this diff