Pārlūkot izejas kodu

新增物料基础信息、申请单页面、以及详情页

002390 2 gadi atpakaļ
vecāks
revīzija
feb80dbdb1

+ 29 - 0
src/api/material/basic.js

@@ -0,0 +1,29 @@
+import request from '@/utils/request'
+
+// 获取物料列表信息以及表头字段
+export function materialList(data) {
+
+  return request({
+    url: `/system/material/list`,
+    method: 'post',
+    data: data
+  })
+}
+
+// 获取物料基本信息详细信息
+export function materialDetails(id, templateCode) {
+  return request({
+    url: `/system/material/details/${id}`,
+    method: 'get',
+    params: { templateCode }
+  })
+}
+
+// 获取医药行业信息详细信息+表单属性
+export function medcineDetails(id, templateCode) {
+  return request({
+    url: `/system/medcine/details/${id}`,
+    method: 'get',
+    params: { templateCode }
+  })
+}

+ 20 - 0
src/assets/styles/index.scss

@@ -189,3 +189,23 @@ aside {
 .multiselect--active {
   z-index: 1000 !important;
 }
+
+
+/**修改全局的滚动条*/
+/**滚动条的宽度*/
+::-webkit-scrollbar {
+	width: 8px;
+}
+::-webkit-scrollbar-thumb {
+	background-color: #eaecf1;
+	border-radius: 3px;
+}
+/*表格*/
+.el-table__body-wrapper::-webkit-scrollbar {
+	width: 10px;
+	height: 10px;
+}
+.el-table__body-wrapper::-webkit-scrollbar-thumb {
+	background-color: #a1a3a9;
+	border-radius: 3px;
+}

+ 1 - 1
src/router/index.js

@@ -92,7 +92,7 @@ export const constantRoutes = [
         meta: { title: '个人中心', icon: 'user' }
       }
     ]
-  }
+  },
 ]
 
 // 动态路由,基于用户权限动态去加载

+ 19 - 0
src/store/material/query.js

@@ -0,0 +1,19 @@
+const query = {
+
+  state: {
+
+  },
+
+  mutations: {
+    setData: (state) => {
+
+    }
+  },
+
+  actions: {
+
+  }
+}
+
+
+export default query

+ 235 - 0
src/views/material/basicFile/details.vue

