Browse Source

台账——竞价单详情编写

lucky 2 years ago
parent
commit
d594a8a415

+ 15 - 15
src/components/globalComponents/search-terrace/main.vue

@@ -38,21 +38,21 @@ export default {
     "names",
     "is_show",
   ],
-  //  watch: {
-  //   names: function (val, old) {
-  //     // console.log(val, old, this.isDetail, "1");
-  //     this.searchName = val;
-  //     if (this.isDetail && this.searchName) {
-  //       this.remoteMethod(this.searchName);
-  //     }
-  //   },
-  //   isDetail: function (val, old) {
-  //     // console.log(val, old, this.isDetail, "2");
-  //     if (val && this.searchName) {
-  //       this.remoteMethod(this.searchName);
-  //     }
-  //   },
-  // },
+   watch: {
+    names: function (val, old) {
+      // console.log(val, old, this.isDetail, "1");
+      this.searchName = val;
+      if (this.isDetail && this.searchName) {
+        this.remoteMethod(this.searchName);
+      }
+    },
+    isDetail: function (val, old) {
+      // console.log(val, old, this.isDetail, "2");
+      if (val && this.searchName) {
+        this.remoteMethod(this.searchName);
+      }
+    },
+  },
   /**
    * 属性集合
    * @param {String}        size             : 组件大小            非必填

+ 122 - 50
src/views/reportQuery/test/components/detail7/columns.js

@@ -1,101 +1,173 @@
 const columns = [
   {
-    prop: "cgdNo",
-    label: "采购单编号",
+    prop: "infoNo",
+    label: "竞价单编号",
     span: 6
   },
   {
     prop: "status",
-    label: "采购单状态",
+    label: "状态",
     _slot_: "status",
-    span: 6
+    span: 5
   },
+
   {
-    prop: "order_type",
-    label: "采购单来源",
-    _slot_: "order_type",
+    prop: "addtime",
+    label: "创建时间",
     span: 6
   },
   {
-    prop: "lasttime",
-    label: "要求入库时间",
-    span: 6
+    prop: "departinfo",
+    label: "创建人",
+    _slot_: "departinfo",
+    span: 7
   },
- 
   {
-    prop: "supplier_name",
+    prop: "company",
     label: "销售方公司",
-    _slot_: "supplier_name",
+    _slot_: "company",
   },
   {
-    prop: "company",
+    prop: "khName",
     label: "购买方公司",
-    _slot_: "company",
+    _slot_: "khName",
+  },
+  {
+    prop: "platform_name",
+    label: "所属平台",
+    span: 12
   },
+  {
+    prop: "endtime",
+    label: "竞价截止时间",
+    span: 6
+  },
+  {
+    prop: "is_project",
+    label: "竞价类型",
+    span: 6,
+    _slot_: "is_project",
 
+  },
   {
-    prop: "wsm",
-    label: "仓库信息",
-    _slot_: "wsm",
+    prop: "arrival_time",
+    label: "到货日期",
+    span: 6
   },
- 
- 
- 
   {
-    prop: "total_fee",
-    label: "采购总成本",
+    prop: "is_addrs",
+    label: "是否多地",
+    _slot_: "is_addrs",
     span: 6
+
   },
   {
-    prop: "good_price",
-    label: "采购单价",
+    prop: "budget_price",
+    label: "预算单价",
     span: 6
   },
   {
-    prop: "good_num",
-    label: "采购总数量",
+    prop: "num",
+    label: "数量",
     span: 6
   },
   {
-    prop: "send_num",
-    label: "已发货数量",
+    prop: "brand",
+    label: "品牌",
     span: 6
   },
   {
-    prop: "wsend_num",
-    label: "未发货数量",
+    prop: "is_custom",
+    label: "是否定制",
+    _slot_: "is_custom",
     span: 6
   },
   {
-    prop: "addtime",
-    label: "创建时间",
+    prop: "total_weight",
+    label: "重量(g)",
     span: 6
   },
   {
-    prop: "gold_price",
-    label: "当前实时金价",
-    _slot_: "gold_price",
+    prop: "unit",
+    label: "单位(个)",
+    span: 6
+  },
+  {
+    prop: "cat_id",
+    label: "商品分类",
+    _slot_: "cat_id",
+    span: 12
+  },
+  {
+    prop: "good_name",
+    label: "商品名称",
+    span: 12
+  },
+  {
+    prop: "cost_desc",
+    label: "工艺说明",
     span: 12
   },
   {
-    prop: "customer",
-    label: "订单客户名称",
-    _slot_: "customer",
+    prop: "use_desc",
+    label: "产品用途",
     span: 12
   },
   {
-    prop: "addr_info",
-    label: "收货信息",
-    _slot_: "addr_info",
+    prop: "remark",
+    label: "商品备注",
     span: 24
   },
+  {
+    prop: "config",
+    label: "配置要求",
+    span: 12
+  },
+  {
+    prop: "specs_weight",
+    label: "金属克重(g)",
+    span: 6
+  },
+  {
+    prop: "is_gold_price",
+    label: "启用金价",
+    _slot_: "is_gold_price",
+    span: 6
+  },
+  {
+    prop: "other_config",
+    label: "其他配置要求",
+    span: 12
+  },
+  {
+    prop: "metal_name",
+    label: "金属种类",
+    span: 6
+  },
+  {
+    prop: "gold_price",
+    label: "当前金价",
+    span: 6
+  },
+  {
+    prop: "good_img",
+    label: "商品图片",
+    _slot_: "good_img",
+
+    span: 12
+  },
+
+  {
+    prop: "specinfo",
+    label: "规格",
+    _slot_: "specinfo",
+
+    span: 12
+  },
+
+  
+
 ]
-const statusOptions = [
-  { value: "0", label: "待与供应商确认" },
-  { value: "1", label: "待入库" },
-  { value: "2", label: "部分入库" },
-  { value: "3", label: "入库完成" },
-  { value: "4", label: "已取消订单" },
-];
 
-export { columns, statusOptions, }
+
+export { columns}

+ 121 - 165
src/views/reportQuery/test/components/detail7/main.vue

@@ -1,159 +1,105 @@
 <template>
   <div>
-    
     <show-data-table
+      style="padding: 10px 0 5px 0"
       :newTime="newTime"
       v-if="newTime !== '' && sitem"
       :sitem="sitem"
       :columns="columns"
     >
-      <template slot="supplier_name">
-        <span>{{ sitem.supplier_name }}</span>
+      <template slot="status">
+        <el-tag
+          :size="tablebtnSize"
+          v-text="
+            (options.find((item) => item.id == sitem.status) || {}).label ||
+            '--'
+          "
+        ></el-tag>
+      </template>
+
+      <template slot="departinfo">
+        <span>{{ sitem.salesman }}--</span>
+        <span v-for="(si, sii) in sitem.departinfo" :key="si + sii"
+          ><span v-if="sii !== 0">/</span>{{ si.name }}</span
+        >
+      </template>
+      <template slot="company">
+        <span>{{ sitem.company }}</span>
         <el-popover placement="top" width="300" trigger="hover">
           <ul>
             <li>
-              <span>销售方公司编号:</span><span>{{ sitem.supplierNo }}</span>
+              <span>销售方公司编号:</span><span>{{ sitem.companyNo }}</span>
             </li>
           </ul>
           <i class="el-icon-warning-outline fr" slot="reference"></i>
         </el-popover>
       </template>
-      <template slot="company">
-        <span>{{ sitem.company }}</span>
+      <template slot="khName">
+        <span>{{ sitem.khname }}</span>
         <el-popover placement="top" width="300" trigger="hover">
           <ul>
             <li>
-              <span>购买方公司编号:</span><span>{{ sitem.companyNo }}</span>
+              <span>购买方公司编号:</span><span>{{ sitem.khNo }}</span>
             </li>
           </ul>
           <i class="el-icon-warning-outline fr" slot="reference"></i>
         </el-popover>
       </template>
-
-      <template slot="status">
-        <el-tag
-          :size="'mini'"
-          :type="sitem.status == '0' ? 'warning' : ''"
+      <template slot="is_project">
+        <span
           v-text="
-            (statusOptions.find((item) => item.value == sitem.status) || {})
-              .label || '--'
+            is_project_options.find((item) => item.value == sitem.is_project)
+              .label
           "
-        ></el-tag>
+        ></span>
       </template>
-      <template slot="order_type">
-        <el-tag
-          :size="'mini'"
+
+      <template slot="is_custom">
+        <span
           v-text="
-            (
-              cg_order_type_options.find(
-                (item) => item.id == sitem.order_type
-              ) || {}
-            ).label || '--'
+            is_custom_options.find((item) => item.value == sitem.is_custom)
+              .label
           "
-        ></el-tag>
-        <el-popover
-          placement="top"
-          width="300"
-          v-if="sitem.order_type === '1'"
-          trigger="hover"
-        >
-          <ul>
-            <li>
-              <span>备库单编号:</span><span>{{ sitem.bkcode }}</span>
-            </li>
-          </ul>
-          <i class="el-icon-warning-outline fr" slot="reference"></i>
-        </el-popover>
-        <el-popover
-          placement="top"
-          width="300"
-          v-if="sitem.order_type !== '1'"
-          trigger="hover"
-        >
-          <ul>
-            <li>
-              <span>订单编号:</span><span>{{ sitem.orderCode }}</span>
-            </li>
-          </ul>
-          <i class="el-icon-warning-outline fr" slot="reference"></i>
-        </el-popover>
+        ></span>
       </template>
 
-      <template slot="wsm">
-        <span>{{ sitem.wsm_supplier }}/{{ sitem.wsm_name }}</span>
-        <el-popover placement="top" width="300" trigger="hover">
-          <ul>
-            <li>
-              <span>仓库公司编号:</span><span>{{ sitem.wsm_supplierNo }}</span>
-            </li>
-            <li>
-              <span>仓库名称编号:</span><span>{{ sitem.wsm_code }}</span>
-            </li>
-          </ul>
-          <i class="el-icon-warning-outline fr" slot="reference"></i>
-        </el-popover>
+      <template slot="cat_id">
+        <span v-for="(item, index) in sitem.can" :key="item.id + item.name">
+          {{ item.name }} <span v-if="index + 1 < sitem.can.length">_</span>
+        </span>
       </template>
 
-      <template slot="gold_price">
-        <div
-          v-if="
-            sitem.status == '0' &&
-            sitem.can[0].id == '6' &&
-            cost_detailArr.is_gold_price == '1'
+      <template slot="is_gold_price">
+        <span
+          v-text="
+            is_gold_price_options.find((item) => item.value == sitem.is_custom)
+              .label
           "
-        >
-          {{ sitem.gold_price }}
-        </div>
-        <div v-else>----</div>
+        ></span>
       </template>
-      <template slot="customer">
-        <span>{{ sitem.customer.companyName }}</span>
-        <el-popover
-          placement="top"
-          width="300"
-          trigger="hover"
-          v-if="sitem.order_type != 1"
-        >
-          <ul>
-            <li>
-              <span>客户编号:</span><span>{{ sitem.customer.companyNo }}</span>
-            </li>
-          </ul>
-          <i class="el-icon-warning-outline fr" slot="reference"></i>
-        </el-popover>
+
+      <template slot="good_img">
+        <div class="btnupload">
+          <img
+            v-if="sitem.good_img"
+            :src="sitem.good_img"
+            style="width: 120px; height: 120px"
+            class="avatar"
+          />
+          <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+        </div>
       </template>
 
-      <template slot="addr_info">
+      <template slot="specinfo">
         <el-table
-          :data="sitem.addr_info"
-          :size="'mini'"
-          border
-          stripe
-          style="width: 100%"
-        >
-          <el-table-column
-            prop="contactor"
-            label="收货人"
-            show-overflow-tooltip
-          >
-          </el-table-column>
-          <el-table-column prop="mobile" label="联系电话" show-overflow-tooltip>
-          </el-table-column>
-          <el-table-column
-            prop="addr_code"
-            label="收货地址"
-            show-overflow-tooltip
-            min-width="180px"
-          >
-          </el-table-column>
-
-          <el-table-column
-            prop="receipt_quantity"
-            label="发货数量"
-            show-overflow-tooltip
-            min-width="180px"
-          >
-          </el-table-column>
+              :data="sitem.specinfo"
+              :size="'mini'"
+              border
+              style="width: 90%; margin:auto;"
+              height="120px"
+            >
+              <el-table-column prop="spec_name" label="规格类型" />
+              <el-table-column prop="spec_value_name" label="规格值" />
         </el-table>
       </template>
     </show-data-table>
@@ -161,82 +107,92 @@
 </template>
 
 <script>
-import {columns, statusOptions,} from "./columns";
-import { cg_order_type_options } from "@/assets/js/statusList";
+import { columns } from "./columns";
+// import { cg_order_type_options } from "@/assets/js/statusList";
 
 //————————————————
 import mixinPage from "@/mixins/elPaginationHandle";
 import resToken from "@/mixins/resToken";
-import asyncRequest from "@/apis/service/purchaseIn/purchaseOrder";
-
+import asyncRequest from "@/apis/service/sellOut/zixunOrder";
+import { mapGetters } from "vuex";
 
 export default {
   mixins: [mixinPage, resToken],
-  props:["queryId"],
+  props: ["queryId"],
+  computed: { ...mapGetters(["tablebtnSize", "searchSize", "size"]) },
   data() {
     return {
-      cg_order_type_options,
-      statusOptions,
-      cost_detailArr: [],
+      options: [
+        { id: "0", label: "待发布竞标" },
+        { id: "1", label: "招标进行中" },
+        { id: "2", label: "招标已结束" },
+        { id: "3", label: "待选择商品" },
+        { id: "4", label: "已选商品待下单" },
+        { id: "5", label: "已成功转单" },
+        { id: "6", label: "已取消转单" },
+        { id: "7", label: "招标已暂停" },
+      ],
+      is_project_options: [
+        { value: "0", label: "非项目" },
+        { value: "1", label: "项目" },
+      ],
+      is_addrs_options: [
+        { value: "0", label: "一地" },
+        { value: "1", label: "多地" },
+      ],
+      is_custom_options: [
+        { value: "0", label: "非定制" },
+        { value: "1", label: "定制" },
+      ],
+      is_gold_price_options: [
+        { value: "0", label: "不启用" },
+        { value: "1", label: "启用" },
+      ],
 
       //——————————————————————
+      status: "",
       columns,
       newTime: "",
-      sitem:null,
-      loading:false,
+      sitem: null,
+      loading: false,
     };
   },
-  mounted(){
-    this.initData()
+  mounted() {
+    this.initData();
   },
-  methods:{
+  methods: {
     getNewTime() {
       this.newTime = new Date().valueOf();
     },
     async initData() {
       this.loading = true;
-      const res = await asyncRequest.detail({ cgdNo: this.queryId });
-      if (res && res.code === 0 && res.data) {
-        this.sitem = res.data;
-        console.log("11111111111111111", this.sitem);
-        this.goldPrice();
-        const { status, can, cgdNo } = this.sitem;
-        this.status = status;
+      const { code, message, data } = await asyncRequest.detail({
+        infoNo: this.queryId,
+      });
+      this.loading = false;
+      console.log(data);
+      if (code === 0) {
+        this.sitem = JSON.parse(JSON.stringify(data));
+        const { status, can } = this.sitem;
         if (can && can.length > 0) {
-          this.sitem.class_cat = "";
-          can.forEach((x, i) => {
-            this.sitem.class_cat += i === 0 ? x.name : "/" + x.name;
+          let cat_id = [];
+          can.forEach((e) => {
+            cat_id.push(e.id);
           });
+          this.sitem.cat_id = cat_id;
+        } else {
+          this.sitem.cat_id = [];
         }
+
+        this.status = status;
         this.getNewTime();
-      } else if (res && res.code >= 100 && res.code <= 104) {
+      } else if (code >= 100 && code <= 104) {
         await this.logout();
       } else {
-        this.$message.warning(res.message);
-      }
-      this.loading = false;
-    },
-    async goldPrice() {
-      // console.log(this.sitem.order_type,"11111111111111111111111")
-      // if(this.sitem.order_type){}
-      // return;
-      let res = {};
-      let { order_type } = this.sitem;
-      console.log( order_type == "6")
-      if (order_type == "1" || order_type == "2" || order_type == "5"|| order_type == "6") {
-        res = await asyncRequest.cost_detail({ spuCode: this.sitem.spuCode });
-      } else {
-        res = await asyncRequest.cove_detail({ spuCode: this.sitem.spuCode });
-      }
-      if (res && res.code === 0 && res.data) {
-        this.cost_detailArr = res.data;
-      } else if (res && res.code >= 100 && res.code <= 104) {
-        await this.logout();
-      } else {
-        this.$message.warning(res.message);
+        this.$message.warning(message);
       }
     },
-  }
+  },
 };
 </script>
 

+ 7 - 1
src/views/reportQuery/test/detail.vue

@@ -34,7 +34,7 @@
               </detail2>
             </el-collapse-item>
 
-            <el-collapse-item title="采购入库单信息" name="3" v-if="newTime!==''">
+            <!-- <el-collapse-item title="采购入库单信息" name="3" v-if="newTime!==''">
               <detail3 queryId="CF2206231840116680">
               </detail3>
             </el-collapse-item>
@@ -51,6 +51,10 @@
             <el-collapse-item title="销售业务项目信息" name="6" v-if="newTime!==''">
               <detail6 queryId="PR2206011553402697">
               </detail6>
+            </el-collapse-item> -->
+            <el-collapse-item title="销售业务竞价信息" name="7" v-if="newTime!==''">
+              <detail7 queryId="IF2206230925561644">
+              </detail7>
             </el-collapse-item>
         </el-collapse>
   
@@ -69,6 +73,7 @@ import detail3 from "./components/detail3/main.vue"
 import detail4 from "./components/detail4/main.vue"
 import detail5 from "./components/detail5/main.vue"
 import detail6 from "./components/detail6/main.vue"
+import detail7 from "./components/detail7/main.vue"
 
 export default {
   name: "test",
@@ -79,6 +84,7 @@ export default {
     detail4,
     detail5,
     detail6,
+    detail7,
   },
 
   computed: {