jinlin
2024-02-23 1772fc5e211f9e9e0ab4cdc6c29b436aac178c2a
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse.vue
@@ -1,54 +1,69 @@
<template>
  <div class="fa-card-a">
      <zt-table-wraper query-url="/configItemWarehouse/ConfigItemWarehouse/page" delete-url="/configItemWarehouse/ConfigItemWarehouse" v-slot="{ table }">
        <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
          <el-form-item>
            <el-input v-model="dataForm.code" placeholder="请输入配置项入库编号" clearable></el-input>
          </el-form-item>
          <el-form-item>
            <el-input v-model="dataForm.projectCode" placeholder="请输入项目编号" clearable></el-input>
          </el-form-item>
          <el-form-item>
            <el-input v-model="dataForm.projectName" placeholder="请输入项目名称" clearable></el-input>
          </el-form-item>
          <el-form-item>
            <zt-dict v-model="dataForm.libraryType" dict="library_type" clearable></zt-dict>
          </el-form-item>
          <el-form-item>
            <zt-button type="query" @click="table.query()"/>
            <zt-button type="primary" class="el-icon-edit" perm="configItemWarehouse:add" @click="add()">新增</zt-button>
            <zt-button type="delete" perm="configItemWarehouse:delete" @click="table.deleteHandle()"/>
          </el-form-item>
        </el-form>
        <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" border @selection-change="table.selectionChangeHandle">
          <el-table-column align="center" type="selection" width="40"/>
            <el-table-column prop="code" label="配置项入库编号"/>
                <el-table-column prop="projectCode" label="项目编号"/>
                <el-table-column prop="projectName" label="项目名称"/>
                <zt-table-column-dict prop="libraryType" label="库类型" dict="library_type"/>
              <zt-table-column-handle :table="table" edit-perm="configItemWarehouse:update" delete-perm="configItemWarehouse::delete"/>
        </el-table>
        <!-- 弹窗, 新增 / 修改 -->
        <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/>
        <ProjectSelect ref="projectSelect"
                       @refreshDataList="table.query"
                       @setProjectInfo="openAddWin">
        </ProjectSelect>
      </zt-table-wraper>
    <zt-table-wraper query-url="/configItemWarehouse/ConfigItemWarehouse/page"
                     delete-url="/configItemWarehouse/ConfigItemWarehouse/deleteConfigItem" v-slot="{ table }">
      <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
        <el-form-item>
          <el-input v-model="dataForm.code" placeholder="请输入配置项入库编号" clearable></el-input>
        </el-form-item>
        <el-form-item>
          <el-input v-model="dataForm.projectCode" placeholder="请输入项目编号" clearable></el-input>
        </el-form-item>
        <el-form-item>
          <el-input v-model="dataForm.softwareName" placeholder="请输入项目名称" clearable></el-input>
        </el-form-item>
        <el-form-item>
          <zt-dict v-model="dataForm.libraryType" dict="library_type" placeholder="请选择库类型" clearable></zt-dict>
        </el-form-item>
        <el-form-item>
          <zt-button type="query" @click="table.query()"/>
        </el-form-item>
        <el-form-item>
          <el-dropdown trigger="click">
            <zt-button type="primary" class="el-icon-edit" perm="configItemWarehouse:add">新增</zt-button>
            <el-dropdown-menu slot="dropdown">
              <el-dropdown-item @click.native="add('1')">受控库</el-dropdown-item>
              <el-dropdown-item @click.native="add('2')">产品库</el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
        </el-form-item>
        <el-form-item>
          <zt-button type="delete" perm="configItemWarehouse:delete" @click="table.deleteHandle()"/>
        </el-form-item>
      </el-form>
      <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}"
                border @selection-change="table.selectionChangeHandle">
        <el-table-column :selectable="isCheckbox" align="center" type="selection" width="40"/>
        <el-table-column prop="code" label="配置项入库编号"/>
        <el-table-column prop="projectCode" label="项目编号"/>
        <el-table-column prop="softwareName" label="项目名称"/>
        <zt-table-column-dict prop="libraryType" label="库类型" dict="library_type"/>
        <zt-table-column-handle :table="table" edit-perm="configItemWarehouse:update"
                                delete-perm="configItemWarehouse::delete"/>
      </el-table>
      <!-- 弹窗, 新增 / 修改 -->
      <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/>
      <ProjectSelect ref="projectSelect"
                     @refreshDataList="table.query"
                     @setProjectInfo="openAddWin">
      </ProjectSelect>
    </zt-table-wraper>
  </div>
</template>
<script>
  import AddOrUpdate from './ConfigItemWarehouse-AddOrUpdate'
  import ProjectSelect from "../project/Project-select";
  export default {
    data() {
      return {
        libraryType: '1',
        dataForm: {
          code: '',
          projectCode: '',
          projectName: '',
          libraryType: '',
          softwareName: '',
          libraryType: ''
        }
      }
    },
@@ -56,14 +71,21 @@
      AddOrUpdate,
      ProjectSelect
    },
    methods:{
      add() {
    methods: {
      add(libraryType) {
        if (libraryType==='2'){
          this.libraryType='2'
        }
        this.$refs.projectSelect.$refs.dialog.init("config_item_warehouse")
      },
      isCheckbox(row, index) {
        return !(row.flowInfo && row.flowInfo.bizId);
      },
      openAddWin(row) {
        console.log(row.id, 'row.id')
        // this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id})
        this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id})
        this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id, libraryType: this.libraryType})
        this.libraryType='1'
      },
    }
  }