111
liyaozhi
2025-11-09 c13b8914228e6a404bd60ee36bf2479383da8f23
branch_vue/src/views/activity/activity/dialog/Price.vue
@@ -3,30 +3,18 @@
    <!-- 商品表格 -->
    <el-table
      :data="modifiedProducts"
      border
      style="width: 100%"
    >
    <el-table :data="modifiedProducts" border style="width: 100%">
      <el-table-column
        label="商品"
      >
      <el-table-column label="商品">
        <template slot-scope="{row}">
          <div class="product-cell">
            <el-image
              :src="row.image"
              fit="cover"
              style="width: 50px; height: 50px; margin-right: 10px"
            ></el-image>
            <el-image :src="row.image" fit="cover" style="width: 50px; height: 50px; margin-right: 10px"></el-image>
            <span>{{ row.product_name }}</span>
          </div>
        </template>
      </el-table-column>
      <el-table-column
        label="规格"
      >
      <el-table-column label="规格" width="120">
        <template slot-scope="{row}">
          <div class="product-cell">
            <span>{{ row.product_sku_name }}</span>
@@ -34,37 +22,20 @@
        </template>
      </el-table-column>
      <el-table-column
        label="当前价格"
      >
      <el-table-column label="当前价格" width="100">
        <template slot-scope="{row}">
          ¥{{ row.product_price }}
        </template>
      </el-table-column>
      <el-table-column
        label="新价格"
      >
      <el-table-column label="活动价格" width="180">
        <template slot-scope="{row}">
          <el-input-number
            v-model="row.product_new_price"
            :min="0"
            :precision="2"
            @change="handleConfirm"
            controls-position="right"
            style="width: 150px"
          ></el-input-number>
          <el-input-number v-model="row.product_new_price" :min="0" :precision="2" @change="handleConfirm"
            controls-position="right" style="width: 150px"></el-input-number>
        </template>
      </el-table-column>
      <el-table-column
        label="操作"
        width="80"
      >
      <el-table-column label="操作" width="60">
        <template slot-scope="{row}">
          <el-button
            type="text"
            size="small"
            @click="handleDelPrice(row)"
          >删除</el-button>
          <el-button type="text" size="small" @click="handleDelPrice(row)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
@@ -94,7 +65,7 @@
  watch: {
    products(newVal) {
     this.initProducts()
      this.initProducts()
    },
  },
@@ -105,21 +76,21 @@
    initProducts() {
      this.modifiedProducts = this.products.map(product => ({
        ...product,
        product_new_price: product.product_new_price ? product.product_new_price :product.product_price
        product_new_price: product.product_new_price ? product.product_new_price : product.product_price
      }))
      this.batchPrice = null
    },
    handleDelPrice(row) {
       const itemToRemove = this.modifiedProducts.find(item => item.product_id === row.product_id);
        if (itemToRemove) {
          const index = this.modifiedProducts.indexOf(itemToRemove);
          this.modifiedProducts.splice(index, 1);
          this.handleConfirm();
        }
      const itemToRemove = this.modifiedProducts.find(item => item.product_id === row.product_id);
      if (itemToRemove) {
        const index = this.modifiedProducts.indexOf(itemToRemove);
        this.modifiedProducts.splice(index, 1);
        this.handleConfirm();
      }
    },
    handleConfirm(row) {
      const changedProducts = this.modifiedProducts;
      console.log('输出修改的',row,changedProducts);
      console.log('输出修改的', row, changedProducts);
      this.$emit('confirm', changedProducts)
    }
  }