jiangping
2025-07-15 f8a4a4306824bf9874a4333e12a0307555ffbb08
admin/src/components/business/OperaCategoryWindow.vue
@@ -6,41 +6,27 @@
    @confirm="confirm"
  >
    <el-form :model="form" ref="form" :rules="rules">
      <el-form-item label="是否已删除 0未删除 1已删除" prop="deleted">
        <el-input v-model="form.deleted" placeholder="请输入是否已删除 0未删除 1已删除" v-trim/>
      <el-form-item label="名称" prop="name">
        <el-input v-model="form.name" placeholder="请输入名称" v-trim/>
      </el-form-item>
      <el-form-item label="状态:0=启用;1=禁用;" prop="status">
        <el-input v-model="form.status" placeholder="请输入状态:0=启用;1=禁用;" v-trim/>
      <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>
      <el-form-item label="创建人编码" prop="createUser">
        <el-input v-model="form.createUser" placeholder="请输入创建人编码" v-trim/>
      <el-form-item v-if="form.type == 1" label="图标" prop="icon">
        <UploadAvatarImage
            :file="{ imgurlfull: form.iconFull, imgurl: form.icon }"
            :uploadData="uploadData"
            @uploadSuccess="uploadAvatarSuccess"
        />
      </el-form-item>
      <el-form-item label="创建时间" prop="createTime">
        <el-date-picker v-model="form.createTime" value-format="yyyy-MM-dd" placeholder="请输入创建时间"></el-date-picker>
      <el-form-item  v-if="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>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="更新人编码" prop="updateUser">
        <el-input v-model="form.updateUser" placeholder="请输入更新人编码" v-trim/>
      </el-form-item>
      <el-form-item label="更新时间" prop="updateTime">
        <el-date-picker v-model="form.updateTime" value-format="yyyy-MM-dd" placeholder="请输入更新时间"></el-date-picker>
      </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="form.remark" placeholder="请输入备注" v-trim/>
      </el-form-item>
      <el-form-item label="单位名称" prop="name">
        <el-input v-model="form.name" placeholder="请输入单位名称" v-trim/>
      </el-form-item>
      <el-form-item label="类型:0=品种配置;1=车辆类型配置;2=餐标配置;3=手续费配置;" prop="type">
        <el-input v-model="form.type" placeholder="请输入类型:0=品种配置;1=车辆类型配置;2=餐标配置;3=手续费配置;" v-trim/>
      </el-form-item>
      <el-form-item label="内容(车辆规格、餐标、手续费比例)" prop="detail">
        <el-input v-model="form.detail" placeholder="请输入内容(车辆规格、餐标、手续费比例)" v-trim/>
      </el-form-item>
      <el-form-item label="图标(车辆类型使用)" prop="icon">
        <el-input v-model="form.icon" placeholder="请输入图标(车辆类型使用)" v-trim/>
      </el-form-item>
      <el-form-item label="是否固定车辆(车辆类型使用):0=否;1=是;" prop="isFixed">
        <el-input v-model="form.isFixed" placeholder="请输入是否固定车辆(车辆类型使用):0=否;1=是;" v-trim/>
      <el-form-item label="排序码" prop="sortnum">
        <el-input v-model="form.sortnum" placeholder="请输入排序码" v-trim/>
      </el-form-item>
    </el-form>
  </GlobalWindow>
@@ -49,27 +35,27 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
export default {
  name: 'OperaCategoryWindow',
  extends: BaseOpera,
  components: { GlobalWindow },
  components: { GlobalWindow ,UploadAvatarImage},
  data () {
    return {
      isUploading: false,
      uploadData: {
        folder: 'category'
      },
      // 表单数据
      form: {
        id: null,
        deleted: '',
        status: '',
        createUser: '',
        createTime: '',
        updateUser: '',
        updateTime: '',
        remark: '',
        status: 0,
        sortnum: null,
        name: '',
        type: '',
        detail: '',
        type: null,
        detailList: [],
        icon: '',
        isFixed: ''
        isFixed: 0
      },
      // 验证规则
      rules: {
@@ -81,6 +67,41 @@
      api: '/business/category',
      'field.id': 'id'
    })
  },
  methods:{
    uploadAvatarSuccess (file) {
      this.$set(this.param, 'icon', file.imgurl)
      this.$set(this.param, 'iconFull', file.imgurlfull)
    },
    open(title, target, type) {
      this.title = title
      this.visible = true
      this.form = {
        id: null,
        status: 0,
        sortnum: null,
        name: '',
        type: type,
        detailList: [],
        icon: '',
        isFixed: 0
      }
      // 新建
      if (target == null) {
        this.$nextTick(() => {
          this.$refs.form.resetFields()
          this.form[this.configData['field.id']] = null
          this.form.type = type
        })
        return
      }
      // 编辑
      this.$nextTick(() => {
        for (const key in this.form) {
          this.form[key] = target[key]
        }
      })
    }
  }
}
</script>