ysy 2 年 前
コミット
67ab2d3394

+ 0 - 88
src/views/equipmentManage/components/equipment-search.vue

@@ -1,88 +0,0 @@
-<!-- 搜索表单 -->
-<template>
-  <el-form
-    label-width="77px"
-    class="ele-form-search"
-    @keyup.enter.native="search"
-    @submit.native.prevent
-  >
-    <el-row :gutter="10">
-      <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
-        <el-form-item label="设备编码">
-          <el-input clearable v-model="where.code" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
-        <el-form-item label="设备名称">
-          <el-input clearable v-model="where.name" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
-        <el-form-item label="牌号" label-width="50px">
-          <el-input clearable v-model="where.brandNum" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
-        <el-form-item label="型号"  label-width="50px">
-          <el-input clearable v-model="where.modelType" placeholder="请输入" />
-        </el-form-item>
-      </el-col>
-      <el-col v-bind="styleResponsive ? { md: 4 } : { span: 4 }">
-        <el-form-item label-width="0">
-          <el-button
-            type="primary"
-            icon="el-icon-search"
-            class="ele-btn-icon"
-            @click="search"
-          >
-            查询
-          </el-button>
-
-          <el-button
-            @click="reset"
-            icon="el-icon-refresh"
-            class="ele-btn-icon"
-            size="medium"
-            >重置</el-button
-          >
-        </el-form-item>
-      </el-col>
-    </el-row>
-  </el-form>
-</template>
-
-<script>
-  export default {
-    data () {
-      // 默认表单数据
-      const defaultWhere = {
-        name: '',
-        code: '',
-        brandNum: '',
-        modelType:''
-      };
-      return {
-        defaultWhere,
-        // 表单数据
-        where: { ...defaultWhere }
-      };
-    },
-    computed: {
-      // 是否开启响应式布局
-      styleResponsive () {
-        return this.$store.state.theme.styleResponsive;
-      }
-    },
-    methods: {
-      /* 搜索 */
-      search () {
-        this.$emit('search', this.where);
-      },
-      /*  重置 */
-      reset () {
-        this.where = { ...this.defaultWhere };
-        this.search();
-      }
-    }
-  };
-</script>

+ 0 - 359
src/views/equipmentManage/components/link-material-dialog.vue

