Fixiaobai
2023-11-03 36395626eb1ae2e6400cb45ab652f675209c6640
	modified:   src/views/basic/param/index.vue
modified: src/views/basic/param/param-form.vue
已修改2个文件
已添加1个文件
139 ■■■■■ 文件已修改
node_modules.zip 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basic/param/index.vue 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basic/param/param-form.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
node_modules.zip
Binary files differ
src/views/basic/param/index.vue
@@ -35,7 +35,7 @@
        </el-row>
        <el-row style="padding-top: 20px;">
          <!--    表格数据区-->
          <el-table  height="480" style="width: 100%;" :data="table.data" row-key="id"
          <el-table height="480" style="width: 100%;" :data="table.data" row-key="id"
            :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
            <el-table-column type="index" label="序号" width="50">
            </el-table-column>
@@ -43,26 +43,41 @@
            <el-table-column prop="parameterItem" label="参数项"></el-table-column>
            <el-table-column prop="type" label="参数类型">
              <template slot-scope="scope">
                <el-col v-show="scope.row.bianJi===false">{{ scope.row.type }}</el-col>
                <el-col v-show="scope.row.bianJi === false">{{ scope.row.type }}</el-col>
                <el-col v-show="scope.row.bianJi">
                  111
                  <!-- <el-select v-model="scope.row.type" filterable placeholder="请选择参数类型" style="width:100%"
                    @change="changeType">
                    <el-option v-for="(item, index) in this.typeOptions" :label="item.label" :value="item.value"
                      :key="item.value">
                  <el-select @change="changeType(scope.row)" v-model="scope.row.type" placeholder="请选择">
                    <el-option v-for="item in optionType" :key="item.id" :label="item.label" :value="item.label">
                    </el-option>
                  </el-select> -->
                  </el-select>
                </el-col>
              </template>
            </el-table-column>
            <el-table-column prop="parameterFormat" label="参数格式"></el-table-column>
            <el-table-column prop="parameterFormat" label="参数格式">
              <template slot-scope="scope">
                <el-col v-if="scope.row.bianJi === false">
                  {{ scope.row.parameterFormat }}
                </el-col>
                <el-col style="margin-bottom: 0 !important;" v-if="scope.row.bianJi">
                  <el-col v-if="scope.row.isSelect === false">
                    <el-input v-model="scope.row.parameterFormat" placeholder="参数格式"></el-input>
                  </el-col>
                  <el-col v-if="scope.row.isSelect">
                    <el-select v-model="scope.row.dict" filterable placeholder="请选择数据字典" style="width:100%">
                      <el-option v-for="(item, index) in dictOptions" :label="item.description" :value="item.type"
                        :key="index">
                      </el-option>
                    </el-select>
                  </el-col>
                </el-col>
              </template>
            </el-table-column>
            <el-table-column prop="unit" label="单位"></el-table-column>
            <el-table-column prop="code" label="操作">
              <template slot-scope="scope">
                <el-row style=" display: flex;width: 100%;">
                  <el-col><el-button type="text">删除</el-button></el-col>
                  <el-col v-if="scope.row.isBianji">
                  <el-button @click="bianji(scope.row)" type="text">{{ scope.row.bianJiBtn }}</el-button>
                    <el-button @click="bianji(scope.row)" type="text">{{ scope.row.bianJiBtn }}</el-button>
                  </el-col>
                </el-row>
              </template>
@@ -89,6 +104,8 @@
export default {
  data() {
    return {
      dictOptions: [],
      optionType: [],
      isExpandAll: false,
      // 重新渲染表格状态
      refreshTable: true,
@@ -263,16 +280,40 @@
    ...mapGetters(['permissions'])
  },
  created() {
    this.getDictOptions()
    this.getParamType()
    this.getData()
  },
  methods: {
    changeType(){},
    bianji(row){
      // this.$set(row.bianJi,false,true)
      row.bianJi=true
      row.bianJiBtn='保存'
      console.log(row)
    // 获取所有字典
    getDictOptions() {
      fetchList(
        Object.assign({
          current: 1,
          size: 200
        })
      ).then((response) => {
        if (response.data.code === 0) {
          this.dictOptions = response.data.data.records
        }
      })
    },
    changeType(row) {
      if(row.type==='下拉选项'){
        row.isSelect=true
      }else{
        row.isSelect=false
      }
    },
    bianji(row) {
      if (!row.bianJi) {
        row.bianJi = true
        row.bianJiBtn = '保存'
      } else {
        row.bianJi = false
        row.isSelect=false
        row.bianJiBtn = '编辑'
      }
    },
    isExpandAllClick() {
      // console.log(1111);
@@ -297,34 +338,39 @@
      fetchList(param).then((res) => {
        console.log(res.data);
        this.table.total = res.data.data.total
        this.table.data = res.data.data.records
        let datas=JSON.parse(JSON.stringify(this.table.data))
        datas.forEach(l => {
          l.bianJi = false
          if (l.children.length < 1) {
            l.isBianji = true
            l.bianJiBtn='编辑'
          }
          if (l.children.length > 0) {
            l.isBianji = false
            l.children.forEach(c => {
              c.bianji = false
              if (c.children.length < 1) {
                c.isBianji = true
                c.bianJiBtn='编辑'
              } else {
                l.isBianji = false
                c.children.forEach(cc => {
                  cc.bianJi = false
                  cc.isBianji = true
                  c.bianJiBtn='编辑'
                })
              }
            })
          }
        })
        this.table.data=datas
        console.log(this.table.data);
        // this.table.data = res.data.data.records
        this.$nextTick(() => {
          let datas = JSON.parse(JSON.stringify(res.data.data.records))
          datas.forEach(l => {
            l.bianJi = false
            l.isSelect=false
            if (l.children.length < 1) {
              l.isBianji = true
              l.bianJiBtn = '编辑'
            } else {
              l.isBianji = false
              l.children.forEach(c => {
                c.isSelect=false
                c.bianji = false
                if (c.children.length < 1) {
                  c.isBianji = true
                  c.bianJiBtn = '编辑'
                } else {
                  l.isBianji = false
                  c.children.forEach(cc => {
                    cc.isSelect=false
                    cc.bianJi = false
                    cc.isBianji = true
                    cc.bianJiBtn = '编辑'
                  })
                }
              })
            }
          })
          console.log("test==>", datas);
          this.table.data = datas
          console.log(this.table.data);
        });
      })
    },
    // 新增 / 修改
@@ -339,6 +385,7 @@
      remote('technology_param').then((response) => {
        if (response.data.code === 0) {
          this.typeOptions = response.data.data
          this.optionType = response.data.data
        }
      })
    },
src/views/basic/param/param-form.vue
@@ -19,7 +19,7 @@
          </el-option>
        </el-select>
      </el-form-item>
      <!-- <el-form-item label="参数类型" prop="type">
      <el-form-item label="参数类型" prop="type">
        <el-select
          v-model="dataForm.type"
          filterable
@@ -64,7 +64,7 @@
      </el-form-item>
      <el-form-item label="单位" prop="unit">
        <el-input v-model="dataForm.unit" placeholder="单位"></el-input>
      </el-form-item> -->
      </el-form-item>
    </el-form>
    <span slot="footer" class="dialog-footer">
      <el-button @click="visible = false">取消</el-button>