|  | @@ -37,7 +37,7 @@
 | 
	
		
			
				|  |  |              </el-step>
 | 
	
		
			
				|  |  |              <el-step
 | 
	
		
			
				|  |  |                :title="id ? '编辑内容' : '添加内容'"
 | 
	
		
			
				|  |  | -              description="为专辑添加内容"
 | 
	
		
			
				|  |  | +              :description="id ? '为专辑编辑内容' : '为专辑添加内容'"
 | 
	
		
			
				|  |  |              >
 | 
	
		
			
				|  |  |                <svg-icon icon-class="dot" slot="icon" class="svg-dot"></svg-icon>
 | 
	
		
			
				|  |  |              </el-step>
 | 
	
	
		
			
				|  | @@ -152,7 +152,51 @@
 | 
	
		
			
				|  |  |              </el-form-item>
 | 
	
		
			
				|  |  |            </el-form>
 | 
	
		
			
				|  |  |            <div v-if="stepIndex === 1">
 | 
	
		
			
				|  |  | -            <div class="price-setting"></div>
 | 
	
		
			
				|  |  | +            <div class="price-setting">
 | 
	
		
			
				|  |  | +              <h2>价格设置</h2>
 | 
	
		
			
				|  |  | +              <el-divider></el-divider>
 | 
	
		
			
				|  |  | +              <div class="price-setting-box">
 | 
	
		
			
				|  |  | +                <div class="item1">
 | 
	
		
			
				|  |  | +                  <p>基础版</p>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +                <div class="item2">
 | 
	
		
			
				|  |  | +                  <h5>累计价格</h5>
 | 
	
		
			
				|  |  | +                  <p>专辑中所有内容基础版原价及优惠价累计</p>
 | 
	
		
			
				|  |  | +                  <div>
 | 
	
		
			
				|  |  | +                    <span
 | 
	
		
			
				|  |  | +                      >¥{{
 | 
	
		
			
				|  |  | +                        albumPrice.price_discount_content_item_total
 | 
	
		
			
				|  |  | +                      }}</span
 | 
	
		
			
				|  |  | +                    >
 | 
	
		
			
				|  |  | +                    <span class="oldPrice"
 | 
	
		
			
				|  |  | +                      >¥{{ albumPrice.price_content_item_total }}</span
 | 
	
		
			
				|  |  | +                    >
 | 
	
		
			
				|  |  | +                  </div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +                <div class="item2">
 | 
	
		
			
				|  |  | +                  <h5>专辑价格</h5>
 | 
	
		
			
				|  |  | +                  <p>专辑价格不可超过累计价格</p>
 | 
	
		
			
				|  |  | +                  <el-input
 | 
	
		
			
				|  |  | +                    v-model="albumPrice.price"
 | 
	
		
			
				|  |  | +                    placeholder="输入"
 | 
	
		
			
				|  |  | +                    @blur="blurPrice($event, 'albumPrice', 'price')"
 | 
	
		
			
				|  |  | +                    @input="inputPrice($event, 'albumPrice', 'price')"
 | 
	
		
			
				|  |  | +                    ><template slot="prepend">¥</template></el-input
 | 
	
		
			
				|  |  | +                  >
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +                <div class="item2">
 | 
	
		
			
				|  |  | +                  <h5>专辑优惠价格</h5>
 | 
	
		
			
				|  |  | +                  <p>专辑优惠价格不可高于专辑价格</p>
 | 
	
		
			
				|  |  | +                  <el-input
 | 
	
		
			
				|  |  | +                    v-model="albumPrice.price_discount"
 | 
	
		
			
				|  |  | +                    placeholder="输入"
 | 
	
		
			
				|  |  | +                    @blur="blurPrice($event, 'albumPrice', 'price_discount')"
 | 
	
		
			
				|  |  | +                    @input="inputPrice($event, 'albumPrice', 'price_discount')"
 | 
	
		
			
				|  |  | +                    ><template slot="prepend">¥</template></el-input
 | 
	
		
			
				|  |  | +                  >
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  |              <div class="issue-top">
 | 
	
		
			
				|  |  |                <h4 class="issue-top-left">内容列表</h4>
 | 
	
		
			
				|  |  |                <el-button type="primary" size="small" @click="addGoods"
 | 
	
	
		
			
				|  | @@ -209,6 +253,23 @@
 | 
	
		
			
				|  |  |                    {{ scope.row.study_phase_name }}
 | 
	
		
			
				|  |  |                  </template>
 | 
	
		
			
				|  |  |                </el-table-column>
 | 
	
		
			
				|  |  | +              <el-table-column
 | 
	
		
			
				|  |  | +                prop="price_discount"
 | 
	
		
			
				|  |  | +                label="价格"
 | 
	
		
			
				|  |  | +                width="154"
 | 
	
		
			
				|  |  | +                sortable="custom"
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  | +                <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                  <span class="currectPrice"
 | 
	
		
			
				|  |  | +                    >¥{{ scope.row.price_discount | cutMoneyFiter }}</span
 | 
	
		
			
				|  |  | +                  >
 | 
	
		
			
				|  |  | +                  <span
 | 
	
		
			
				|  |  | +                    class="oldPrice"
 | 
	
		
			
				|  |  | +                    v-if="scope.row.price !== scope.row.price_discount"
 | 
	
		
			
				|  |  | +                    >(¥{{ scope.row.price | cutMoneyFiter }})</span
 | 
	
		
			
				|  |  | +                  >
 | 
	
		
			
				|  |  | +                </template>
 | 
	
		
			
				|  |  | +              </el-table-column>
 | 
	
		
			
				|  |  |                <el-table-column fixed="right" label="操作" width="180">
 | 
	
		
			
				|  |  |                  <template slot-scope="scope">
 | 
	
		
			
				|  |  |                    <el-button
 | 
	
	
		
			
				|  | @@ -264,11 +325,15 @@ import Breadcrumb from "../../../components/Breadcrumb.vue";
 | 
	
		
			
				|  |  |  import { getLogin } from "@/api/ajax";
 | 
	
		
			
				|  |  |  import Upload from "../../../components/Upload.vue";
 | 
	
		
			
				|  |  |  import { mapState } from "vuex";
 | 
	
		
			
				|  |  | +import { cutMoneyFiter } from "@/utils/defined";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    //import引入的组件需要注入到对象中才能使用
 | 
	
		
			
				|  |  |    components: { Header, NavMenu, Breadcrumb, Upload },
 | 
	
		
			
				|  |  |    props: {},
 | 
	
		
			
				|  |  | +  filters: {
 | 
	
		
			
				|  |  | +    cutMoneyFiter,
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |    data() {
 | 
	
		
			
				|  |  |      //这里存放数据
 | 
	
		
			
				|  |  |      const validateValidity = (rule, value, callback) => {
 | 
	
	
		
			
				|  | @@ -378,6 +443,12 @@ export default {
 | 
	
		
			
				|  |  |        total_count: 0,
 | 
	
		
			
				|  |  |        dataSort: {},
 | 
	
		
			
				|  |  |        tableData: [],
 | 
	
		
			
				|  |  | +      albumPrice: {
 | 
	
		
			
				|  |  | +        price_content_item_total: 0,
 | 
	
		
			
				|  |  | +        price_discount_content_item_total: 0,
 | 
	
		
			
				|  |  | +        price: 0,
 | 
	
		
			
				|  |  | +        price_discount: 0,
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  |        orgList: [],
 | 
	
		
			
				|  |  |        goodsTypeList: [
 | 
	
		
			
				|  |  |          {
 | 
	
	
		
			
				|  | @@ -527,7 +598,6 @@ export default {
 | 
	
		
			
				|  |  |      // 上一步下一步
 | 
	
		
			
				|  |  |      handleStep(type) {
 | 
	
		
			
				|  |  |        if (type == "-") {
 | 
	
		
			
				|  |  | -        console.log(this.stepIndex);
 | 
	
		
			
				|  |  |          if (this.stepIndex > 0) this.stepIndex--;
 | 
	
		
			
				|  |  |        } else {
 | 
	
		
			
				|  |  |          if (this.stepIndex === 0) {
 | 
	
	
		
			
				|  | @@ -552,8 +622,8 @@ export default {
 | 
	
		
			
				|  |  |        let MethodName = "/ShopServer/Manager/AlbumManager/SetAlbumPrice";
 | 
	
		
			
				|  |  |        let data = {
 | 
	
		
			
				|  |  |          id: this.id ? this.id : this.albumId,
 | 
	
		
			
				|  |  | -        price: 99.8,
 | 
	
		
			
				|  |  | -        price_discount: 35.99,
 | 
	
		
			
				|  |  | +        price: this.albumPrice.price,
 | 
	
		
			
				|  |  | +        price_discount: this.albumPrice.price_discount,
 | 
	
		
			
				|  |  |        };
 | 
	
		
			
				|  |  |        getLogin(MethodName, data)
 | 
	
		
			
				|  |  |          .then((res) => {
 | 
	
	
		
			
				|  | @@ -644,6 +714,8 @@ export default {
 | 
	
		
			
				|  |  |            if (res.status === 1) {
 | 
	
		
			
				|  |  |              this.tableData = res.content_item_list;
 | 
	
		
			
				|  |  |              this.total_count = res.total_count;
 | 
	
		
			
				|  |  | +            this.albumPrice = res.album_info;
 | 
	
		
			
				|  |  | +            // this.albumPrice.price_discount_content_item_total = 28.8;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  |          .catch(() => {
 | 
	
	
		
			
				|  | @@ -713,6 +785,33 @@ export default {
 | 
	
		
			
				|  |  |            this.loading = false;
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    // 处理教材价格 最多两位小数
 | 
	
		
			
				|  |  | +    inputPrice(e, obj, obj1) {
 | 
	
		
			
				|  |  | +      e = e.match(/^\d*(\.?\d{0,2})/g)[0] || "";
 | 
	
		
			
				|  |  | +      this[obj][obj1] = e;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    // 处理教材价格 失去焦点保留两位小数
 | 
	
		
			
				|  |  | +    blurPrice(e, obj, obj1) {
 | 
	
		
			
				|  |  | +      if (e.target.value) {
 | 
	
		
			
				|  |  | +        this[obj][obj1] = Number(e.target.value).toFixed(2);
 | 
	
		
			
				|  |  | +        if (
 | 
	
		
			
				|  |  | +          obj === "albumPrice" &&
 | 
	
		
			
				|  |  | +          obj1 === "price" &&
 | 
	
		
			
				|  |  | +          e.target.value > this.albumPrice.price_discount_content_item_total
 | 
	
		
			
				|  |  | +        ) {
 | 
	
		
			
				|  |  | +          this[obj][obj1] = Number(
 | 
	
		
			
				|  |  | +            this.albumPrice.price_discount_content_item_total
 | 
	
		
			
				|  |  | +          ).toFixed(2);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (
 | 
	
		
			
				|  |  | +          obj === "albumPrice" &&
 | 
	
		
			
				|  |  | +          obj1 === "price_discount" &&
 | 
	
		
			
				|  |  | +          e.target.value > this.albumPrice.price
 | 
	
		
			
				|  |  | +        ) {
 | 
	
		
			
				|  |  | +          this[obj][obj1] = Number(this.albumPrice.price).toFixed(2);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    //生命周期 - 创建完成(可以访问当前this实例)
 | 
	
		
			
				|  |  |    created() {
 | 
	
	
		
			
				|  | @@ -856,6 +955,92 @@ export default {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +.currectPrice {
 | 
	
		
			
				|  |  | +  color: #d85555;
 | 
	
		
			
				|  |  | +  font-weight: 500;
 | 
	
		
			
				|  |  | +  margin-right: 4px;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.oldPrice {
 | 
	
		
			
				|  |  | +  color: #a7a7a7;
 | 
	
		
			
				|  |  | +  font-weight: 500;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +.price-setting {
 | 
	
		
			
				|  |  | +  margin-bottom: 32px;
 | 
	
		
			
				|  |  | +  h2 {
 | 
	
		
			
				|  |  | +    color: #1d2129;
 | 
	
		
			
				|  |  | +    font-size: 20px;
 | 
	
		
			
				|  |  | +    font-weight: 500;
 | 
	
		
			
				|  |  | +    line-height: 28px;
 | 
	
		
			
				|  |  | +    margin: 0;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  :deep .el-divider {
 | 
	
		
			
				|  |  | +    margin: 24px 0 16px 0;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  &-box {
 | 
	
		
			
				|  |  | +    display: flex;
 | 
	
		
			
				|  |  | +    column-gap: 64px;
 | 
	
		
			
				|  |  | +    .item1 {
 | 
	
		
			
				|  |  | +      width: 160px;
 | 
	
		
			
				|  |  | +      padding: 8px;
 | 
	
		
			
				|  |  | +      color: #000;
 | 
	
		
			
				|  |  | +      font-size: 16px;
 | 
	
		
			
				|  |  | +      font-weight: 400;
 | 
	
		
			
				|  |  | +      line-height: 24px;
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      align-items: center;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    .item2 {
 | 
	
		
			
				|  |  | +      flex: 1;
 | 
	
		
			
				|  |  | +      h5 {
 | 
	
		
			
				|  |  | +        color: #4e5969;
 | 
	
		
			
				|  |  | +        font-size: 14px;
 | 
	
		
			
				|  |  | +        font-weight: 500;
 | 
	
		
			
				|  |  | +        line-height: 22px;
 | 
	
		
			
				|  |  | +        margin: 0;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      p {
 | 
	
		
			
				|  |  | +        color: #86909c;
 | 
	
		
			
				|  |  | +        font-size: 12px;
 | 
	
		
			
				|  |  | +        font-weight: 400;
 | 
	
		
			
				|  |  | +        line-height: 20px;
 | 
	
		
			
				|  |  | +        margin: 0;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      span {
 | 
	
		
			
				|  |  | +        color: #f53f3f;
 | 
	
		
			
				|  |  | +        font-size: 24px;
 | 
	
		
			
				|  |  | +        font-weight: 500;
 | 
	
		
			
				|  |  | +        line-height: 32px;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .oldPrice {
 | 
	
		
			
				|  |  | +        color: #86909c;
 | 
	
		
			
				|  |  | +        font-size: 14px;
 | 
	
		
			
				|  |  | +        line-height: 22px; /* 157.143% */
 | 
	
		
			
				|  |  | +        text-decoration-line: line-through;
 | 
	
		
			
				|  |  | +        margin-left: 4px;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .el-input {
 | 
	
		
			
				|  |  | +        width: auto;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      :deep .el-input-group__prepend {
 | 
	
		
			
				|  |  | +        color: #1d2129;
 | 
	
		
			
				|  |  | +        font-size: 24px;
 | 
	
		
			
				|  |  | +        font-weight: 500;
 | 
	
		
			
				|  |  | +        line-height: 30px;
 | 
	
		
			
				|  |  | +        width: auto;
 | 
	
		
			
				|  |  | +        background: none;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      :deep .el-input__inner {
 | 
	
		
			
				|  |  | +        margin: 0;
 | 
	
		
			
				|  |  | +        background: none;
 | 
	
		
			
				|  |  | +        color: #1d2129;
 | 
	
		
			
				|  |  | +        font-size: 24px;
 | 
	
		
			
				|  |  | +        font-weight: 500;
 | 
	
		
			
				|  |  | +        line-height: 32px;
 | 
	
		
			
				|  |  | +        padding: 0;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  </style>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <style lang="scss">
 |