@@ -1,359 +0,0 @@
-<template>
-  <ele-modal :visible.sync="visible" title="" width="80%" @close="cancel">
-    <el-row :gutter="40">
-      <el-col :span="12">
-        <headerTitle>
-          <template v-slot:title>
-            可选
-            <el-button
-              type="primary"
-              class="ml20"
-              size="mini"
-              @click="handleConect"
-              >关联</el-button
-            >
-            <el-button
-              type="primary"
-              size="mini"
-              icon="icon-search"
-              @click="reload"
-              >搜索</el-button
-            >
-          </template>
-        </headerTitle>
-        <el-form label-width="100px">
-          <el-row>
-            <el-col :span="12">
-              <el-form-item :label="`分类`">
-                <categorySelect
-                  :pid="type"
-                  :key="type"
-                  v-model="where.categoryLevelGroupId"
-                />
-                <!-- <el-input
-                  placeholder="请输入"
-                  clearable
-                  v-model="where.categoryLevelGroupId"
-                ></el-input> -->
-              </el-form-item></el-col
-            >
-            <el-col :span="12">
-              <el-form-item :label="`编码`">
-                <el-input
-                  placeholder="请输入"
-                  clearable
-                  v-model="where.code"
-                ></el-input></el-form-item
-            ></el-col>
-            <el-col :span="12">
-              <el-form-item :label="`名称`">
-                <el-input
-                  placeholder="请输入"
-                  clearable
-                  v-model="where.name"
-                ></el-input></el-form-item
-            ></el-col>
-            <el-col :span="12">
-              <el-form-item label="型号">
-                <el-input
-                  placeholder="请输入"
-                  clearable
-                  v-model="where.modelType"
-                ></el-input></el-form-item
-            ></el-col>
-          </el-row>
-        </el-form>
-        <ele-pro-table
-          ref="table"
-          :columns="columns"
-          :datasource="datasourceShow"
-          :selection.sync="selection"
-          cache-key="link-material-dialog"
-          height="45vh"
-          :initLoad="false"
-          :need-page="false"
-        >
-        </ele-pro-table>
-      </el-col>
-      <el-col :span="12">
-        <headerTitle
-          ><template v-slot:title
-            >已关联
-            <el-button
-              type="primary"
-              class="ml20"
-              size="mini"
-              @click="handleCancelConect"
-              >取消关联</el-button
-            >
-            <el-button
-              type="primary"
-              size="mini"
-              icon="icon-search"
-              @click="reloadRight"
-              >搜索</el-button
-            ></template
-          ></headerTitle
-        >
-        <el-form label-width="100px">
-          <el-row>
-            <el-col :span="12">
-              <el-form-item :label="`分类`">
-                <categorySelect
-                  :pid="type"
-                  :key="type"
-                  v-model="whereRight.categoryLevelGroupId"
-                /> </el-form-item
-            ></el-col>
-            <el-col :span="12">
-              <el-form-item :label="`编码`">
-                <el-input
-                  clearable
-                  placeholder="请输入"
-                  v-model="whereRight.code"
-                ></el-input></el-form-item
-            ></el-col>
-            <el-col :span="12">
-              <el-form-item :label="`名称`">
-                <el-input
-                  clearable
-                  placeholder="请输入"
-                  v-model="whereRight.name"
-                ></el-input></el-form-item
-            ></el-col>
-            <el-col :span="12">
-              <el-form-item label="型号">
-                <el-input
-                  clearable
-                  placeholder="请输入"
-                  v-model="whereRight.modelType"
-                ></el-input></el-form-item
-            ></el-col>
-          </el-row>
-        </el-form>
-        <ele-pro-table
-          ref="tableRight"
-          :columns="columnsRight"
-          :datasource="datasourceRightShow"
-          :selection.sync="selectionRight"
-          height="45vh"
-          :initLoad="false"
-          :need-page="false"
-          cache-key="link-material-dialog-right"
-        >
-        </ele-pro-table
-      ></el-col>
-    </el-row>
-
-    <div slot="footer" class="footer">
-      <el-button type="primary" @click="save">保存</el-button>
-      <el-button @click="cancel">取消</el-button>
-    </div>
-  </ele-modal>
-</template>
-
-<script>
-  import {
-    getRelatesInformationList,
-    unassociated,
-    productTieUpMaterial
-  } from '@/api/material/product.js';
-  import dictMixins from '@/mixins/dictMixins';
-  import categorySelect from '@/components/CommomSelect/category-select.vue';
-  export default {
-    mixins: [dictMixins],
-    components: { categorySelect },
-    data () {
-      return {
-        visible: false,
-        row: {},
-        datasource: [],
-        datasourceShow: [],
-        datasourceRightShow: [],
-        datasourceRight: [],
-        selectionRight: [],
-        selection: [],
-        whereRight: {},
-        where: {},
-        type: '',
-        idMap: {
-          6: '1678278090828136449',
-          5: '1678277781556936705'
-        }
-      };
-    },
-    created () {
-      this.requestDict('类型用途');
-    },
-    computed: {
-      catogaryName () {
-        return this.getDictValue('类型用途', this.type);
-      },
-      dict () {},
-      columns () {
-        return [
-          {
-            type: 'selection',
-            align: 'center'
-          },
-          {
-            label: `${this.catogaryName}分类`,
-            prop: 'categoryLevelGroupName'
-          },
-          {
-            label: `${this.catogaryName}编码`,
-            prop: 'code'
-          },
-          {
-            label: `${this.catogaryName}名称`,
-            prop: 'name'
-          },
-          {
-            label: '型号',
-            prop: 'modelType'
-          }
-        ];
-      },
-      columnsRight () {
-        return [
-          {
-            type: 'selection',
-            align: 'center'
-          },
-          {
-            label: `${this.catogaryName}分类`,
-            prop: 'categoryLevelGroupName'
-          },
-          {
-            label: `${this.catogaryName}编码`,
-            prop: 'code'
-          },
-          {
-            label: `${this.catogaryName}名称`,
-            prop: 'name'
-          },
-          {
-            label: '型号',
-            prop: 'modelType'
-          }
-        ];
-      }
-    },
-    methods: {
-      open (type, row) {
-        this.type = type;
-        this.row = row;
-        this.getDatasource();
-        this.getDatasourceRight();
-        this.visible = true;
-      },
-      cancel () {
-        this.visible = false;
-      },
-      async save () {
-        const params = {
-          mainCategoryId: this.row.categoryLevelId,
-          mainCategoryLevelRootId: this.type,
-          materialDetailsPOList: this.datasourceRightShow.map((i) => ({
-            ...i,
-            categoryLevelRootId: this.type
-          }))
-        };
-        await productTieUpMaterial(params);
-        this.cancel();
-        this.$message.success('操作成功!');
-        this.$emit('success');
-      },
-      handleConect () {
-        if (!this.selection.length) {
-          return this.$message.error('请选择关联数据');
-        }
-        this.datasource = this.datasource.filter(
-          (i) => !this.selection.find((t) => t.categoryId == i.categoryId)
-        );
-        this.datasourceShow = this.datasourceShow.filter(
-          (i) => !this.selection.find((t) => t.categoryId == i.categoryId)
-        );
-
-        this.datasourceRightShow.push(...this.selection);
-        this.datasourceRight.push(...this.selection);
-
-        this.selection = [];
-      },
-      handleCancelConect () {
-        if (!this.selectionRight.length) {
-          return this.$message.error('请选择取消关联数据');
-        }
-
-        this.datasourceRight = this.datasourceRight.filter(
-          (i) => !this.selectionRight.find((t) => t.categoryId == i.categoryId)
-        );
-        this.datasourceRightShow = this.datasourceRightShow.filter(
-          (i) => !this.selectionRight.find((t) => t.categoryId == i.categoryId)
-        );
-
-        this.datasourceShow.push(...this.selectionRight);
-        this.datasource.push(...this.selectionRight);
-
-        this.selectionRight = [];
-      },
-      reload () {
-        this.datasourceShow = this.datasource.filter((item) => {
-          return (
-            (!this.where.categoryLevelGroupId ||
-              item.categoryLevelGroupId.includes(
-                this.where.categoryLevelGroupId
-              )) &&
-            (!this.where.code || item.code.includes(this.where.code)) &&
-            (!this.where.name || item.name.includes(this.where.name)) &&
-            (!this.where.modelType ||
-              item.modelType.includes(this.where.modelType))
-          );
-        });
-      },
-      reloadRight () {
-        this.datasourceRightShow = this.datasourceRight.filter((item) => {
-          return (
-            (!this.whereRight.categoryLevelGroupId ||
-              item.categoryLevelGroupId.includes(
-                this.whereRight.categoryLevelGroupId
-              )) &&
-            (!this.whereRight.code ||
-              item.code.includes(this.whereRight.code)) &&
-            (!this.whereRight.name ||
-              item.name.includes(this.whereRight.name)) &&
-            (!this.whereRight.modelType ||
-              item.modelType.includes(this.whereRight.modelType))
-          );
-        });
-      },
-      async getDatasource () {
-        const data = await unassociated({
-           categoryLevelGroupId: this.idMap[this.type],
-           categoryLevelRootId: this.type,
-           mainCategoryId: this.row.id
-        });
-        this.datasource = data.slice(0);
-        this.datasourceShow = data.slice(0);
-      },
-      async getDatasourceRight () {
-        const data = await getRelatesInformationList({
-          categoryLevelGroupId: this.idMap[this.type],
-          categoryLevelRootId: this.type,
-          mainCategoryId: this.row.id
-        });
-        this.datasourceRight = data.slice(0);
-        this.datasourceRightShow = data.slice(0);
-      }
-    }
-  };
-</script>
-
-<style lang="scss" scoped>
-  .ml20 {
-    margin-left: 20px;
-  }
-  .footer {
-    text-align: right;
-  }
-</style>