@@ -0,0 +1,235 @@
+<!-- 物料信息基础档案——详情 -->
+<template>
+  <el-card class="material-details">
+
+    <el-row type="flex" justify="space-between">
+      <el-col :span="6">
+        <el-button size="small" @click="handleBack">返回</el-button>
+      </el-col>
+      <el-col :span="6" style="text-align: right;">
+        <!-- 附件管理 -->
+        <el-button-group>
+          <el-button size="small" icon="el-icon-paperclip"></el-button>
+        </el-button-group>
+
+        <!-- 切换 -->
+        <el-button-group>
+          <el-button size="small" icon="el-icon-d-arrow-left"></el-button>
+          <el-button size="small" icon="el-icon-arrow-left"></el-button>
+          <el-button size="small" icon="el-icon-arrow-right"></el-button>
+          <el-button size="small" icon="el-icon-d-arrow-right"></el-button>
+        </el-button-group>
+      </el-col>
+    </el-row>
+
+    <div class="md-content">
+      <el-form :inline="true" label-position="right" :model="fromData.value" class="demo-form-inline">
+      <!-- <el-form-item label="所属组织">
+          <el-input v-model="fromData.orgName" placeholder="所属组织"></el-input>
+                                                                                                </el-form-item> -->
+        <el-form-item label="物料编码">
+          <el-input v-model="fromData.value.code" placeholder="物料编码"></el-input>
+        </el-form-item>
+        <el-form-item label="物料名称">
+          <el-input v-model="fromData.value.name" placeholder="物料名称"></el-input>
+        </el-form-item>
+        <el-form-item label="英文名称">
+          <el-input v-model="fromData.value.enName" placeholder="英文名称"></el-input>
+        </el-form-item>
+      <!-- <el-form-item label="版本号">
+          <el-input v-model="fromData.value.version" placeholder="版本号"></el-input>
+                                                                                                </el-form-item> -->
+
+      </el-form>
+
+      <dr-tabs :tabList="detailsTabs">
+        <template #tabContent>
+
+          <div class="md-basic">
+
+            <!-- 主信息 -->
+            <div class="md-main">
+              <el-form :inline="true" label-position="right" :hide-required-asterisk="true" :model="fromData.value"
+                class="demo-form-inline">
+
+                <el-row :gutter="10">
+                  <el-col :span="8" v-for="f in fromData.form" style="text-align: right;">
+                    <el-form-item v-if="f.show" :label="f.name" :rules="[
+                      { required: f.required, message: '请输入', trigger: 'blur' },
+                    ]">
+                      <el-input v-model="fromData.value[f.prop]" :placeholder="f.name"></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+
+
+              </el-form>
+
+            </div>
+
+            <!-- 副信息 -->
+            <div class="md-vice">
+
+              <dr-tabs :tabList="basicMessage">
+
+                <template #tabContent>
+
+                  <el-form :inline="true" label-position="right" :hide-required-asterisk="true" :model="medcineData.value"
+                    class="demo-form-inline">
+
+                    <el-row :gutter="10">
+                      <el-col :span="8" v-for="m in medcineData.form" style="text-align: right;">
+                        <el-form-item v-if="m.show" :label="m.name" :rules="[
+                          { required: m.required, message: '请输入', trigger: 'blur' },
+                        ]">
+                          <el-input v-model="medcineData.value[f.prop]" :placeholder="m.name"></el-input>
+                        </el-form-item>
+                      </el-col>
+                    </el-row>
+
+
+                  </el-form>
+                </template>
+              </dr-tabs>
+            </div>
+
+
+          </div>
+        </template>
+      </dr-tabs>
+
+    </div>
+  </el-card>
+</template>
+
+<script>
+import drTabs from '../components/dr-tabs.vue';
+import detailsTabs from '../config/detailsTabs';
+import { materialDetails, medcineDetails } from '@/api/material/basic';
+
+export default {
+  name: 'material-details',
+  props: ['id'],
+  data() {
+    return {
+
+      detailsTabs,
+
+      // 基本信息下的页签
+      basicMessage: [
+        {
+          label: '医药行业',
+          code: 'material_medcine',
+          isShow: true,
+        },
+        {
+          label: '辅计量管理',
+          code: 'material_unit',
+          isShow: true,
+        },
+        {
+          label: '辅助属性',
+          code: 'material_property',
+          isShow: true,
+        },
+      ],
+
+      // 主信息
+      fromData: {
+        value: {},
+        form: []
+      },
+      // 医药行业
+      medcineData: {
+        value: {},
+        form: []
+      }
+
+    }
+  },
+  components: {
+    drTabs
+
+  },
+  methods: {
+    // 返回
+    handleBack() {
+      // this.$emit("actionBar", "materiaList")
+      let bar = {
+        address: 'materiaList',
+        id: ''
+      }
+      this.$emit("actionBar", JSON.stringify(bar))
+
+    },
+    // 获取物料基本信息详细信息
+    getMaterialDetails(id, templateCode) {
+
+      console.log(id, templateCode);
+      materialDetails(
+        id,
+        templateCode,
+      ).then((res) => {
+
+        console.log(res, '物料基本信息');
+        let { code, data } = res;
+        if (code == 200) {
+          this.fromData.value = data.data;
+          this.fromData.form = data.form;
+        }
+      })
+    },
+    // 获取医药行业信息详细信息+表单属性
+    getMedcineDetails(id, templateCode) {
+
+      console.log(id, templateCode);
+      medcineDetails(
+        id,
+        templateCode,
+      ).then((res) => {
+
+        console.log(res, '医药行业');
+        let { code, data } = res;
+        if (code == 200) {
+          this.medcineData.value = data.data;
+          this.medcineData.form = data.form;
+        }
+      })
+    },
+  },
+  created() {
+    this.getMaterialDetails(this.$props.id, 'material');
+    this.getMedcineDetails(this.$props.id, 'material_medcine');
+  },
+
+}
+</script>
+
+<style lang="scss">
+.material-details {
+  height: calc(100vh - 158px);
+  box-sizing: border-box;
+
+  .md-content {
+    margin-top: 12px;
+
+    .md-basic {
+      overflow: auto;
+
+      .md-main {
+        max-height: 290px;
+        margin-bottom: 10px;
+        overflow-y: auto;
+        overflow-x: hidden;
+      }
+    }
+  }
+}
+</style>
+
+<style>
+>>>.el-form-item__label {
+  font-size: 12px;
+  font-weight: normal;
+}
+</style>

