Просмотр исходного кода

Merge branch 'purchaseDev' into 'dev'

Purchase dev20231226

See merge request new-business/drp-web!629
李园 1 год назад
Родитель
Сommit
ebe744ac89

+ 7 - 2
src/components/popover-select/index.vue

@@ -254,8 +254,13 @@ export default {
       }
     },
     handleClear() {
-      if (!this.$props.multiple) {
-        this.innerValue = "";
+      const { source, multiple, dataMapping } = this.$props;
+      if (!multiple) {
+        // this.innerValue = "";
+        for (let key in dataMapping) {
+          source[key] = "";
+        }
+        this.$emit("update:source", source);
       }
     },
     async useAutocomplete(prop, cb) {

+ 1 - 2
src/views/material/basicFile/details.vue

@@ -973,7 +973,6 @@
 </template>
 
 <script>
-import drTabs from "../components/dr-tabs.vue";
 import detailsTabs from "../config/detailsTabs";
 import materialApi from "@/api/material/basic";
 import { getDicts as getDicts } from "@/api/system/dict/data";
@@ -991,7 +990,7 @@ export default {
     },
   },
   components: {
-    drTabs,
+    drTabs: () => import("../components/dr-tabs.vue"),
     IsUsing: () => import("./isUsing/index.vue"),
     whlbButton: () => import("./wei-hu-lei-bie/index.vue"),
   },

+ 0 - 731
src/views/material/basicFile/index-copy.vue

@@ -1,731 +0,0 @@
-<!-- 物料信息基础档案 -->
-<script src="../../../main.js"></script>
-<template>
-  <div class="material-basic" v-loading="failLoad">
-    <!-- 主体列表 -->
-    <el-card
-      class="material-list"
-      v-loading="loading"
-      :body-style="{
-        height: '100%',
-        padding: '10px ',
-        display: 'flex',
-        'flex-direction': 'column',
-      }"
-    >
-      <!-- 查询条件 -->
-      <el-super-search
-        v-model="params"
-        :size="size"
-        :dict="dict"
-        :columns="SearchColumns"
-        @reset="handleResetQuery"
-        @submit="handleQuery"
-      ></el-super-search>
-
-      <!-- 操作栏 -->
-      <el-row
-        :gutter="10"
-        class="mb10"
-        type="flex"
-        justify="end"
-        style="margin: 10px 0"
-      >
-        <!-- 新增、修改、删除、复制 -->
-        <el-col :span="1.5">
-          <el-button-group>
-            <el-button :size="size" @click="handleEdit">修改</el-button>
-            <el-button :size="size" @click="handleRefresh">刷新</el-button>
-          </el-button-group>
-        </el-col>
-
-        <!-- 启用 -->
-        <el-col :span="1.5">
-          <is-using
-            :size="size"
-            :select-data="checkedList"
-            @success="handleQuery"
-          ></is-using>
-        </el-col>
-
-        <!-- 导入导出 -->
-        <el-col :span="1.5">
-          <el-button-group>
-            <el-button
-              :size="size"
-              @click="handleImport"
-              v-hasPermi="['system:material:import']"
-              >批量导入</el-button
-            >
-            <el-button
-              :size="size"
-              @click="handleExport"
-              v-hasPermi="['system:material:export']"
-              >批量导出</el-button
-            >
-          </el-button-group>
-        </el-col>
-
-        <!-- <el-col :span="1.5">
-          <whlbButton :data="checkedList" :size="size"></whlbButton>
-        </el-col> -->
-      </el-row>
-
-      <div
-        class="el-super-ux-table"
-        v-resize="resize"
-        style="
-          position: relative;
-          display: flex;
-          flex: 1;
-          flex-direction: column;
-          overflow: auto;
-        "
-      >
-        <ux-grid
-          v-if="tableHeader.length"
-          border
-          use-virtual
-          keep-source
-          beautify-table
-          :size="size"
-          :data="taskList"
-          :height="tableHeight"
-          ref="materialTable"
-          @cell-dblclick="handledbClick"
-          @select="handleSelect"
-          @select-all="handleSelectAll"
-          :header-row-style="{
-            color: '#515a6e',
-          }"
-          style="flex: 1"
-        >
-          <
-          <!-- 多选 -->
-          <ux-table-column
-            fixed="left"
-            width="60"
-            align="center"
-            type="checkbox"
-            resizable
-            reserve-selection
-            :column-key="rowKey"
-          ></ux-table-column>
-          <!-- 序号 -->
-          <ux-table-column
-            fixed="left"
-            width="50"
-            title="序号"
-            type="index"
-            align="center"
-            class="is-index"
-            resizable
-          ></ux-table-column>
-          <!-- <ux-table-column type="selection" width="45" :reserve-selection="true" fixed/>
-          <ux-table-column type="index" title="序号" width="55" align="center"/> -->
-          <ux-table-column
-            width="150"
-            v-for="h in tableHeader"
-            v-if="h.show"
-            :title="h.name"
-            align="center"
-            resizable
-            show-overflow-tooltip
-          >
-            <template slot-scope="scope">
-              <span v-if="h.apiUrl">{{ scope.row[`${h.prop}Name`] }}</span>
-              <el-checkbox
-                v-else-if="h.attribute == 'checkbox'"
-                v-model="scope.row[h.prop]"
-                disabled
-                true-label="0"
-                false-label="2"
-              ></el-checkbox>
-              <el-dict-tag
-                v-else-if="h.dictId"
-                :value="scope.row[h.prop]"
-                :options="dict.type[h.dictId]"
-              ></el-dict-tag>
-
-              <span v-else>{{ scope.row[h.prop] || "--" }}</span>
-              <!-- {{ h.attribute == 'select' ? scope.row[`${h.prop}Name`] :
-              (h.attribute == 'checkbox' ?
-              (scope.row[h.prop] == '0' ? '√' : '')
-              : scope.row[h.prop])
-              }} -->
-            </template>
-          </ux-table-column>
-        </ux-grid>
-        <div
-          style="
-            height: 50px;
-            display: flex;
-            justify-content: space-between;
-            align-items: center;
-          "
-          :style="{
-            height: '50px',
-          }"
-        >
-          <pagination
-            :total="total"
-            :page.sync="queryParams.pageNum"
-            :limit.sync="queryParams.pageSize"
-            @pagination="handleQuery"
-            style="
-              height: 32px;
-              padding: 0 !important;
-              flex: 1;
-              overflow-x: auto;
-            "
-          />
-        </div>
-      </div>
-    </el-card>
-
-    <!-- 操作提示 -->
-    <el-dialog
-      title="操作提示"
-      :visible.sync="optionDialog.show"
-      width="30%"
-      center
-    >
-      <span>是否确认{{ optionDialog.op }}?</span>
-      <span slot="footer">
-        <el-button @click="handleOptionShow('option', false)">取 消</el-button>
-        <el-button type="primary" @click="handleComfirmOption('cancal')"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-
-    <!-- 导入弹窗 -->
-    <el-dialog
-      title="批量导入"
-      :visible.sync="importData.show"
-      width="35%"
-      center
-      :before-close="handlefileDialogColse"
-    >
-      <div class="mb-import">
-        <el-upload
-          class="upload-demo"
-          accept=".xls, .xlsx"
-          ref="upload"
-          action="#"
-          :on-remove="handleFileRemove"
-          :file-list="importData.list"
-          :auto-upload="false"
-          :on-change="handleChangeFile"
-          :limit="1"
-        >
-          <el-button slot="trigger" :size="size" type="primary"
-            >选取文件</el-button
-          >
-          <el-button
-            style="margin-left: 10px"
-            :size="size"
-            type="success"
-            @click="handleDownTemplate"
-            >下载模板</el-button
-          >
-          <div slot="tip" class="el-upload__tip">只能上传Excel文件</div>
-        </el-upload>
-      </div>
-      <span slot="footer">
-        <el-button @click="handleImportData('cancal')">取 消</el-button>
-        <el-button type="primary" @click="handleImportData('confirm')"
-          >确 定</el-button
-        >
-      </span>
-    </el-dialog>
-  </div>
-</template>
-
-<script>
-import "./style/index.scss";
-import materialApi from "@/api/material/basic";
-import { SearchColumns, OtherDictColumns } from "./columns";
-import { initDicts } from "@/utils/init.js";
-
-export default {
-  name: "material-basic",
-  dicts: [...initDicts([...SearchColumns, ...OtherDictColumns])],
-  components: {
-    ElSuperSearch: () => import("@/components/super-search/index.vue"),
-    ElDictTag: () => import("@/components/DictTag/index.vue"),
-    IsUsing: () => import("./isUsing/index.vue"),
-    whlbButton: () => import("./wei-hu-lei-bie/index.vue"),
-  },
-  data() {
-    const params = this.$init.params(SearchColumns);
-
-    return {
-      failLoad: false,
-      params: params,
-      SearchColumns: SearchColumns,
-      rowKey: "id",
-      size: "mini",
-      // 物料基本信息数据
-      taskList: [],
-      // 查询表单字段
-      queryForm: {
-        name: "",
-        code: "",
-        isEnable: "",
-      },
-      // 总条数
-      total: 1,
-      loading: false,
-      importData: {
-        show: false,
-        list: [],
-      },
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
-        pageSize: 50,
-        code: null,
-        name: null,
-      },
-      // 表头
-      tableHeader: [],
-      // 多选数组
-      checkedList: [],
-      // 列表选中数据
-      // checkedList: [],
-      // 操作弹窗
-      optionDialog: {
-        show: false,
-        op: "",
-      },
-      resizeHeight: 0,
-    };
-  },
-  computed: {
-    tableHeight: {
-      get() {
-        return this.resizeHeight;
-      },
-      set() {},
-    },
-  },
-  directives: {
-    // 使用局部注册指令的方式
-    resize: {
-      // 指令的名称
-      bind(el, binding) {
-        // el为绑定的元素,binding为绑定给指令的对象
-        let width = "",
-          height = "";
-        function isReize() {
-          const style = document.defaultView.getComputedStyle(el);
-          if (width !== style.width || height !== style.height) {
-            binding.value(); // 关键
-          }
-          width = style.width;
-          height = style.height;
-        }
-        el.__vueSetInterval__ = setInterval(isReize, 300);
-      },
-      unbind(el) {
-        clearInterval(el.__vueSetInterval__);
-      },
-    },
-  },
-  methods: {
-    resize() {
-      this.resizeHeight =
-        document.getElementsByClassName("el-super-ux-table")[0].offsetHeight -
-        55;
-    },
-    // 判读是否启用
-    handleJudgeIsUsing() {
-      return (
-        this.checkedList.length == 1 && this.checkedList[0].isEnable == "已启用"
-      );
-    },
-
-    // 修改
-    handleEdit() {
-      if (this.checkedList.length == 1) {
-        this.$router.push({
-          path: `/material/basicFile/detail/${this.checkedList[0].id}`,
-          query: {
-            isEdit: true,
-          },
-        });
-      } else {
-        this.$notify.warning({
-          message: `${
-            this.checkedList.length > 1
-              ? "修改只能选择单个数据!"
-              : "请选择需要修改的信息!"
-          }`,
-        });
-      }
-    },
-    // 删除
-    handleDel() {
-      console.log("删除", this.checkedList);
-      // delMaterial
-      if (this.checkedList.length) {
-        let ids = this.checkedList.map((i) => i.id);
-        materialApi.delMaterial(ids).then((res) => {
-          if (res.code == 200) {
-            this.handleRefresh();
-            // 清空选中数据
-            this.checkedList = [];
-            this.$refs.materialTable.clearSelection();
-          }
-        });
-      } else {
-        this.$notify.warning({
-          message: `请选择需要删除的数据!`,
-        });
-      }
-    },
-    //查询
-    handleQuery() {
-      // 重新查询后需要清空列表选中的数据
-      this.checkedList = [];
-      this.$refs.materialTable.clearSelection();
-      this.getMaterialList();
-    },
-    // 重置查询条件
-    handleResetQuery() {
-      this.queryParams.pageNum = 1;
-
-      this.queryParams.pageSize = 100;
-
-      this.params = this.$init.params(SearchColumns);
-
-      this.handleQuery();
-    },
-    // 刷新
-    handleRefresh() {
-      this.getMaterialList();
-      // for (const key in this.queryForm) {
-      //   this.queryForm[key] = '';
-      // }
-    },
-
-    // 批量导入
-    handleImport() {
-      this.importData.show = true;
-    },
-    // 导入弹窗关闭前
-    handlefileDialogColse(done) {
-      this.importData.list = [];
-      done();
-    },
-    // 导入弹窗操作
-    handleImportData(type) {
-      switch (type) {
-        // 取消
-        case "cancal":
-          this.importData.list = [];
-          this.importData.show = false;
-          break;
-        // 确认
-        case "confirm":
-          if (this.importData.list.length) {
-            let formData = new FormData();
-
-            formData.append("file", this.importData.list[0].raw);
-            materialApi.fileImport(formData).then((res) => {
-              if (res.code == 200) {
-                this.importData.show = false;
-                this.importData.list = [];
-                if (res.data.flag) {
-                  this.failLoad = true;
-                  console.log(res.data.datas);
-                  let param = { failDatas: res.data.datas };
-                  if (null != param) {
-                    materialApi.exportMartial(param).then((res) => {
-                      const blob = new Blob([res], {
-                        type: "application/vnd.ms-excel;charset=UTF-8",
-                      }); // 创建一个类文件对象:Blob对象表示一个不可变的、原始数据的类文件对象
-                      const downloadElement = document.createElement("a"); //创建a标签
-                      const href = window.URL.createObjectURL(blob); // 创建下载的链接
-                      downloadElement.href = href; //下载地址
-                      downloadElement.download =
-                        "导入失败的物料基础档案数据.xlsx"; // 下载后文件名
-                      document.body.appendChild(downloadElement);
-                      downloadElement.click(); // 点击下载
-                      document.body.removeChild(downloadElement); // 下载完成移除元素
-                      window.URL.revokeObjectURL(href); // 释放blob对象
-                      this.failLoad = false;
-                    });
-                  }
-                }
-                this.$notify({
-                  message: res.data.msg,
-                  type: res.data.flag ? "warning" : "success",
-                });
-              } else {
-                this.$notify({
-                  message: res.msg,
-                  type: res.code == 200 ? "success" : "warning",
-                });
-              }
-            });
-          } else {
-            this.$notify({
-              title: "警告",
-              message: "请上传文件之后在确认!",
-              type: "warning",
-            });
-          }
-          break;
-      }
-    },
-
-    // 删除文件
-    handleFileRemove(file, fileList) {
-      // console.log('删除文件', file, 'file', fileList, 'fileList');
-      this.importData.list = fileList;
-    },
-    // 文件发生改变
-    handleChangeFile(file, fileList) {
-      this.importData.list = fileList;
-    },
-
-    // 批量导出
-    handleExport() {
-      let ids = this.checkedList.length
-        ? this.checkedList.map((i) => i.id)
-        : [];
-
-      if (ids.length) {
-        let params = {
-          // orgId: '1',
-          ids,
-        };
-        this.download(
-          "/system/material/export",
-          params,
-          `物料基本信息${new Date().getTime()}.xlsx`
-        );
-      } else {
-        let params = {
-          templateCode: "material",
-          ...this.params,
-          createTimeBegin:
-            (this.params.createTimeQueue && this.params.createTimeQueue[0]) ||
-            "",
-          createTimeEnd:
-            (this.params.createTimeQueue && this.params.createTimeQueue[1]) ||
-            "",
-          updateTimeBegin:
-            (this.params.updateTimeQueue && this.params.updateTimeQueue[0]) ||
-            "",
-          updateTimeEnd:
-            (this.params.updateTimeQueue && this.params.updateTimeQueue[1]) ||
-            "",
-        };
-        this.download(
-          "/system/material/export",
-          params,
-          `物料基本信息${new Date().getTime()}.xlsx`
-        );
-      }
-    },
-    // 下载模板
-    handleDownTemplate() {
-      this.download("/system/material/download", {}, `物料基本信息模板.xlsx`);
-    },
-
-    // 操作弹窗显隐
-    handleOptionShow(type, val) {
-      switch (type) {
-        case "option":
-          this.optionDialog.show = val;
-          break;
-      }
-    },
-    // 操作弹窗确认按钮
-    handleComfirmOption(op) {
-      switch (op) {
-        case "cancal":
-          this.handleOptionShow("option", false);
-          break;
-      }
-    },
-
-    // 双击行
-    handledbClick(e) {
-      this.$router.push({
-        path: `/material/basicFile/detail/${e.id}`,
-      });
-    },
-    // 绑定row-key
-    getRowKey(row) {
-      return row.id;
-    },
-    // 对象数组去重
-    handleUnique(arr, key) {
-      // arr  需要去重的数组   type:作为去重依据的key
-      const res = new Map();
-      return arr.filter((arr) => !res.has(arr[key]) && res.set(arr[key], 1));
-    },
-    // 行数据勾选操作
-    handleSelect(selection, row) {
-      this.checkedList = selection;
-      // // true就是选中,0或者false是取消选中
-      // let selected = selection.length && selection.indexOf(row) !== -1
-    },
-    //手动勾选全选
-    handleSelectAll(selection) {
-      this.checkedList = selection;
-    },
-    // 获取物料列表信息
-    async getMaterialList() {
-      try {
-        this.loading = true;
-        let page = {
-          pageNum: this.queryParams.pageNum,
-          pageSize: this.queryParams.pageSize,
-        };
-
-        let param = {
-          templateCode: "material",
-          ...this.params,
-          createTimeBegin:
-            (this.params.createTimeQueue && this.params.createTimeQueue[0]) ||
-            "",
-          createTimeEnd:
-            (this.params.createTimeQueue && this.params.createTimeQueue[1]) ||
-            "",
-          updateTimeBegin:
-            (this.params.updateTimeQueue && this.params.updateTimeQueue[0]) ||
-            "",
-          updateTimeEnd:
-            (this.params.updateTimeQueue && this.params.updateTimeQueue[1]) ||
-            "",
-        };
-
-        let { code, data } = await materialApi.materialList(param, page);
-
-        if (code == 200) {
-          this.taskList = data.tableBody.rows;
-          this.total = data.tableBody.total;
-        }
-      } catch (error) {
-      } finally {
-        this.loading = false;
-      }
-
-      // materialApi.materialList(param, page).then((res) => {
-      //   _this.loading = false;
-      //   console.log(res, '获取物料列表信息以及表头字段');
-      //   let {code, data} = res;
-      //   if (code == 200) {
-      //     _this.taskList = data.tableBody.rows;
-      //     _this.total = data.tableBody.total;
-
-      //   }
-      // })
-    },
-    // 获取物料列表表头
-    getTagList(templateCode) {
-      materialApi.tagList({ templateCode }).then((res) => {
-        console.log(res, "获取物料列表表头");
-        if (res.code == 200) {
-          this.tableHeader = res.data;
-        }
-      });
-    },
-  },
-  created() {},
-  beforeRouteEnter(to, from, next) {
-    next((vm) => {
-      if (from.name == "materialDetail") {
-        // this.$store.getQuery(this.queryForm);
-        console.log(vm, "queryValue", vm.$store);
-        vm.queryForm = vm.$store.state.query.queryVlue;
-        // 清空选中数据
-        vm.checkedList = [];
-        vm.$refs.materialTable && vm.$refs.materialTable.clearSelection();
-      }
-      vm.getTagList("material_list");
-      vm.getMaterialList();
-    });
-  },
-  // 进入详情,保留查询条件
-  beforeRouteLeave(to, from, next) {
-    if (to.name == "materialDetail") {
-      this.$store.commit("SET_QUERY", this.queryForm);
-    } else {
-      this.$store.commit("SET_QUERY", { name: "", code: "" });
-    }
-    next();
-  },
-};
-</script>
-
-<style lang="scss">
-.material-basic {
-  height: calc(100vh);
-}
-.material-list {
-  // height: calc(100vh - 70px);
-  height: 100%;
-
-  .el-card__body {
-    height: 100%;
-    box-sizing: border-box;
-    padding: 10px;
-
-    .el-table {
-      // overflow: auto;
-
-      .el-table__body-wrapper {
-        overflow-y: auto !important;
-        overflow-x: auto !important;
-      }
-    }
-  }
-
-  .el-pagination {
-    // margin-top: 8px;
-    text-align: right;
-  }
-}
-
-.mb-import {
-  padding: 0 20%;
-  text-align: center;
-  display: flex;
-  align-items: flex-start;
-  justify-content: space-around;
-}
-</style>
-<style scoped>
-.el-dialog__header {
-  background-color: rgb(244, 244, 244);
-}
-
-.mb-query >>> .el-form-item__label {
-  font-weight: normal;
-  font-size: 12px;
-}
-
-.mb-query >>> .el-form-item {
-  margin-bottom: 8px;
-}
-
-.mb-query >>> .el-select {
-  width: 90px;
-}
-
-.mb-query >>> .el-scrollbar__wrap {
-  margin-bottom: -18px;
-}
-::v-deep.uxbeautifyTableClass
-  .elx-header--column
-  .elx-resizable.is--line:before {
-  height: 100%;
-  background-color: #dfe6ec;
-}
-</style>