+ 0 - 131
src/views/equipmentManage/index.vue

@@ -1,131 +0,0 @@
-<template>
-  <div class="ele-body">
-    <el-card shadow="never">
-      <EquipmentSearch @search="reload" />
-      <ele-split-layout
-        width="244px"
-        allow-collapse
-        :right-style="{ overflow: 'hidden' }"
-      >
-        <div class="ele-border-lighter split-layout-right-content">
-          <AssetTree
-            ref="assetTreeRef"
-            id="4"
-            @handleNodeClick="handleNodeClick"
-          />
-        </div>
-        <!-- 表格 -->
-        <template v-slot:content>
-          <ele-pro-table
-            ref="table"
-            :columns="columns"
-            :datasource="datasource"
-            height="calc(100vh - 350px)"
-            :initLoad="false"
-            :current.sync="current"
-            highlight-current-row
-            class="dict-table"
-            tool-class="ele-toolbar-actions"
-          >
-            <!-- 表头工具栏 -->
-            <template v-slot:toolbar>
-              <el-button type="primary" @click="handleLink('5')"
-                >关联模具</el-button
-              >
-              <el-button type="primary" @click="handleLink('6')"
-                >关联备品备件</el-button
-              >
-            </template>
-          </ele-pro-table>
-        </template>
-      </ele-split-layout>
-    </el-card>
-    <linkMaterialDialog ref="linkMaterialDialogRef" @success="success" />
-  </div>
-</template>
-
-<script>
-  import AssetTree from '@/components/AssetTree';
-  import EquipmentSearch from './components/equipment-search.vue';
-  import linkMaterialDialog from './components/link-material-dialog.vue';
-  import { getList } from '@/api/classifyManage/itemInformation';
-
-  export default {
-    name: 'SystemDictionary',
-    components: { AssetTree, EquipmentSearch, linkMaterialDialog },
-    data () {
-      return {
-        // 表格列配置
-        columns: [
-          {
-            columnKey: 'index',
-            type: 'index',
-            width: 55,
-            align: 'center',
-            reserveSelection: true,
-            label: '序号'
-          },
-          {
-            prop: 'code',
-            label: '设备编码'
-          },
-          {
-            prop: 'name',
-            label: '设备名称',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'brandNum',
-            label: '牌号'
-          },
-          {
-            prop: 'modelType',
-            label: '型号'
-          },
-          {
-            prop: 'measuringUnit',
-            label: '计量单位'
-          },
-          {
-            prop: 'packingUnit',
-            label: '包装单位'
-          }
-        ],
-        categoryLevelId: '9',
-        current: null
-      };
-    },
-
-    methods: {
-      /* 表格数据源 */
-      datasource ({ page, where, limit }) {
-        return getList({
-          ...where,
-          pageNum: page,
-          size: limit,
-          categoryLevelId: this.categoryLevelId
-        });
-      },
-      success () {
-        this.reload();
-      },
-      handleLink (type) {
-        if (!this.current) {
-          return this.$message.error('请选择设备!');
-        }
-
-        this.$refs.linkMaterialDialogRef.open(type, this.current);
-      },
-      /* 刷新表格 */
-      reload (where) {
-        this.$refs.table.reload({ where: where });
-      },
-      handleNodeClick (data) {
-        this.categoryLevelId = data.id;
-        this.reload();
-      }
-    }
-  };
-</script>
-
-<style lang="scss" scoped></style>