+ 198 - 0
src/views/material/basicFile/index.vue

@@ -0,0 +1,198 @@
+<!-- 物料信息基础档案 -->
+<template>
+  <div class="material-basic">
+
+    <!-- 操作栏 -->
+    <el-row :gutter="10" class="mb10">
+      <el-col :span="1.5">
+        <el-button-group>
+          <el-button size="small">新增</el-button>
+          <el-button size="small">修改</el-button>
+          <el-button size="small">删除</el-button>
+          <el-button size="small">复制</el-button>
+          <el-dropdown split-button size="small" @click="handleClick">
+            批改
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>批改</el-dropdown-item>
+              <el-dropdown-item>向导批改</el-dropdown-item>
+              <el-dropdown-item>按规则批改</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+
+        </el-button-group>
+      </el-col>
+
+      <el-col :span="1.5">
+        <el-button-group>
+
+          <el-dropdown size="small" v-if="isComponent == 'materiaList'">
+            <el-button size="small">
+              过滤<i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>显示停用</el-dropdown-item>
+              <el-dropdown-item>显示已分配</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+
+          <el-button size="small">查询</el-button>
+          <el-button size="small">刷新</el-button>
+
+        </el-button-group>
+      </el-col>
+
+      <el-col :span="1.5">
+        <el-button-group>
+
+          <el-dropdown split-button size="small" @click="handleClick">
+            启用
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>启用</el-dropdown-item>
+              <el-dropdown-item>停用</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+
+          <!-- 辅助功能 -->
+          <el-button size="small">创建新版本</el-button>
+        </el-button-group>
+      </el-col>
+
+      <el-col :span="1.5">
+        <el-button-group>
+          <el-button size="small">申请单查询</el-button>
+        </el-button-group>
+      </el-col>
+
+      <el-col :span="1.5">
+        <el-button-group>
+
+          <el-dropdown split-button size="small" @click="handleClick">
+            打印
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>打印</el-dropdown-item>
+              <el-dropdown-item>预览</el-dropdown-item>
+              <el-dropdown-item>输出</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+
+        </el-button-group>
+      </el-col>
+    </el-row>
+
+    <component :is="isComponent" @actionBar="handleActionBar" :id="materialId"></component>
+
+  </div>
+</template>
+
+<script>
+import './style/index.scss';
+import materiaList from './list.vue';
+import materiaDetails from './details.vue';
+export default {
+  name: "material-basic",
+  components: {
+    materiaList,
+    materiaDetails
+  },
+  data() {
+    return {
+      isComponent: 'materiaList',
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 物料基本信息数据
+      taskList: [
+        {
+          id: 1,
+          code: '001',
+          name: '名称'
+        }
+      ],
+      // 总条数
+      total: 0,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        code: null,
+        name: null
+      },
+      materialId: ''
+    }
+  },
+  created() {
+    // this.getList();
+  },
+  methods: {
+
+    // 触发动态组件
+    handleActionBar(params) {
+      let bar = JSON.parse(params);
+      console.log(bar);
+      this.isComponent = bar.address;
+      this.materialId = bar.id;
+    },
+
+    handleClick() {
+
+    },
+
+
+    /** 查询【请填写功能名称】列表 */
+    getList() {
+
+    },
+    // 取消按钮
+    cancel() {
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+
+    },
+    /** 提交按钮 */
+    submitForm() {
+
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+
+    }
+  }
+
+
+};
+</script>
+