+ 0 - 552
src/views/material/requisition/index copy.vue

@@ -1,552 +0,0 @@
-<template>
-  <div class="requisition" v-loading="failLoad">
-    <div class="applyList" v-if="isList">
-      <el-card
-        :body-style="{
-          height: '100%',
-          padding: 0,
-          display: 'flex',
-          'flex-direction': 'column',
-        }"
-      >
-        <el-super-search
-          v-model="params"
-          :size="size"
-          :dict="dict"
-          :columns="SearchColumns"
-          @reset="reset"
-          @submit="getList"
-        ></el-super-search>
-
-        <el-row
-          :gutter="10"
-          class="mb10"
-          type="flex"
-          justify="end"
-          style="margin-top: 15px"
-        >
-          <el-col :span="1.5">
-            <el-button type="primary" :size="size" plain @click="newAdd"
-              >新增</el-button
-            >
-          </el-col>
-          <el-col :span="1.5">
-            <el-button
-              :size="size"
-              :disabled="checkedList.length != 1"
-              @click="handleCopy"
-              >复制</el-button
-            >
-          </el-col>
-          <el-col :span="1.5">
-            <el-button
-              type="primary"
-              :size="size"
-              plain
-              @click="
-                download(
-                  '/system/apply/material/download',
-                  {},
-                  '申请单模板.xlsx'
-                )
-              "
-              >模板下载
-            </el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button-group>
-              <el-button :size="size" @click="handleImport">批量导入</el-button>
-              <!-- <el-button  
-            :size="size"
-              @click="handleDownload" 
-              v-hasPermi="['system:apply:export']"
-            >批量导出</el-button> -->
-              <el-button :size="size" @click="handleBatchSubmit"
-                >批量提交</el-button
-              >
-            </el-button-group>
-          </el-col>
-          <!-- 导入弹窗 -->
-          <el-dialog
-            title="批量导入"
-            :visible.sync="importData.show"
-            width="35%"
-            center
-            :before-close="handlefileDialogColse"
-          >
-            <div class="mb-import">
-              <el-upload
-                accept=".xls, .xlsx"
-                ref="upload"
-                action="#"
-                :on-remove="handleFileRemove"
-                :file-list="importData.list"
-                :auto-upload="false"
-                :on-change="handleChangeFile"
-                :limit="1"
-                style="text-align: center"
-              >
-                <el-button slot="trigger" size="small" type="primary"
-                  >选取文件</el-button
-                >
-                <div slot="tip" class="el-upload__tip">只能上传Excel文件</div>
-              </el-upload>
-            </div>
-            <span slot="footer">
-              <el-button @click="handleImportData('cancal')">取 消</el-button>
-              <el-button type="primary" @click="handleImportData('confirm')"
-                >确 定</el-button
-              >
-            </span>
-          </el-dialog>
-        </el-row>
-
-        <el-super-ux-table
-          v-model="tableList"
-          :dict="dict"
-          :columns="TableColumns"
-          :size="size"
-          pagination
-          index
-          checkbox
-          convenitentOperation
-          :page="pageStatus"
-          storage-key="MaterialRequisitionSuperTable"
-          @pagination="getList"
-          @row-dblclick="check"
-          @selection-change="handleSelectionChange"
-          @select="handleSelect"
-        >
-          <ux-table-column
-            fixed="right"
-            title="操作"
-            align="center"
-            width="180"
-          >
-            <template slot-scope="scope">
-              <el-button type="text" :size="size" @click.stop="check(scope.row)"
-                >查看</el-button
-              >
-              <el-button
-                @click.stop="edit(scope.row)"
-                v-if="scope.row.status == 0 || scope.row.status == 3"
-                type="text"
-                :size="size"
-                >编辑</el-button
-              >
-              <el-button
-                @click.stop="jumpFlow(scope.row)"
-                v-if="scope.row.oaId && scope.row.oaId != ''"
-                type="text"
-                :size="size"
-                >流程跳转</el-button
-              >
-              <el-button
-                type="text"
-                :size="size"
-                @click.stop="deleteRow(scope.row)"
-                v-if="scope.row.status == 0 || scope.row.status == 3"
-                >删除</el-button
-              >
-              <el-button
-                v-if="scope.row.status == '1'"
-                type="text"
-                size="mini"
-                @click.stop="handleBack(scope.row)"
-                >流程收回</el-button
-              >
-            </template>
-          </ux-table-column>
-        </el-super-ux-table>
-      </el-card>
-    </div>
-
-    <component
-      :is="isComponent"
-      v-model="isList"
-      :pageStu="page"
-      :disable="disable"
-      :row="rowDetail"
-      @refresh="getList"
-      v-if="!isList"
-    />
-  </div>
-</template>
-
-<script>
-import addReq from "./add.vue";
-import {
-  getReqList,
-  delReq,
-  importData,
-  fileImport,
-  betchSubmit,
-  toOA,
-  oaBack,
-} from "@/api/requisition/basic";
-import { saveAs } from "file-saver";
-import { blobValidate } from "@/utils/ruoyi";
-import { SearchColumns, TableColumns } from "./columns";
-import { initDicts } from "@/utils/init.js";
-
-export default {
-  name: "requisition",
-  dicts: [...initDicts([...SearchColumns, ...TableColumns]), "oa_templete_id"],
-  components: {
-    addReq,
-    ElSuperTable: () => import("@/components/super-table/index.vue"),
-    ElSuperUxTable: () => import("@/components/super-ux-table/index.vue"),
-    ElSuperSearch: () => import("@/components/super-search/index.vue"),
-  },
-  data() {
-    const params = this.$init.params(SearchColumns);
-    return {
-      failLoad: false,
-      tableList: [],
-      size: "mini",
-      params: params,
-      SearchColumns: SearchColumns,
-      TableColumns: TableColumns,
-      pageStatus: { pageNum: 1, pageSize: 50, total: 0 },
-      queryParams: {
-        billCode: "",
-        name: "",
-        status: "",
-        pageNum: 1,
-        pageSize: 10,
-      },
-      options: [
-        {
-          value: 0,
-          label: "未提交",
-        },
-        {
-          value: 1,
-          label: "审批中",
-        },
-        {
-          value: 2,
-          label: "已完成",
-        },
-        {
-          value: 3,
-          label: "已驳回",
-        },
-      ],
-      total: 0,
-      // isComponent
-      isComponent: "addReq",
-      isList: true,
-      // 页面状态
-      page: "",
-      rowDetail: {},
-      disable: false,
-      checkedList: [],
-      importData: {
-        show: false,
-        list: [],
-      },
-    };
-  },
-  created() {},
-  mounted() {
-    this.params.billCode = this.$route.query.billCode;
-    this.getList(this.queryParams);
-  },
-  methods: {
-    // 操作提示弹窗
-    handleConfirmTips(success) {
-      this.$confirm("是否继续此操作?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          success();
-        })
-        .catch(() => {});
-    },
-    // 批量提交
-    async handleBatchSubmit() {
-      let filterList = this.checkedList.filter(
-        (item) => !(item.status === "0" || item.status === "3")
-      );
-
-      console.log(filterList, "filterList", this.checkedList.length);
-
-      if (!filterList.length && this.checkedList.length) {
-        this.handleConfirmTips(async () => {
-          try {
-            this.failLoad = true;
-
-            let ids = this.checkedList.map((item) => Number(item.id));
-
-            let { code, msg } = await betchSubmit({ ids });
-
-            if (code == 200) {
-              this.reset();
-            }
-
-            this.$notify({
-              title: code == 200 ? msg : "error",
-              type: code == 200 ? "success" : "error",
-              message: code == 200 ? "" : msg,
-            });
-          } catch (error) {
-          } finally {
-            this.failLoad = false;
-          }
-        });
-      } else {
-        this.$notify.warning({
-          title: "警告",
-          message: "存在不符合提交条件数据或未选择数据!",
-        });
-      }
-    },
-
-    async jumpFlow(row) {
-      const { name } = this.$store.state.user;
-
-      try {
-        let { code, msg, oaUrl } = await toOA(name, row.oaId);
-
-        if (code == 200) {
-          window.open(oaUrl);
-        }
-      } catch (error) {
-      } finally {
-      }
-    },
-
-    reset() {
-      // this.queryParams.billCode = ''
-      // this.queryParams.name = ''
-      // this.queryParams.status = ''
-      // this.queryParams.pageNum = 1
-      this.pageStatus.pageNum = 1;
-      this.pageStatus.pageSize = 10;
-      this.params = this.$init.params(SearchColumns);
-      this.getList(this.queryParams);
-    },
-    newAdd() {
-      this.isList = false;
-      this.isComponent = "addReq";
-      this.page = "add";
-      this.disable = false;
-    },
-    // 复制
-    handleCopy() {
-      this.isList = false;
-      this.isComponent = "addReq";
-      this.page = "copy";
-      this.rowDetail = this.checkedList[0];
-      this.disable = false;
-    },
-    // 导入
-    handleImport() {
-      this.importData.show = true;
-    },
-    // 导出
-    handleDownload() {
-      let params = {
-        ...this.params,
-      };
-      this.download(
-        "/system/apply/material/export",
-        { ...params },
-        `物料申请单${new Date().getTime()}.xlsx`
-      );
-    },
-    // 删除文件
-    handleFileRemove(file, fileList) {
-      // console.log('删除文件', file, 'file', fileList, 'fileList');
-      this.importData.list = fileList;
-    },
-    // 文件发生改变
-    handleChangeFile(file, fileList) {
-      this.importData.list = fileList;
-    },
-    // 导入弹窗操作
-    handleImportData(type) {
-      switch (type) {
-        // 取消
-        case "cancal":
-          this.importData.list = [];
-          this.importData.show = false;
-          break;
-        // 确认
-        case "confirm":
-          if (this.importData.list.length) {
-            let formData = new FormData();
-
-            formData.append("file", this.importData.list[0].raw);
-            importData(formData).then((res) => {
-              if (res.code == 200) {
-                this.importData.show = false;
-                this.importData.list = [];
-                if (res.data.flag) {
-                  this.failLoad = true;
-                  // console.log(res.data.datas)
-                  let param = { failDatas: res.data.datas };
-                  if (null != param) {
-                    fileImport(param).then((res) => {
-                      console.log("res", res);
-                      const isBlob = blobValidate(res);
-                      if (isBlob) {
-                        const blob = new Blob([res]);
-                        saveAs(blob, "导入失败的物料申请单数据.xlsx");
-                      }
-                      this.failLoad = false;
-                      this.reset();
-                    });
-                  }
-                }
-                this.$message({
-                  message: res.data.msg,
-                  type: res.data.flag ? "warning" : "success",
-                });
-              } else {
-                this.$message({
-                  message: res.msg,
-                  type: res.code == 200 ? "success" : "warning",
-                });
-              }
-            });
-          } else {
-            this.$message({
-              message: "请上传文件之后在确认!",
-              type: "warning",
-            });
-          }
-          break;
-      }
-    },
-    handlefileDialogColse(done) {
-      this.importData.list = [];
-      done();
-    },
-    // Select框
-    handleSelect(selection, row) {
-      this.checkedList = selection;
-
-      // console.log(this.checkedList, 'this.checkedList');
-    },
-    getList(val) {
-      // console.log('val', val)
-      this.failLoad = true;
-
-      getReqList({ ...this.params, ...this.pageStatus }).then((res) => {
-        this.failLoad = false;
-        if (res.code === 200) {
-          this.tableList = res.rows;
-          // this.total = res.total;
-          this.pageStatus.total = res.total;
-        }
-      });
-      // this.checkedList = [];
-    },
-    // 表格内状态栏判断值
-    statusJug(row) {
-      if (row.status == 0) {
-        return "未提交";
-      } else if (row.status == 1) {
-        return "审批中";
-      } else if (row.status == 2) {
-        return "已完成";
-      } else if (row.status == 3) {
-        return "已驳回";
-      }
-    },
-    //
-    handleSelectionChange(selection) {
-      this.checkedList = selection;
-    },
-    check(row) {
-      console.log("xxxx", this.dict.type);
-      // console.log('查看详情', row)
-      this.isList = false;
-      this.isComponent = "addReq";
-      this.page = "check";
-      this.rowDetail = row;
-      this.disable = true;
-    },
-    edit(row) {
-      // console.log('修改先加载详情', row)
-      this.isList = false;
-      this.isComponent = "addReq";
-      this.page = "edit";
-      this.rowDetail = row;
-      this.disable = false;
-    },
-    commit(row) {
-      // console.log('row', row)
-    },
-    deleteRow(row) {
-      this.$confirm("是否删除此条数据?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          delReq(row.id).then((res) => {
-            if (res.code === 200) {
-              this.$message({
-                message: res.msg,
-                type: "success",
-              });
-              this.getList(this.queryParams);
-            }
-          });
-        })
-        .catch(() => {});
-    },
-    // handleSizeChange(val) {
-    //   console.log(`每页 ${val} 条`);
-    //   this.queryParams.pageSize = val
-    //   this.getList(this.queryParams)
-    // },
-    // handleCurrentChange(val) {
-    //   console.log(`当前页: ${val}`);
-    //   this.queryParams.pageNum = val
-    //   this.getList(this.queryParams)
-    // }
-    //流程收回
-    async handleBack(row) {
-      try {
-        const { msg, code } = await oaBack({
-          fdTemplateId: this.dict.type.oa_templete_id.find((item) => {
-            return item.label == "物料申请单";
-          }).value,
-          fdId: row.oaId,
-          billCode: row.billCode,
-          billMaker: row.createBy,
-        });
-        if (code === 200) {
-          this.$emit("success");
-          this.$notify.success(msg);
-        }
-      } catch (err) {
-        console.error(err);
-      } finally {
-        this.getList(this.queryParams);
-      }
-    },
-  },
-};
-</script>
-
-<style scoped lang="scss">
-.requisition {
-  // height: calc(100vh - 84px);
-  // padding: 12px;
-  // box-sizing: border-box;
-}
-.el-card {
-  width: calc(100% - 32px);
-  height: calc(100vh - 32px);
-  margin: 16px;
-  padding: 16px;
-  border-radius: 8px;
-}
-</style>

