jiangping
2025-07-15 8df850d0087527789d9803be6a03f8a82113fa17
admin/src/components/business/OperaCategoryWindow.vue
@@ -7,10 +7,26 @@
  >
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="名称" prop="name">
        <el-input v-model="form.name" placeholder="请输入名称" v-trim/>
        <el-input v-if="form.type !=3"  v-model="form.name" placeholder="请输入名称" v-trim/>
        <el-select v-else  v-model="form.name" placeholder="请选择订单类型" v-trim>
          <el-option :value="'0'" label="用工单"></el-option>
          <el-option :value="'1'" label="货运单"></el-option>
          <el-option :value="'2'" label="订餐单"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item v-if="form.type == 1 || form.type == 2" :label=" form.type == 1?'车辆规格':'餐标配置'" prop="detailList">
        <el-input v-model="form.detailList" placeholder="请输入内容" v-trim/>
      <el-form-item v-if="form.type ==3 " label="手续费(%)" prop="detail">
        <el-input  type="number"   v-model="form.detail" placeholder="请输入名称" v-trim/>
      </el-form-item>
      <el-form-item v-if="form.type == 1 || form.type == 2" :label=" form.type == 1?'车辆规格':'餐标配置(元)'" prop="detailList">
        <div style="display: flex;flex-direction: column">
          <div style="position: relative;display: block;width: 100%;" v-for="(item,index) in form.detailList"   >
            <el-input  :type="form.type == 1?'text':'number'" style="display:inline-block;width: 60%;margin:5px ;float: left" v-model="form.detailList[index]"   placeholder="请输入内容" v-trim/>
            <el-button  style="display:inline-block;margin : 5px " @click="del(index)" v-if="form.detailList.length>0">x</el-button>
          </div>
          <div style="position: relative;display: block;width: 100%;">
            <el-button style="width: 100px;margin: 5px;" type="primary" @click="add()">添加规格</el-button>
          </div>
        </div>
      </el-form-item>
      <el-form-item v-if="form.type == 1" label="图标" prop="icon">
        <UploadAvatarImage
@@ -19,7 +35,7 @@
            @uploadSuccess="uploadAvatarSuccess"
        />
      </el-form-item>
      <el-form-item  v-if="form.type == 1"  label="是否固定车辆" prop="isFixed">
      <el-form-item  v-if="form.id ==null && form.type == 1"  label="是否固定车辆" prop="isFixed">
        <el-radio-group v-model="form.isFixed">
          <el-radio :label="0">非固定</el-radio>
          <el-radio :label="1">固定车型</el-radio>
@@ -53,8 +69,10 @@
        sortnum: null,
        name: '',
        type: null,
        detailList: [],
        detail:null,
        detailList: [''],
        icon: '',
        iconFull: '',
        isFixed: 0
      },
      // 验证规则
@@ -70,9 +88,18 @@
    })
  },
  methods:{
    del(index){
      if(this.form.detailList.length<=1){
        return
      }
      this.form.detailList.splice(index,1)
    },
    add(){
      this.form.detailList.push('')
    },
    uploadAvatarSuccess (file) {
      this.$set(this.param, 'icon', file.imgurl)
      this.$set(this.param, 'iconFull', file.imgurlfull)
      this.$set(this.form, 'icon', file.imgurl)
      this.$set(this.form, 'iconFull', file.imgurlfull)
    },
    open(title, target, type) {
      this.title = title
@@ -82,9 +109,11 @@
        status: 0,
        sortnum: null,
        name: '',
        detail: null,
        type: type,
        detailList: [],
        detailList: [''],
        icon: '',
        iconFull: '',
        isFixed: 0
      }
      // 新建
@@ -101,6 +130,9 @@
        for (const key in this.form) {
          this.form[key] = target[key]
        }
        if(this.form.detailList==null){
          this.form.detailList = ['']
        }
      })
    }
  }