+ 77 - 0
src/views/material/basicFile/list.vue

@@ -0,0 +1,77 @@
+<!-- 物料基础信息——列表 -->
+
+<template>
+  <el-card class="material-list">
+    <el-table :data="taskList" @cell-dblclick="handledbClick" class="material-table"
+      @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" />
+      <el-table-column type="index" label="序号" width="55" align="center" />
+    <el-table-column v-for="h in  tableHeader" v-if="h.show" :label="h.name" align="center" :prop="h.prop" />
+    </el-table>
+
+    <!-- v-show="total > 0" -->
+    <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+  </el-card>
+</template>
+
+<script>
+import { materialList } from '@/api/material/basic';
+
+export default {
+  name: 'material-list',
+ 
+  data() {
+    return {
+      // 物料基本信息数据
+      taskList: [],
+      // 总条数
+      total: 1,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        code: null,
+        name: null
+      },
+      // 表头
+      tableHeader: []
+    }
+  },
+  methods: {
+    // 双击行
+    handledbClick(e) {
+      let bar = {
+        address: 'materiaDetails',
+        id: e.id
+      }
+      this.$emit("actionBar", JSON.stringify(bar))
+    },
+    handleSelectionChange() {
+
+    },
+    getList() {
+
+    },
+    // 获取物料列表信息以及表头字段
+    getMaterialList() {
+
+      materialList({
+        templateCode: 'material'
+      }).then((res) => {
+        console.log(res, '获取物料列表信息以及表头字段');
+        let { code, data } = res;
+        if (code == 200) {
+          this.taskList = data.tableBody.rows;
+          this.total = data.tableBody.total;
+          this.tableHeader = data.tableHeader;
+        }
+      })
+    },
+  },
+  created() {
+    
+    this.getMaterialList();
+  }
+}
+</script>

+ 17 - 0
src/views/material/basicFile/style/index.scss

@@ -0,0 +1,17 @@
+// 物料信息基础档案
+.material-basic {
+  height: calc(100vh - 84px);
+  padding: 12px;
+  box-sizing: border-box;
+
+  .material-table {
+    height: calc(100vh - 245px);
+  }
+
+  .el-card{
+    overflow: auto;
+  }
+
+  
+}
+

+ 25 - 0
src/views/material/components/dr-tabs.vue

@@ -0,0 +1,25 @@
+<!-- 标签页 -->
+<template>
+  <el-tabs type="border-card">
+    <el-tab-pane v-for="t in tabList" :label="t.label" v-if="t.isShow">
+      <slot name="tabContent"></slot>
+    </el-tab-pane>
+  </el-tabs>
+</template>
+
+<script>
+export default {
+  name: 'dr-tabs',
+  props: ['tabList'],
+  data() {
+    return {
+      // tabList,
+      // detailsTabs,
+    }
+  },
+  created() {
+    // console.log(this.tabList, 'tabList');
+  }
+}
+</script>
+

+ 56 - 0
src/views/material/config/detailsTabs.js