+ 10 - 3
src/views/material/product/components/index-data.vue

@@ -11,9 +11,9 @@
       <!-- 表头工具栏 -->
       <template v-slot:toolbar>
         <el-button size="small" type="primary" icon="el-icon-plus" class="ele-btn-icon" @click="openEdit({}, 2)">
-          新建 
+          新建  
         </el-button>
-
+ 
             <el-button v-if="rootTreeId == 9"  size="small" type="primary" @click="handleLink('4')"
                 >关联设备</el-button
               >
@@ -24,6 +24,13 @@
                 >关联舟皿</el-button
               >
 
+              <el-button  v-if="rootTreeId == 4"  size="small" type="primary" @click="handleLink('5')"
+                >关联模具</el-button
+              >
+              <el-button v-if="rootTreeId == 4"   size="small"  type="primary" @click="handleLink('6')"
+                >关联备品备件</el-button
+              >
+
       </template>
       <template v-slot:action="{ row }">
         <el-link type="primary" :underline="false" icon="el-icon-copy-document" @click="openEdit(row, 1)">
@@ -279,7 +286,7 @@ export default {
 
     handleLink (type) {
         if (!this.rowCurrent) {
-          return this.$message.error('请选择产品!');
+          return this.$message.error( this.rootTreeId == 9 ? '请选择产品!' : this.rootTreeId == 4 ? '请选择设备!' : '');
         }
 
         this.$refs.linkMaterialDialogRef.open(type, this.rowCurrent);