+ 62 - 109
src/views/purchase/DemandSummary/index.vue

@@ -9,7 +9,7 @@
                 <el-select
                   multiple
                   v-model="queryParams.rowStatus"
-                  size="mini"
+                  :size="size"
                   style="width: 200px"
                   clearable
                 >
@@ -27,7 +27,7 @@
               <el-form-item label="采购员">
                 <el-select
                   clearable
-                  size="mini"
+                  :size="size"
                   v-model="queryParams.buyer"
                   @clear="cleanBuyer"
                   @focus="chooseRefer('CONTACTS_PARAM', true, '采购员')"
@@ -46,7 +46,7 @@
               <el-form-item label="品类">
                 <el-select
                   v-model="queryParams.materialClassifyFour"
-                  size="mini"
+                  :size="size"
                   multiple
                   collapse-tags
                   clearable
@@ -68,22 +68,18 @@
               <el-form-item label="生产厂家">
                 <el-input
                   v-model.trim="queryParams.manufacturer"
-                  size="mini"
+                  :size="size"
                   clearable
                   style="width: 200px"
                 />
               </el-form-item>
             </el-col>
-            <!-- <el-col :span="1.5"> -->
-            <!-- <el-form-item label="" label-width="20px"> -->
             <div style="position: absolute; top: 3px; right: 10px">