@@ -0,0 +1,56 @@
+// 详情标签
+const detailsTabs = [
+  {
+    label: '基本信息',
+    code: 'material',
+    isShow: true,
+  },
+  {
+    label: '财物信息',
+    code: 'material_finance',
+    isShow: true,
+  },
+  {
+    label: '利润中心信息',
+    code: 'profit_center',
+    isShow: true,
+  },
+  {
+    label: '采购信息',
+    code: 'material_purchase',
+    isShow: true,
+  },
+  {
+    label: '销售信息',
+    code: '',
+    isShow: true,
+  },
+  {
+    label: '库存信息',
+    code: 'material_inventory',
+    isShow: true,
+  },
+  {
+    label: '计划信息',
+    code: 'material_plan',
+    isShow: true,
+  },
+  {
+    label: '生产信息',
+    code: '',
+    isShow: true,
+  },
+  {
+    label: '成本信息',
+    code: 'material_cost',
+    isShow: true,
+  },
+  {
+    label: '利润中心成本',
+    code: '',
+    isShow: true,
+  },
+
+]
+
+export default detailsTabs;

+ 70 - 0
src/views/material/requisition/details.vue

@@ -0,0 +1,70 @@
+<!-- 物料申请单——详情 -->
+<template>
+  <el-card class="request-details">
+
+    <el-row type="flex" justify="space-between">
+      <el-col :span="6">
+        <el-button size="small" @click="handleBack">返回</el-button>
+      </el-col>
+      <el-col :span="6" style="text-align: right;">
+        <!-- 附件管理 -->
+        <el-button-group>
+          <el-button size="small" icon="el-icon-paperclip"></el-button>
+        </el-button-group>
+
+        <!-- 切换 -->
+        <el-button-group>
+          <el-button size="small" icon="el-icon-d-arrow-left"></el-button>
+          <el-button size="small" icon="el-icon-arrow-left"></el-button>
+          <el-button size="small" icon="el-icon-arrow-right"></el-button>
+          <el-button size="small" icon="el-icon-d-arrow-right"></el-button>
+        </el-button-group>
+      </el-col>
+    </el-row>
+
+    <div class="rd-content">
+
+      <dr-tabs :tabList="detailsTabs">
+        <template #tabContent>11111</template>
+      </dr-tabs>
+
+    </div>
+  </el-card>
+</template>
+
+<script>
+import drTabs from '../components/dr-tabs.vue';
+import detailsTabs from '../config/detailsTabs';
+export default {
+  name: 'material-details',
+  data() {
+    return {
+
+      detailsTabs,
+    }
+  },
+  components: {
+    drTabs
+
+  },
+  methods: {
+    // 返回
+    handleBack() {
+      this.$emit("actionBar", "requestList")
+
+    }
+  }
+
+}
+</script>
+
+<style lang="scss">
+.request-details {
+  height: calc(100vh - 158px);
+  box-sizing: border-box;
+
+  .rd-content {
+    margin-top: 12px;
+  }
+}
+</style>

+ 151 - 0
src/views/material/requisition/index.vue

