sf
jiangping
2025-04-30 dcdb0231034810232f2542f3865666ebf72daf11
company_admin/src/components/business/OperaGoodsWindow.vue
@@ -11,7 +11,7 @@
          <el-input v-model="form.name" maxlength="50" placeholder="请输入商品名称,不超过50个字" v-trim/>
        </el-form-item>
        <el-form-item label="商品品牌" prop="brandId">
          <el-select v-model="form.brandId" placeholder="请选择,单选">
          <el-select v-model="form.brandId" filterable placeholder="请选择,单选">
            <el-option
              v-for="item in brandList"
              :key="item.id"
@@ -22,7 +22,7 @@
        </el-form-item>
        <el-form-item label="商品类别" prop="categoryId">
          <!-- @change="changeCategory(form.categoryId)" -->
          <el-select v-model="form.categoryId" placeholder="请选择,单选">
          <el-select v-model="form.categoryId" filterable placeholder="请选择,单选">
            <el-option
              v-for="item in categoryList"
              :key="item.id"
@@ -31,7 +31,7 @@
            </el-option>
          </el-select>
        </el-form-item>
        <el-form-item :label="name1" prop="attrFirstIds" v-if="name1">
        <!-- <el-form-item :label="name1" prop="attrFirstIds" v-if="name1">
          <el-select v-model="form.attrFirstIds" multiple placeholder="请选择,支持多选">
            <el-option
              v-for="item in form.attrFirstList"
@@ -50,7 +50,7 @@
              :value="item.id">
            </el-option>
          </el-select>
        </el-form-item>
        </el-form-item> -->
        <el-form-item label="指导价(元)" prop="zdPrice">
          <el-input v-model="form.zdPrice" @input="priceCHANEG(form.zdPrice, 1)" type="number" placeholder="建议录入整数,单位元" v-trim/>
        </el-form-item>
@@ -61,7 +61,7 @@
          <el-upload
            :action="action"
            :file-list="form.ztList"
            :data="{ folder: 'projects' }"
            :data="{ folder: 'goods_img' }"
            list-type="picture-card"
            :limit="1"
            :on-success="fileSuccess"
@@ -76,7 +76,7 @@
            :action="action"
            :file-list="form.files"
            :multiple="true"
            :data="{ folder: 'projects' }"
            :data="{ folder: 'goods_img' }"
            list-type="picture-card"
            :on-success="fileSuccess1"
            :on-remove="handleRemove1">
@@ -84,10 +84,12 @@
            <div slot="tip" class="el-upload__tip">只能上传图片格式,png格式,建议尺寸600*600px</div>
          </el-upload>
        </el-form-item>
        <div style="font-size: 18px;font-weight: bold;">参数属性值配置 <span style="font-size: 13px; font-weight: 500;">按需配置当前商品的产品参数值,单个参数值不超过30个字</span></div>
        <el-form-item :label="item.name" v-for="(item, index) in form.goodsParamList" :key="index">
          <el-input v-model="item.val" maxlength="30" type="text" placeholder="请输入" v-trim/>
        </el-form-item>
        <template v-if="form.goodsParamList && form.goodsParamList.length > 0">
          <div style="font-size: 18px;font-weight: bold;">参数属性值配置 <span style="font-size: 13px; font-weight: 500;">按需配置当前商品的产品参数值,单个参数值不超过30个字</span></div>
          <el-form-item :label="item.name" v-for="(item, index) in form.goodsParamList" :key="index">
            <el-input v-model="item.val" maxlength="30" type="text" placeholder="请输入" v-trim/>
          </el-form-item>
        </template>
      </el-form>
    </GlobalWindow>
  </template>
@@ -96,14 +98,14 @@
  import BaseOpera from '@/components/base/BaseOpera'
  import GlobalWindow from '@/components/common/GlobalWindow'
  import { brand } from '@/api/system/common.js'
  import { findListForGoodsId, create, updateById } from '@/api/business/goods.js'
  import { findListForGoodsId, create, updateById, companyCreate, companyUpdateById } from '@/api/business/goods.js'
  export default {
    name: 'OperaGoodsWindow',
    extends: BaseOpera,
    components: { GlobalWindow },
    data () {
      return {
        action: process.env.VUE_APP_API_PREFIX + '/public/uploadLocal',
        action: process.env.VUE_APP_API_PREFIX + '/public/upload',
        name1: '',
        name2: '',
        // 表单数据
@@ -259,7 +261,7 @@
              this.form.attrSecodIds = ''
            }
            if (!this.form.id) {
              create(this.form)
              companyCreate({...this.form, type: 0})
                .then(() => {
                  this.visible = false
                  this.$tip.apiSuccess('新建成功')
@@ -272,7 +274,7 @@
                  this.isWorking = false
                })
            } else {
              updateById(this.form)
              companyUpdateById({...this.form, type: 0})
                .then(() => {
                  this.visible = false
                  this.$tip.apiSuccess('编辑成功')
@@ -295,13 +297,22 @@
          message: '只能上传一个图标'
        })
      },
      initMuitlFiles (fileList) {
        const list = [];
        fileList.forEach(rawFile => {
          list.push({ fileurl: rawFile.response.data.imgaddr, name: rawFile.response.data.imgname, url: rawFile.response.data.url })
        });
        return list;
      },
      fileSuccess1(response, file, fileList) {
        this.form.files = fileList
        this.form.multifileList.push({ fileurl: response.data.imgaddr, name: response.data.imgname, url: response.data.url })
        // this.form.multifileList.push({ fileurl: response.data.imgaddr, name: response.data.imgname, url: response.data.url })
       this.form.multifileList=this.initMuitlFiles(fileList);
      },
      handleRemove1(file, fileList) {
        this.form.files = fileList
        this.form.multifileList = fileList
        // this.form.multifileList = fileList
        this.form.multifileList=this.initMuitlFiles(fileList);
      },
      fileSuccess(response) {
        this.form.ztList.push({ imgaddr: response.data.imgaddr, url: response.data.url })