-              <el-button type="primary" size="mini" @click="search"
+              <el-button type="primary" :size="size" @click="search"
                 >搜索</el-button
               >
-              <el-button size="mini" plain @click="reset">重置</el-button>
+              <el-button :size="size" plain @click="reset">重置</el-button>
             </div>
-            <!-- </el-form-item> -->
-            <!-- </el-col> -->
           </el-row>
 
           <CollapseTransition>
@@ -93,7 +89,7 @@
                   <el-form-item label="预测分类">
                     <el-select
                       v-model="queryParams.forecastClassification"
-                      size="mini"
+                      :size="size"
                       style="width: 200px"
                       clearable
                     >
@@ -111,7 +107,7 @@
                   <el-form-item label="审核人">
                     <el-select
                       clearable
-                      size="mini"
+                      :size="size"
                       v-model="queryParams.puManagerAuditor"
                       @focus="chooseRefer('CONTACTS_PARAM', true, '审核人')"
                       style="width: 200px"
@@ -129,7 +125,7 @@
                   <el-form-item label="注册人">
                     <el-input
                       v-model.trim="queryParams.registrant"
-                      size="mini"
+                      :size="size"
                       clearable
                       style="width: 200px"
                     />
@@ -139,7 +135,7 @@
                   <el-form-item label="业务类型">
                     <el-select
                       v-model="queryParams.businessType"