@@ -0,0 +1,151 @@
+<!-- 物料申请单 -->
+<template>
+  <div class="material-requisition">
+    <!-- 操作栏 -->
+    <el-row :gutter="10" class="mb10">
+      <el-col :span="1.5">
+        <el-button-group>
+          <el-button size="small">新增</el-button>
+          <el-button size="small">修改</el-button>
+          <el-button size="small">删除</el-button>
+          <el-button size="small">复制</el-button>
+        </el-button-group>
+      </el-col>
+
+      <el-col :span="1.5">
+        <el-button-group>
+          <el-button size="small">查询</el-button>
+          <el-button size="small">刷新</el-button>
+        </el-button-group>
+      </el-col>
+
+      <el-col :span="1.5">
+        <el-button-group>
+
+          <el-dropdown split-button size="small" @click="handleClick">
+            提交
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>提交</el-dropdown-item>
+              <el-dropdown-item>收回</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+
+          <el-dropdown split-button size="small" @click="handleClick">
+            审批
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>审批</el-dropdown-item>
+              <el-dropdown-item>取消审批</el-dropdown-item>
+              <el-dropdown-item>查看审批意见</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+        </el-button-group>
+      </el-col>
+
+      <el-col :span="1.5">
+        <el-button-group>
+
+          <el-dropdown split-button size="small" @click="handleClick">
+            打印
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>打印</el-dropdown-item>
+              <el-dropdown-item>预览</el-dropdown-item>
+              <el-dropdown-item>输出</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+          <el-button size="small" v-if="isComponent == 'requestDetails'">附件管理</el-button>
+          <el-button size="small">维护物料</el-button>
+
+        </el-button-group>
+      </el-col>
+    </el-row>
+
+    <component :is="isComponent" @actionBar="handleActionBar"></component>
+  </div>
+</template>
+
+<script>
+import './style/index.scss';
+
+import requestList from './list.vue';
+import requestDetails from './details.vue';
+export default {
+  name: "material-requisition",
+  components: {
+    requestList,
+    requestDetails,
+  },
+  data() {
+    return {
+      isComponent: 'requestList',
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 【请填写功能名称】表格数据
+      taskList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        code: null,
+        name: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+
+    // 触发动态组件
+    handleActionBar(params) {
+      console.log(`需要更换至${params}~~~`);
+      this.isComponent = params;
+    },
+
+    handleClick() { },
+    /** 查询【请填写功能名称】列表 */
+    getList() {
+
+    },
+    // 取消按钮
+    cancel() {
+
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+
+
+  }
+};
+</script>

+ 64 - 0
src/views/material/requisition/list.vue

@@ -0,0 +1,64 @@
+<!-- 物料申请单——列表 -->
+<template>
+  <el-card class="request-list">
+    <!-- v-loading="loading" @selection-change="handleSelectionChange" -->
+    <el-table :data="taskList" @cell-dblclick="handledbClick" class="request-table"
+      @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" />
+      <el-table-column type="index" label="序号" width="55" align="center" />
+      <el-table-column label="主键" align="center" prop="id" />
+      <el-table-column label="编码" align="center" prop="code" />
+      <el-table-column label="名称" align="center" prop="name" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:task:edit']">修改</el-button>
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+            v-hasPermi="['system:task:remove']">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!-- v-show="total > 0" -->
+    <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
+  </el-card>
+</template>
+
+<script>
+export default {
+  name: 'request-list',
+  data() {
+    return {
+      // 物料基本信息数据
+      taskList: [
+        {
+          id: 1,
+          code: '001',
+          name: '名称'
+        }
+      ],
+      // 总条数
+      total: 0,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        code: null,
+        name: null
+      },
+    }
+  },
+  methods: {
+    // 双击行
+    handledbClick() {
+      this.$emit("actionBar", "requestDetails")
+    },
+    handleSelectionChange() { },
+
+    getList() {
+
+    },
+  }
+}
+</script>

+ 10 - 0
src/views/material/requisition/style/index.scss

@@ -0,0 +1,10 @@
+// 物料申请单
+.material-requisition{
+  height: calc(100vh - 84px);
+  padding: 12px;
+  box-sizing: border-box;
+
+  .request-table {
+    height: calc(100vh - 245px);
+  }
+}

+ 5 - 4
vue.config.js

@@ -37,7 +37,8 @@ module.exports = {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
         // target: `http://172.16.100.107:8080/ruoyi-admin`, //生产
-        target: `http://172.16.100.107:8000/ruoyi-admin`, //测试
+        // target: `http://172.16.100.107:8000/ruoyi-admin`, //测试
+        target: `http://172.16.13.47:8000/ruoyi-admin`, //
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''
@@ -99,7 +100,7 @@ module.exports = {
             .plugin('ScriptExtHtmlWebpackPlugin')
             .after('html')
             .use('script-ext-html-webpack-plugin', [{
-            // `runtime` must same as runtimeChunk name. default is `runtime`
+              // `runtime` must same as runtimeChunk name. default is `runtime`
               inline: /runtime\..*\.js$/
             }])
             .end()
@@ -129,8 +130,8 @@ module.exports = {
             })
           config.optimization.runtimeChunk('single'),
           {
-             from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
-             to: './' //到根目录下
+            from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
+            to: './' //到根目录下
           }
         }
       )