wangting
2025-01-02 e358d69fc18870584dd2d9f531910b7838ea27d9
Source/plt-web/plt-web-ui/src/views/wel/homeConfig.vue
@@ -13,8 +13,7 @@
      <template slot="menuLeft">
        <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">创建
        </el-button>
        <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delClickHandler">删除
        </el-button>
        <!--<el-button icon="el-icon-delete" plain size="small" type="danger" @click="delClickHandler">删除</el-button>-->
      </template>
      <template slot="menu" slot-scope="{row,index}">
@@ -32,19 +31,19 @@
      :visible.sync="visible"
      append-to-body="true"
      class="avue-dialog"
      width="500px"
      width="540px"
      @close="visibleCloseHandler"
    >
      <el-form ref="form" :model="form" :rules="rules" label-width="95px" size="small">
        <el-row>
          <el-col :span="24">
            <el-form-item label="排序:" prop="orderNum">
              <avue-input-number v-model="form.orderNum" precision="0" style="width: 100%" :max="24" :min="1" controls-position=""></avue-input-number>
              <avue-input-number v-model="form.orderNum" precision="0" style="width: 100%" :min="1" controls-position=""></avue-input-number>
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="组件:" prop="id">
              <avue-select v-model="form.id" placeholder="请选择组件" type="tree" :dic="dic"></avue-select>
            <el-form-item label="显示模块:" prop="module">
              <avue-select v-model="form.module" placeholder="请选择组件" type="tree" :dic="dic"></avue-select>
            </el-form-item>
          </el-col>
          <el-col :span="24">
@@ -59,13 +58,15 @@
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="占据列数:" prop="span" tip="总列数为24">
              <avue-input-number v-model="form.span" precision="0" style="width: 100%" :max="24" :min="2" controls-position="" labelTip="总列数为24,如占满整行请输入24"></avue-input-number>
            <el-form-item label="占据列数:" prop="num" tip="总列数为24">
              <avue-input-number v-model="form.num" precision="0" style="width: 150px" :max="24" :min="1" controls-position="" labelTip="总列数为24,如占满整行请输入24"></avue-input-number>
              <span style="color: #999999;font-size: 12px;"> 按24分栏,占满一行为24</span>
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="高度占比:" prop="height">
              <avue-input-number v-model="form.height" style="width: 100%" :min="0" :max="1" controls-position=""></avue-input-number>
            <el-form-item label="高度占比:" prop="ratio">
              <avue-input-number v-model="form.ratio" precision="2" style="width: 150px" :min="0" :max="1" controls-position=""></avue-input-number>
              <span style="color: #999999;font-size: 12px;"> 占满显示区域高度设置1,显示10%高度设置0.1</span>
            </el-form-item>
          </el-col>
        </el-row>
@@ -80,7 +81,7 @@
<script>
import basicOption from "@/util/basic-option";
import {addSave, deleteStatus, editSave,  gridStatus} from "@/api/modeling/statusPool/api";
import {addSave, delData, editSave,  getAllData} from "@/api/homeConfig";
import func from "@/util/func";
export default {
@@ -102,7 +103,7 @@
          },
          {
            label: '组件',
            prop: 'id',
            prop: 'module',
          },
          {
            label: '标题',
@@ -114,44 +115,35 @@
          },
          {
            label: '占据列数',
            prop: 'span'
            prop: 'num'
          },
          {
            label: '高度占比',
            prop: 'height',
            prop: 'ratio',
          },
        ]
      },
      dialogTitle: '',
      form: {
        orderNum:1,
        id: "",
        module: "",
        title: "",
        span:24,
        num:24,
        icon: "",
        height:1
        ratio:1.00
      },
      rules: {
        id: [
        module: [
          {required: true, message: '请选择组件', trigger: 'blur'},
        ],
        span:[
        num:[
          {required: true, message: '请输入占据列数', trigger: 'blur'},
        ],
        height:[
        ratio:[
          {required: true, message: '请输入高度占比', trigger: 'blur'},
        ]
      },
      dic:[{
        label:'待办流程任务',
        value:'UndoTaskPortlet'
      },{
        label:'待办事项',
        value:'taskPortlet'
      },{
        label:'test',
        value:'test'
      }],
      dic:[],
      visible: false,
      selectList: [],
      lastIndex: null
@@ -162,10 +154,30 @@
  },
  methods: {
    getList() {
      gridStatus().then(res => {
      getAllData().then(res => {
        const data = res.data.data;
        this.data = data;
        this.loading = false;
        //components下的组件,value值为组件名称
        const dic=[{
          label:'待办流程任务',
          value:'UndoTaskPortlet'
        },{
          label:'待办事项',
          value:'taskPortlet'
        },{
          label:'test',
          value:'test'
        }];
        dic.forEach(dicItem => {
          data.forEach(item => {
            if (dicItem.value == item.module) {
              dicItem.disabled=true;
            }
          })
        })
        this.dic=dic
      });
    },
@@ -189,7 +201,7 @@
          this.lastIndex = newIndex;
        },
        () => {
          this.selectList = [];
          this.selectList = [row];
        }
      );
    },
@@ -197,7 +209,7 @@
    // 创建按钮
    addClickHandler() {
      this.visible = true;
      this.form.orderNum=this.data.length;
      this.form.orderNum=this.data.length+1;
      this.dialogTitle = 'add';
    },
@@ -220,7 +232,7 @@
        type: 'warning'
      }).then(() => {
        this.loading = true;
        deleteStatus(this.selectList).then(res => {
        delData(this.selectList).then(res => {
          if (res.data.code === 200) {
            this.$message.success(res.data.obj);
            this.getList();
@@ -241,9 +253,8 @@
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        const list = [row];
        this.loading = true;
        deleteStatus(list).then(res => {
        delData({oid:row.oid}).then(res => {
          if (res.data.code === 200) {
            this.$message.success(res.data.obj);
            this.getList();
@@ -261,11 +272,11 @@
    visibleCloseHandler() {
      const form = {
        orderNum:1,
        id: "",
        module: "",
        title: "",
        span:24,
        num:24,
        icon: "",
        height:1
        ratio:1
      }
      this.form = form;
      this.visible = false;
@@ -279,12 +290,12 @@
        if (valid) {
          saveFunction(this.form).then(res => {
            if (res.data.code === 200) {
              this.$message.success(res.data.obj);
              this.$message.success(res.data.msg);
              this.loading = true;
              this.getList();
              this.visible = false;
            } else {
              this.$message.error(res.data.obj);
              this.$message.error(res.data.msg);
            }
          })
        } else {