-                      size="mini"
+                      :size="size"
                       style="width: 200px"
                       clearable
                     >
@@ -160,7 +156,7 @@
                   <el-form-item label="单据来源">
                     <el-select
                       v-model="queryParams.billSource"
-                      size="mini"
+                      :size="size"
                       style="width: 200px"
                       clearable
                     >
@@ -178,7 +174,7 @@
                   <el-form-item label="需求客户">
                     <el-select
                       clearable
-                      size="mini"
+                      :size="size"
                       v-model="queryParams.customer"
                       @focus="chooseRefer('CUSTOMER_PARAM', true, '需求客户')"
                       style="width: 200px"
@@ -196,7 +192,7 @@
                   <el-form-item label="供应仓库">
                     <el-select
                       clearable
-                      size="mini"
+                      :size="size"
                       v-model="queryParams.lastWarehouse"
                       @focus="chooseRefer('WAREHOUSE_PARAM', true, '供应仓库')"
                       style="width: 200px"
@@ -214,7 +210,7 @@
                   <el-form-item label="供应库位">
                     <el-select
                       clearable
-                      size="mini"
+                      :size="size"
                       v-model="queryParams.lastAllocation"
                       @focus="
                         chooseRefer(
@@ -250,14 +246,14 @@
                       <el-input
                         slot="reference"
                         clearable
-                        size="mini"
+                        :size="size"
                         v-model="queryParams.names"
                         @clear="clearMaterial"
                         style="width: 200px"
                         @paste.native="pasteMe($event)"
                       >
                         <el-button
-                          size="mini"
+                          :size="size"
                           slot="append"
                           @click="chooseMaterial"
                           >数量:{{
@@ -272,7 +268,7 @@
                   <el-form-item label="默认采购组织">
                     <el-select
                       clearable
-                      size="mini"
+                      :size="size"
                       v-model="queryParams.purchaseOrg"
                       @focus="chooseRefer('ORG_PARAM', true, '默认采购组织')"
                       style="width: 200px"
@@ -303,7 +299,7 @@
                   <el-form-item label="采购需求单号">
                     <el-input
                       v-model.trim="queryParams.code"
-                      size="mini"
+                      :size="size"
                       clearable
                       style="width: 200px"
                     />
@@ -330,11 +326,11 @@
                     <el-select
                       clearable
                       v-model="queryParams.isCustomerSpecified"
-                      size="mini"
+                      :size="size"
                       style="width: 200px"
                     >
                       <el-option
-                        v-for="item in options"
+                        v-for="item in dict.type.sys_yes_no"
                         :key="item.value"
                         :label="item.label"
                         :value="item.value"
@@ -349,11 +345,11 @@
                     <el-select
                       clearable
                       v-model="queryParams.isUrgency"
-                      size="mini"
+                      :size="size"
                       style="width: 200px"
                     >
                       <el-option
-                        v-for="item in options"
+                        v-for="item in dict.type.sys_yes_no"
                         :key="item.value"
                         :label="item.label"
                         :value="item.value"
@@ -367,7 +363,7 @@
                   <el-form-item label="补单供应商">
                     <el-select
                       clearable
-                      size="mini"
+                      :size="size"
                       v-model="queryParams.additionalSupplier"
                       @focus="chooseRefer('SUPPLIER_PARAM', true, '供应商')"
                       style="width: 200px"
@@ -410,55 +406,55 @@
         ></el-divider>
 
         <div class="btn_grooup">
-          <el-button type="primary" size="mini" @click="editList"
+          <el-button type="primary" :size="size" @click="editList"
             >编辑</el-button
           >
           <el-button
             type="danger"
-            size="mini"
+            :size="size"
             v-if="!lineDisable"
             @click="cancelEdit"
             >取消编辑</el-button
           >
           <el-button
             type="success"
-            size="mini"
+            :size="size"
             v-if="!lineDisable"
             @click="saveList"
             >保存</el-button
           >
           <el-button
             type="primary"
-            size="mini"
+            :size="size"
             v-if="lineDisable"
             @click="confirms"
             >确认</el-button
           >
           <el-button
             type="primary"
-            size="mini"
+            :size="size"
             v-if="lineDisable"
             @click="cancels"
             >取消</el-button
           >
-          <!-- <el-button type="primary" size="mini" v-if="lineDisable" @click="cancelAudit">取消审批</el-button> -->
+          <!-- <el-button type="primary" :size="size" v-if="lineDisable" @click="cancelAudit">取消审批</el-button> -->
           <el-button
             type="primary"
-            size="mini"
+            :size="size"
             v-if="lineDisable"
             @click="audits"
             >审核</el-button
           >
           <el-button
             type="primary"
-            size="mini"
+            :size="size"
             v-if="lineDisable"
             @click="closeLine"
             >行关闭</el-button
           >
 
           <el-button
-            size="mini"
+            :size="size"
             type="primary"
             style="margin: 0 10px"
             v-if="lineDisable"
@@ -467,7 +463,7 @@
             导出
           </el-button>
 
-          <!-- <el-button type="primary" size="mini">转请购</el-button> -->
+          <!-- <el-button type="primary" :size="size">转请购</el-button> -->
         </div>
         <vxe-toolbar ref="xToolbar1" custom> </vxe-toolbar>
 
@@ -527,7 +523,7 @@
           >
             <template slot-scope="scope">
               <el-input
-                size="mini"
+                :size="size"
                 :disabled="scope.row.status !== '1' || lineDisable"
                 v-model="scope.row.finalBuyQty"
                 @change="jilu(scope.$rowIndex)"
@@ -848,7 +844,7 @@
           >
             <template slot-scope="scope">
               <el-input
-                size="mini"
+                :size="size"
                 :disabled="
                   scope.row.status !== '1' ||
                   lineDisable ||
@@ -908,11 +904,11 @@
               <el-input
                 readonly
                 :disabled="scope.row.status !== '1' || lineDisable"
-                size="mini"
+                :size="size"
                 v-model="scope.row.buyerName"
               >
                 <el-button
-                  size="mini"
+                  :size="size"
                   :disabled="scope.row.status !== '1' || lineDisable"
                   slot="append"
                   icon="el-icon-more"
@@ -1046,24 +1042,20 @@
           />
           <vxe-column title="操作" align="center" width="50">
             <template slot-scope="scope">
-              <el-button type="text" size="mini" @click="check(scope.row)"
+              <el-button type="text" :size="size" @click="check(scope.row)"
                 >查看</el-button
               >
             </template>
           </vxe-column>
         </vxe-table>
 
-        <el-pagination
-          background
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
-          :current-page="queryParams.pageNum"
-          :page-sizes="[10, 20, 50, 100, 200, 500]"
-          :page-size="50"
-          layout="total, sizes, prev, pager, next, jumper"
+        <pagination
           :total="total"
-        >
-        </el-pagination>
+          :page.sync="queryParams.pageNum"
+          :limit.sync="queryParams.pageSize"
+          @pagination="getList(queryParams)"
+          style="height: 32px; padding: 0 !important; flex: 1; overflow-x: auto"
+        />
       </el-card>
     </div>
 
@@ -1086,11 +1078,6 @@
 </template>
 
 <script>
-import Add from "./add";
-import Refers from "@/components/Refers/refers.vue";
-import TreeRefers from "@/components/Refers/treeRefer.vue";
-import popDialog from "@/components/PopDialog/index.vue";
-import CollapseTransition from "@/components/MyCollapse/collapse.vue";
 // 用于物料参照框数据
 import { getRefer } from "@/api/purchase/basic.js";
 import {
@@ -1107,6 +1094,7 @@ import {
 export default {
   name: "demandSummary",
   dicts: [
+    "sys_yes_no",
     "sys_row_status",
     "predictive_classify",
     "sys_period_unit",
@@ -1114,11 +1102,11 @@ export default {
     "sys_bill_source",
   ],
   components: {
-    Add,
-    CollapseTransition,
-    Refers,
-    TreeRefers,
-    popDialog,
+    Add: () => import("./add"),
+    CollapseTransition: () => import("@/components/MyCollapse/collapse.vue"),
+    Refers: () => import("@/components/Refers/refers.vue"),
+    TreeRefers: () => import("@/components/Refers/treeRefer.vue"),
+    popDialog: () => import("@/components/PopDialog/index.vue"),
   },
   data() {
     return {
@@ -1216,16 +1204,6 @@ export default {
       lastAllocationOptions: [],
       orgOptions: [],
       supplierOptions: [],
-      options: [
-        {
-          value: "Y",
-          label: "是",
-        },
-        {
-          value: "N",
-          label: "否",
-        },
-      ],
       referCondition: {
         type: "",
         isPage: true,
@@ -1347,33 +1325,27 @@ export default {
       };
       this.getList(this.queryParams);
     },
-    getList(params) {
-      getSummaryList(params)
-        .then((res) => {
-          if (res.code === 200) {
-            this.tableList = res.rows;
-            this.total = res.total;
-          }
-        })
-        .then(() => {
-          // 合计不显示重绘
-          this.$refs.table.doLayout();
-          this.loading = false;
-        })
-        .catch((err) => {
-          this.loading = false;
-        });
+    async getList(params) {
+      try {
+        this.loading = true;
+        let { code, rows, total } = await getSummaryList(params);
+        if (code == 200) {
+          this.tableList = rows;
+          this.total = total;
+        }
+      } catch (error) {
+      } finally {
+        this.loading = false;
+      }
     },
     selectAllEvent({ checked }) {
       const selection = this.$refs.table.getCheckboxRecords();
-      console.log("选中", selection);
       this.allSelection = selection;
       this.ids = selection.map((item) => item.demandItemId);
       console.log("选中数组", this.ids.join());
     },
     handleSelectionChange({ checked }) {
       const selection = this.$refs.table.getCheckboxRecords();
-      console.log("选中", selection);
       this.allSelection = selection;
       this.ids = selection.map((item) => item.demandItemId);
       console.log("选中数组", this.ids.join());
@@ -1418,16 +1390,6 @@ export default {
       // console.log(row)
       this.$refs.table.toggleCheckboxRow(row.row);
     },
-    handleSizeChange(val) {
-      console.log(`每页 ${val} 条`);
-      this.queryParams.pageSize = val;
-      this.getList(this.queryParams);
-    },
-    handleCurrentChange(val) {
-      console.log(`当前页: ${val}`);
-      this.queryParams.pageNum = val;
-      this.getList(this.queryParams);
-    },
     drop() {
       this.expanded = !this.expanded;
     },
@@ -1717,10 +1679,6 @@ export default {
 .hang ::v-deep .el-form-item__content {
   margin-left: 0px !important;
 }
-.el-pagination {
-  margin-top: 10px;
-  text-align: right;
-}
 ::v-deep .vxe-body--row > td {
   border-right: none;
 }
@@ -1731,8 +1689,3 @@ export default {
   background-color: #ff8a8a !important;
 }
 </style>
-<style>
-.exporttable {
-  border: solid 1px #c0c0c0;
-}
-</style>

+ 52 - 13
src/views/purchase/PurchaseDemandList/columns.js

@@ -1,19 +1,58 @@
 export default function useColumns() {
 
   const TableColumns = [
-    { item: { key: "code", title: "需求单号", width: 150 }, attr: {} },
-    { item: { key: "demandDate", title: "需求日期", width: 150 }, attr: {} },
-    { item: { key: "createTime", title: "制单日期", width: 150 }, attr: {} },
-    { item: { key: "planType", title: "需求计划", width: 150 }, attr: { is: "el-dict-tag", dictName: "sys_plan_type" } },
-    { item: { key: "approverFinishTime", title: "审批结束日期", width: 150 }, attr: {} },
-    { item: { key: "status", title: "单据状态", width: 150 }, attr: { is: "el-dict-tag", dictName: "sys_status" } },
-    { item: { key: "billType", title: "业务类型", width: 150 }, attr: { is: "el-dict-tag", dictName: "sys_business" } },
-    { item: { key: "demandPersonalName", title: "需求人员", width: 150 }, attr: {} },
-    { item: { key: "customerName", title: "需求客户", width: 150 }, attr: {} },
-    { item: { key: "demandDeptName", title: "需求部门", width: 150 }, attr: {} },
-    { item: { key: "source", title: "单据来源", width: 150 }, attr: { is: "el-dict-tag", dictName: "sys_bill_source" } },
-    { item: { key: "approveUser", title: "当前审批人", width: 150 }, attr: {} },
-    { item: { key: "remark", title: "备注", width: 150 }, attr: {} },
+    {
+      item: { key: "code", title: "需求单号", width: 150 },
+      attr: {}
+    },
+    {
+      item: { key: "demandDate", title: "需求日期", width: 150 },
+      attr: {}
+    },
+    {
+      item: { key: "createTime", title: "制单日期", width: 150 },
+      attr: {}
+    },
+    {
+      item: { key: "planType", title: "需求计划", width: 150 },
+      attr: { is: "el-dict-tag", dictName: "sys_plan_type" }
+    },
+    {
+      item: { key: "approverFinishTime", title: "审批结束日期", width: 150 },
+      attr: {}
+    },
+    {
+      item: { key: "status", title: "单据状态", width: 150 },
+      attr: { is: "el-dict-tag", dictName: "sys_status" }
+    },
+    {
+      item: { key: "billType", title: "业务类型", width: 150 },
+      attr: { is: "el-dict-tag", dictName: "sys_business" }
+    },
+    {
+      item: { key: "demandPersonalName", title: "需求人员", width: 150 },
+      attr: {}
+    },
+    {
+      item: { key: "customerName", title: "需求客户", width: 150 },
+      attr: {}
+    },
+    {
+      item: { key: "demandDeptName", title: "需求部门", width: 150 },
+      attr: {}
+    },
+    {
+      item: { key: "source", title: "单据来源", width: 150 },
+      attr: { is: "el-dict-tag", dictName: "sys_bill_source" }
+    },
+    {
+      item: { key: "approveUser", title: "当前审批人", width: 150 },
+      attr: {}
+    },
+    {
+      item: { key: "remark", title: "备注", width: 150 },
+      attr: {}
+    },
   ].map(({ item, attr }) => ({
     attr,
     item: {

+ 3 - 2
src/views/purchase/catalogue/index.vue

@@ -12,6 +12,7 @@ export default {
     EnaButton: () => import("./enable/index.vue"),
     ExpButton: () => import("./export/index.vue"),
     ElSuperTable: () => import("@/components/super-table/index.vue"),
+    ElSuperUxTable: () => import("@/components/super-ux-table/index.vue"),
     ElSuperSearch: () => import("@/components/super-search/index.vue"),
   },
   data() {
@@ -180,7 +181,7 @@ export default {
         <el-button size="mini" @click="exportAll">全部导出</el-button>
       </el-button-group>
     </div>
-    <el-super-table
+    <el-super-ux-table
       v-model="tableData"
       :size="size"
       :dict="dict"
@@ -195,7 +196,7 @@ export default {
       @selection-change="useSelect"
       @pagination="useQuery(params, page)"
     >
-    </el-super-table>
+    </el-super-ux-table>
   </el-card>
 </template>
 <style scoped lang="scss">

Разница между файлами не показана из-за своего большого размера
+ 195 - 193
src/views/purchase/purchase-order/add/column.js


+ 2 - 0
src/views/purchase/purchase-order/add/index.vue

@@ -972,6 +972,7 @@ export default {
                 :title="column.title"
                 :type="column.referName"
                 :disabled="column.disabled"
+                :clearable="column.clearable"
                 :multiple="column.multiple"
                 :placeholder="column.placeholder"
                 :data-mapping="column.dataMapping"
@@ -1153,6 +1154,7 @@ export default {
                       :value-key="cColumn.valueKey"
                       :type="cColumn.referName"
                       :disabled="cColumn.disabled"
+                      :clearable="cColumn.clearable"
                       :multiple="cColumn.multiple"
                       :copy="cColumn.copy"
                       :placeholder="cColumn.placeholder"

+ 2 - 0
src/views/purchase/purchase-order/edit/index.vue

@@ -935,6 +935,7 @@ export default {
                 :placeholder="column.placeholder"
                 :data-mapping="column.dataMapping"
                 :disabled="column.disabled"
+                :clearable="column.clearable"
                 :query-params="column.queryParams"
                 @change="handleReferChange"
               ></dr-popover-select>
@@ -1112,6 +1113,7 @@ export default {
                       :title="cColumn.title"
                       :value-key="cColumn.valueKey"
                       :disabled="cColumn.disabled"
+                      :clearable="cColumn.clearable"
                       :copy="cColumn.copy"
                       :type="cColumn.referName"
                       :multiple="cColumn.multiple"

Некоторые файлы не были показаны из-за большого количества измененных файлов