石广澎
2023-11-29 32dce44249f1b3fb8487a154517c381d55123fbc
feat:
1、库存管理各种单据导出对接
1个文件已添加
15个文件已修改
621 ■■■■ 已修改文件
admin-web/public/static/config.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/exportExcel.js 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/api/stock/transfer.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/distribution/detail.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/distribution/edit.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemdis/distribution/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemret/returnNote/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/departmentitem/itemscr/scrapping/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/mixins/listPage.js 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/accessStock/outbound/index.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/inventorycount/inventorytask/index.vue 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/procure/purchaseOrder/index.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/scrap/itemScrapping/index.vue 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/transfer/transferApplication/index.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/src/views/stock/transfer/transferissue/index.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin-web/public/static/config.js
@@ -4,8 +4,8 @@
  // 上传路径
  ftpUrl: 'https://yqzx.jinmingyuan.com/lowConsum',//开发
  // 接口请求地址
  // apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//开发
  apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//开发
  apiBaseURL: 'http://172.16.20.2:8083/lowConsum',//开发
  // apiBaseURL: 'http://172.16.60.155:8083/lowConsum',//开发
  // apiBaseURL: 'https://yqzx.jinmingyuan.com/lowConsum',//开发
  debug: false //调试开关  true时会输出请求日志
};
admin-web/src/api/exportExcel.js
New file
@@ -0,0 +1,49 @@
import request from '@/utils/request';
// 出库单导出
export function outputExport(params) {
    return request({
        url: '/pc/l/wh/form/output/list/export',
        responseType: 'blob', // 指定响应数据类型为Blob
        method: 'get',
        params,
    });
}
// 采购单导出
export function procureExport(params) {
    return request({
        url: '/pc/l/wh/form/procure/list/export',
        responseType: 'blob', // 指定响应数据类型为Blob
        method: 'get',
        params,
    });
}
// 调拨单导出
export function transferExport(params) {
    return request({
        url: '/pc/l/wh/form/transfer/list/export',
        responseType: 'blob', // 指定响应数据类型为Blob
        method: 'get',
        params,
    });
}
// 库存盘点单导出
export function inventoryExport(params) {
    return request({
        url: '/pc/l/wh/form/inventory/list/export',
        responseType: 'blob', // 指定响应数据类型为Blob
        method: 'get',
        params,
    });
}
// 库存报废单导出
export function scrappedExport(params) {
    return request({
        url: '/pc/l/wh/form/scrapped/list/export',
        responseType: 'blob', // 指定响应数据类型为Blob
        method: 'get',
        params,
    });
}
admin-web/src/api/stock/transfer.js
@@ -72,15 +72,6 @@
}
// 导出
export function transferExport(params) {
  return request({
    url: '/pc/l/wh/form/transfer/export',
    method: 'get',
    params,
  });
}
// 导出
export function transferDetailListApi(params) {
  return '/pc/l/wh/form/transfer/detail/list'
}
admin-web/src/views/departmentitem/itemdis/disDetails/edit.vue
@@ -19,7 +19,7 @@
        {{ item }}
      </div>
    </div>
    <el-form v-show="tabIndex == 0" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm">
    <el-form v-loading="loading" v-show="tabIndex == 0" ref="ruleForm" :model="formData" :rules="rules" class="demo-ruleForm">
      <div v-for="(item, index) in formData.list" :key="index">
        <el-row :gutter="20">
          <el-col :span="6">
@@ -61,7 +61,6 @@
        <el-divider v-if="index+1<formData.list.length"></el-divider>
      </div>
    </el-form>
    <el-form
        v-show="tabIndex == 1"
        ref="ruleForm"
@@ -74,7 +73,7 @@
        <el-row :gutter="20" class="item-header">
          <el-col :span="6">
            <el-form-item label="修改时间:">
              {{ item.updateTime }}
              {{ item.updateTime | formatTime }}
            </el-form-item>
          </el-col>
          <el-col :span="6">
@@ -129,9 +128,11 @@
<script>
import myButton from '@/components/myButton/myButton';
import {useInfoUpdate, useRecord} from "@/api/stock/transfer";
import listPage from '@/views/mixins/listPage';
export default {
  components: {myButton},
  mixins: [listPage],
  props: {
    setting: {
      type: Object,
@@ -141,6 +142,7 @@
  },
  data() {
    return {
      loading: true,
      tabs: ['修改使用人', '使用记录'],
      tabIndex: 0,
      list: [],
admin-web/src/views/departmentitem/itemdis/distribution/detail.vue
@@ -59,12 +59,12 @@
      </el-row>
      <el-form>
        <el-row class="card3" v-for="(mItem, mIndex) in goodsItem.models" :key="mIndex">
          <el-col :span="10">
            <el-form-item label="规格型号:"  style="margin-bottom: 0">
          <el-col style="padding: 10px 0" :span="10">
            <el-form-item label="规格型号1:"  style="margin-bottom: 0">
              {{ mItem.baseGoodsModelsName }}
            </el-form-item>
          </el-col>
          <el-col :span="4">
          <el-col style="padding: 10px 0" :span="4">
            <el-form-item label="单位:" style="margin-bottom: 0" label-width="80">
              {{mItem.unit}}
            </el-form-item>
admin-web/src/views/departmentitem/itemdis/distribution/edit.vue
@@ -568,6 +568,7 @@
    // 提交
    handleSubmit() {
      console.log('formData', this.formData);
      if(this.loading) return
      this.$refs['ruleForm'].validate((valid) => {
        if (valid) {
          this.formData.transferGoods.map(goods => {
admin-web/src/views/departmentitem/itemdis/distribution/index.vue
@@ -91,7 +91,7 @@
import myImport from '@/views/components/myImport';
import edit from './edit';
import detail from './detail';
import listPage from '../../../mixins/listPage';
import listPage from '@/views/mixins/listPage';
import {getUserDetail} from "@/utils/auth";
export default {
admin-web/src/views/departmentitem/itemret/returnNote/index.vue
@@ -77,7 +77,7 @@
import myImport from '@/views/components/myImport';
import edit from './edit';
import detail from './detail';
import listPage from '../../../mixins/listPage'
import listPage from '@/views/mixins/listPage'
export default {
  name: 'index',
admin-web/src/views/departmentitem/itemscr/scrapping/index.vue
@@ -82,7 +82,7 @@
import myImport from '@/views/components/myImport';
import edit from './edit';
import detail from './detail';
import listPage from '../../../mixins/listPage'
import listPage from '@/views/mixins/listPage'
export default {
  name: 'index',
admin-web/src/views/mixins/listPage.js
@@ -1,23 +1,24 @@
import * as DateFormatter from '@/utils/DateFormatter';
import {mapGetters} from 'vuex';
import * as dataExport from "@/api/exportExcel"
export default {
    data() {
        return {
            loading: false,
            list: [],
            items:[],
            filterFrom:{},
            items: [],
            filterFrom: {},
            editSetting: {
              title: '',
              id: '',
              orgId: '',
              show: false,
                title: '',
                id: '',
                orgId: '',
                show: false,
            },
            detailSetting: {
              title: '详情',
              id: '',
              show: false,
                title: '详情',
                id: '',
                show: false,
            },
            pageNum: 1,
            pageSize: 10,
@@ -25,67 +26,98 @@
        }
    },
    computed: {
      ...mapGetters(['userInfo']),
      clientHeight() {
        return document.documentElement.clientHeight;
      },
        ...mapGetters(['userInfo']),
        clientHeight() {
            return document.documentElement.clientHeight;
        },
    },
    created() {
    },
    filters: {
      formatTime(time) {
        if (!time) return '-';
        return DateFormatter.LongToDateTime(time);
      },
        formatTime(time) {
            if (!time) return '-';
            return DateFormatter.LongToDateTime(time);
        },
    },
    methods:{
        fetchData() {},
    methods: {
        // 导出
        handleExport() {},
        handleExport(api, fileName, params) {
            console.log(fileName)
            let loading = this.$loading({
                lock: true,
                text: '导出中,请稍候...',
                spinner: 'el-icon-loading',
                background: 'rgba(0, 0, 0, 0.7)',
            });
            // 判断总条数是否大于最大支持条数
            dataExport[api](params)
                .then((res) => {
                    const blob = new Blob([res], {type: 'application/vnd.ms-excel'});
                    if ('download' in document.createElement('a')) {
                        // 非IE下载
                        const elink = document.createElement('a');
                        elink.download = `${fileName}.xls`;
                        elink.style.display = 'none';
                        elink.href = URL.createObjectURL(blob);
                        document.body.appendChild(elink);
                        elink.click();
                        URL.revokeObjectURL(elink.href);
                        document.body.removeChild(elink);
                    } else {
                        // IE10+下载
                        navigator.msSaveBlob(blob, `${fileName}.xls`);
                    }
                    this.$message.success('导出成功!');
                    loading.close();
                })
                .catch(() => {
                    loading.close();
                });
        },
        // 新增
        handleAdd() {
          this.editSetting.id = null;
          this.editSetting.info = null;
          this.editSetting.title = '新增';
          this.editSetting.show = true;
            this.editSetting.id = null;
            this.editSetting.info = null;
            this.editSetting.title = '新增';
            this.editSetting.show = true;
        },
        // 编辑
        handleEdit(row) {
          this.editSetting.id = row.id;
          this.editSetting.info = null;
          this.editSetting.title = '编辑';
          this.editSetting.show = true;
            this.editSetting.id = row.id;
            this.editSetting.info = null;
            this.editSetting.title = '编辑';
            this.editSetting.show = true;
        },
        // 详情
        handleDetail(row) {
          this.detailSetting.id = row.id;
          this.detailSetting.title = '详情';
          this.detailSetting.show = true;
            this.detailSetting.id = row.id;
            this.detailSetting.title = '详情';
            this.detailSetting.show = true;
        },
        // 分页
        handleSizeChange(pageSize) {
          this.pageSize = pageSize;
          this.search({ pageNum: 1 });
            this.pageSize = pageSize;
            this.search({pageNum: 1});
        },
        handleCurrentChange(pageNum) {
          this.pageNum = pageNum;
          this.search();
            this.pageNum = pageNum;
            this.search();
        },
        // 查询table列表
        search(pageNum) {
          if(pageNum){
            this.pageNum = pageNum
          }
          this.fetchData();
            if (pageNum) {
                this.pageNum = pageNum
            }
            this.fetchData();
        },
        refreshData() {
          this.pageNum = 1;
          this.pageSize = 10;
          this.search();
            this.pageNum = 1;
            this.pageSize = 10;
            this.search();
        },
        fifterForm(params) {
          this.filterFrom = Object.assign(this.filterFrom, params);
          this.search(1);
            this.filterFrom = Object.assign(this.filterFrom, params);
            this.search(1);
        },
    }
}
admin-web/src/views/stock/accessStock/outbound/index.vue
@@ -24,7 +24,7 @@
                            <span class="value">{{ item.businessFormCode }}</span>
                          </div>
                          <div class="card-header-right">
                            <el-button site="form" type="success" size="mini" @click="handleExport(item)"
                            <el-button site="form" type="success" size="mini" @click="handleExport('outputExport',`出库单-${item.businessFormCode}`,{id:item.id})"
                            >导出出库单</el-button
                            >
                            <el-button name="查看详情" site="form" type="info" size="mini" @click="handleDetail(item)"
@@ -85,7 +85,7 @@
import myImport from '@/views/components/myImport';
import edit from './edit';
import detail from './detail';
import listPage from '../../../mixins/listPage'
import listPage from '@/views/mixins/listPage'
import SettingIplatform from '@/utils/settingIplatform';
export default {
@@ -163,19 +163,6 @@
        this.total = res.totalRows;
        this.loading = false;
      });
    },
    fifterForm(params) {
      this.filterFrom = Object.assign(this.filterFrom, params);
      if (this.filterFrom.startTime) {
        this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, '');
      }
      if (this.filterFrom.endTime) {
        this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, '');
      }
      if (this.filterFrom.agencyId&&this.filterFrom.agencyId.length) {
        this.filterFrom.agencyId = this.filterFrom.agencyId[this.filterFrom.agencyId.length - 1];
      }
      this.search(1);
    },
  },
};
admin-web/src/views/stock/inventorycount/inventorytask/index.vue
@@ -10,25 +10,26 @@
          <el-row style="margin-top: 15px">
            <el-col>
              <!--列表-->
              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table" />
              <my-table-v2 ref="myTable" :filter="filterFrom" :table="table"/>
            </el-col>
          </el-row>
          <!--添加/编辑弹窗-->
          <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search" />
          <edit v-if="editSetting.show" :setting="editSetting" @close="editSetting.show = false" @search="search"/>
          <inventory
            v-if="inventorySetting.show"
            :setting="inventorySetting"
            @close="inventorySetting.show = false"
            @search="search"
              v-if="inventorySetting.show"
              :setting="inventorySetting"
              @close="inventorySetting.show = false"
              @search="search"
          />
          <detail v-if="inventoryDetail.show" :setting="inventoryDetail" @close="inventoryDetail.show = false" @search="search" />
          <detail v-if="inventoryDetail.show" :setting="inventoryDetail" @close="inventoryDetail.show = false"
                  @search="search"/>
        </el-card>
      </el-container>
    </el-container>
    <my-import
      :import-setting="importSetting"
      :dialog-show="importSetting.dialogShow"
      :dialog-title="importSetting.dialogTitle"
        :import-setting="importSetting"
        :dialog-show="importSetting.dialogShow"
        :dialog-title="importSetting.dialogTitle"
    />
  </div>
</template>
@@ -46,10 +47,12 @@
import {inventoryDel, inventoryListApi} from '@/api/stock/inventory';
import * as DateFormatter from '@/utils/DateFormatter';
import {mapGetters} from 'vuex';
import listPage from '@/views/mixins/listPage';
export default {
  name: 'index',
  components: { MyButton, MyTableV2, edit, myImport, inventory,detail },
  mixins: [listPage],
  components: {MyButton, MyTableV2, edit, myImport, inventory, detail},
  data() {
    return {
      // 搜索框
@@ -128,7 +131,7 @@
        orgId: '',
        show: false,
      },
      inventoryDetail:{
      inventoryDetail: {
        title: '',
        id: '',
        orgId: '',
@@ -161,18 +164,18 @@
        },
        // 列信息
        columns: [
          { title: '盘点单号', field: 'businessFormCode', align: 'center', width: 130 },
          { title: '任务名称', field: 'businessFormName', align: 'left', minWidth: 140 },
          { title: '盘点仓库', field: 'warehouseName', align: 'left', minWidth: 130  },
          { title: '盘点人', field: 'operatorName', align: 'center', width: 120  },
          { title: '监盘人', field: 'operatorName2', align: 'center', width: 120  },
          {title: '盘点单号', field: 'businessFormCode', align: 'center', width: 130},
          {title: '任务名称', field: 'businessFormName', align: 'left', minWidth: 140},
          {title: '盘点仓库', field: 'warehouseName', align: 'left', minWidth: 130},
          {title: '盘点人', field: 'operatorName', align: 'center', width: 120},
          {title: '监盘人', field: 'operatorName2', align: 'center', width: 120},
          {
            title: '盘点时间',
            field: 'inventoryDate',
            align: 'center',
            width: 160,
            formatter: (row) => {
              return { value: row.inventoryDate ? DateFormatter.LongToDateTime(row.inventoryDate) : '-' };
              return {value: row.inventoryDate ? DateFormatter.LongToDateTime(row.inventoryDate) : '-'};
            },
          },
          {
@@ -181,7 +184,7 @@
            align: 'center',
            width: 160,
            formatter: (row) => {
              return { value: DateFormatter.LongToDateTime(row.createTime) };
              return {value: DateFormatter.LongToDateTime(row.createTime)};
            },
          },
          {
@@ -271,7 +274,7 @@
                }
              },
              events: (row) => {
                this.showInventoryDetail(row);
                this.handleExport('inventoryExport', `盘点表-${row.businessFormCode}`, {id: row.id});
              },
            },
          ],
@@ -293,7 +296,7 @@
    ...mapGetters(['userInfo']),
  },
  created() {
    selectTenantWarehouse({ agencyId: this.userInfo.tenantId }).then((res) => {
    selectTenantWarehouse({agencyId: this.userInfo.tenantId}).then((res) => {
      this.items.forEach((v) => {
        if (v.label == '盘点仓库') {
          v.options = res.map((item) => {
@@ -321,14 +324,15 @@
    },
    del(row) {
      this.$modal
        .confirm('是否确认删除单号为:' + row.businessFormCode + ' 的数据吗?')
        .then(() => {
          inventoryDel({ id: row.id }).then((res) => {
            this.$message.success('删除成功!');
            this.search();
          .confirm('是否确认删除单号为:' + row.businessFormCode + ' 的数据吗?')
          .then(() => {
            inventoryDel({id: row.id}).then((res) => {
              this.$message.success('删除成功!');
              this.search();
            });
          })
          .catch(() => {
          });
        })
        .catch(() => {});
    },
    showAdd() {
      this.editSetting.id = null;
@@ -362,17 +366,6 @@
      } else {
        this.$refs.myTable.search();
      }
    },
    fifterForm(params) {
      this.filterFrom = Object.assign(this.filterFrom, params);
      if (this.filterFrom.startTime) {
        this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, '');
      }
      if (this.filterFrom.endTime) {
        this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, '');
      }
      this.search(1);
    },
  },
};
admin-web/src/views/stock/procure/purchaseOrder/index.vue
@@ -40,7 +40,7 @@
                              >
                            </template>
                            <template v-if="item.states != 1">
                              <el-button site="form" type="success" size="mini" @click="handleExport(item)"
                              <el-button site="form" type="success" size="mini" @click="handleExport('procureExport',`采购入库单-${item.businessFormCode}`,{id:item.id})"
                              >导出入库单</el-button
                              >
                            </template>
@@ -123,7 +123,7 @@
import edit from './edit';
import detail from './detail';
import {getBaseUrl} from '@/utils/base';
import listPage from '../../../mixins/listPage';
import listPage from '@/views/mixins/listPage';
export default {
  name: 'index',
@@ -202,13 +202,13 @@
        },
        {
          type: 'date-picker',
          dataIndex: 'incomeTimeStart',
          dataIndex: 'startTime',
          label: '入库时间',
          defaultValue: '',
        },
        {
          type: 'date-picker',
          dataIndex: 'incomeTimeEnd',
          dataIndex: 'endTime',
          label: '至',
          defaultValue: '',
        },
@@ -297,16 +297,6 @@
          })
          .catch(() => {});
      });
    },
    fifterForm(params) {
      this.filterFrom = Object.assign(this.filterFrom, params);
      if (this.filterFrom.incomeTimeStart) {
        this.filterFrom.incomeTimeStart = this.filterFrom.incomeTimeStart.replace(/\-/g, '');
      }
      if (this.filterFrom.incomeTimeEnd) {
        this.filterFrom.incomeTimeEnd = this.filterFrom.incomeTimeEnd.replace(/\-/g, '');
      }
      this.search(1);
    },
  },
};
admin-web/src/views/stock/scrap/itemScrapping/index.vue
@@ -10,61 +10,69 @@
          <el-col>
            <!--列表-->
            <div class="table-tool-bar" style="margin-bottom: 15px">
              <my-button name="新增" @click="handleAdd" site="tools" size="medium" />
              <my-button name="新增" @click="handleAdd" site="tools" size="medium"/>
            </div>
            <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }">
              <el-row class="card" :gutter="5" v-loading="loading">
                <el-col v-for="(item, index) in list" :key="index" class="cm-item">
                  <el-card class="card-data">
                    <div class="card-container">
                      <div class="card-header">
                        <div class="card-header-left">
                          <span>报废单号:</span>
                          <span class="value">{{ item.businessFormCode }}</span>
            <div v-loading="loading">
              <div :style="{ 'overflow-y': 'auto', height: 'calc(100vh - 352px)' }">
                <el-row v-if="list.length" class="card" :gutter="5">
                  <el-col v-for="(item, index) in list" :key="index" class="cm-item">
                    <el-card class="card-data">
                      <div class="card-container">
                        <div class="card-header">
                          <div class="card-header-left">
                            <span>报废单号:</span>
                            <span class="value">{{ item.businessFormCode }}</span>
                          </div>
                          <div class="card-header-right">
                            <el-button site="form" type="success" size="mini"
                                       @click="handleExport('scrappedExport',`报废单-${item.businessFormCode}`, {id:item.id})"
                            >导出报废单
                            </el-button
                            >
                            <el-button name="查看详情" site="form" type="info" size="mini" @click="handleDetail(item)"
                            >查看详情
                            </el-button
                            >
                          </div>
                        </div>
                        <div class="card-header-right">
                          <el-button site="form" type="success" size="mini" @click="handleExport(item)"
                            >导出报废单</el-button
                          >
                          <el-button name="查看详情" site="form" type="info" size="mini" @click="handleDetail(item)"
                            >查看详情</el-button
                          >
                        <div class="one-hed">
                          <div class="box"><span class="span-two">机构:</span>{{ item.agencyName }}</div>
                          <div class="box"><span class="span-two">操作人:</span>{{ item.operatorName }}</div>
                          <div class="box">
                            <span class="span-two">报废时间:</span>{{ item.dealTime | formatTime }}
                          </div>
                        </div>
                      </div>
                      <div class="one-hed">
                        <div class="box"><span class="span-two">机构:</span>{{ item.agencyName }}</div>
                        <div class="box"><span class="span-two">操作人:</span>{{ item.operatorName }}</div>
                        <div class="box">
                          <span class="span-two">报废时间:</span>{{ item.dealTime | formatTime }}
                        </div>
                      </div>
                      <div class="card-end">
                        <div v-for="(just, index) in item.goodTemplateInfo" :key="index" class="item">
                          <div class="name">{{ just.goodsName }}</div>
                          <div class="value-box">
                            <div class="value-box-item">
                              <span class="label">数量:</span>
                              <span class="value">{{ just.count }}</span>
                              <span class="unit">{{ just.unit }}</span>
                        <div class="card-end">
                          <div v-for="(just, index) in item.goodTemplateInfo" :key="index" class="item">
                            <div class="name">{{ just.goodsName }}</div>
                            <div class="value-box">
                              <div class="value-box-item">
                                <span class="label">数量:</span>
                                <span class="value">{{ just.count }}</span>
                                <span class="unit">{{ just.unit }}</span>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </el-card>
                </el-col>
              </el-row>
                    </el-card>
                  </el-col>
                </el-row>
                <el-empty v-else description="暂无数据"></el-empty>
              </div>
            </div>
            <el-pagination
              :small="false"
              :current-page="pageNum"
              :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
              :page-size="pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="total"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
                :small="false"
                :current-page="pageNum"
                :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
                :page-size="pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="total"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
            />
          </el-col>
        </el-row>
@@ -72,17 +80,17 @@
    </el-container>
    <!--添加/编辑弹窗-->
    <edit
      v-if="editSetting.show"
      :setting="editSetting"
      ref="editRef"
      @close="editSetting.show = false"
      @search="refreshData"
        v-if="editSetting.show"
        :setting="editSetting"
        ref="editRef"
        @close="editSetting.show = false"
        @search="refreshData"
    ></edit>
    <detail
      v-if="detailSetting.show"
      :setting="detailSetting"
      @close="detailSetting.show = false"
      ref="detailRef"
        v-if="detailSetting.show"
        :setting="detailSetting"
        @close="detailSetting.show = false"
        ref="detailRef"
    ></detail>
  </div>
</template>
@@ -94,14 +102,15 @@
import edit from './edit';
import detail from './detail';
import * as DateFormatter from '@/utils/DateFormatter';
import listPage from '@/views/mixins/listPage';
export default {
  name: 'index',
  components: { MyButton, edit, detail },
  mixins: [listPage],
  components: {MyButton, edit, detail},
  data() {
    return {
      loading: false,
      adddialog: false,
      list: [],
      // 搜索框
      items: [
@@ -130,7 +139,7 @@
          dataIndex: 'agencyId',
          label: '机构',
          placeholder: '请选择',
          optionsConfig: { url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null },
          optionsConfig: {url: '/pc/fin/sys/tenant/select/tree_fin_tenant', props: null},
          defaultValue: '',
          options: [],
        },
@@ -198,65 +207,6 @@
        this.total = res.totalRows;
        this.loading = false;
      });
    },
    //导入
    importOrg() {
      this.importSetting.dialogShow = true;
      this.importSetting.onSuccess = (response, callBack) => {
        if (response.code === 1) {
          this.$message.success(response.msg);
          this.search(1);
        } else {
          this.$message.warning(response.msg);
        }
        callBack();
      };
    },
    // 导出
    handleExport() {},
    // 新增
    handleAdd() {
      this.editSetting.id = null;
      this.editSetting.info = null;
      this.editSetting.title = '新增';
      this.editSetting.show = true;
    },
    // 详情
    handleDetail(row) {
      this.detailSetting.id = row.id;
      this.detailSetting.show = true;
    },
    // 分页
    handleSizeChange(pageSize) {
      this.pageSize = pageSize;
      this.search(1);
    },
    handleCurrentChange(pageNum) {
      this.pageNum = pageNum;
      this.search(pageNum);
    },
    // 查询table列表
    search(pageNum) {
      if (pageNum) {
        this.pageNum = pageNum;
      }
      this.fetchData();
    },
    refreshData() {
      this.pageNum = 1;
      this.pageSize = 10;
      this.search();
    },
    fifterForm(params) {
      this.filterFrom = Object.assign(this.filterFrom, params);
      if (this.filterFrom.incomeTimeStart) {
        this.filterFrom.incomeTimeStart = this.filterFrom.incomeTimeStart.replace(/\-/g, '');
      }
      if (this.filterFrom.incomeTimeEnd) {
        this.filterFrom.incomeTimeEnd = this.filterFrom.incomeTimeEnd.replace(/\-/g, '');
      }
      this.search(1);
    },
  },
};
admin-web/src/views/stock/transfer/transferApplication/index.vue
@@ -48,7 +48,7 @@
                            site="form"
                            type="primary"
                            size="mini"
                            @click="handleExport(item)"
                            @click="handleExport('transferExport',`调拨入库单-${item.businessFormCode}`,{id:item.id,type: 1})"
                            >导出调拨入库单</el-button
                          >
                          <el-button name="查看详情" site="form" type="info" size="mini" @click="handleDetail(item)"
@@ -121,13 +121,13 @@
</template>
<script>
import {transfeIncome, transferExport, transferList, transferUpdStatus} from '@/api/stock/transfer';
import {transfeIncome, transferList, transferUpdStatus} from '@/api/stock/transfer';
import MyButton from '@/components/myButton/myButton';
import myImport from '@/views/components/myImport';
import edit from './edit';
import detail from './detail';
import listPage from '../../../mixins/listPage';
import transfer from '../../../mixins/transfer';
import listPage from '@/views/mixins/listPage';
import transfer from '@/views/mixins/transfer';
import SettingIplatform from '@/utils/settingIplatform';
export default {
@@ -137,7 +137,6 @@
  data() {
    return {
      loading: false,
      adddialog: false,
      list: [],
      // 搜索框
      items: [
@@ -220,7 +219,6 @@
        this.list = res.datas;
        this.total = res.totalRows;
        this.loading = false;
        console.log(this.list);
      });
    },
@@ -248,11 +246,6 @@
      });
    },
    // 导出
    handleExport(row) {
      transferExport({ id: row.id }).then((res) => {});
    },
    // 撤销
    handleRevoke(row) {
      this.$confirm(`您确定撤销单号为"${row.businessFormCode}"  的数据吗?`, '撤销').then(() => {
@@ -261,22 +254,6 @@
          this.search(1);
        });
      });
    },
    fifterForm(params) {
      this.filterFrom = Object.assign(this.filterFrom, params);
      if (this.filterFrom.createTimeStart) {
        this.filterFrom.createTimeStart = this.filterFrom.createTimeStart.replace(/\-/g, '');
      }
      if (this.filterFrom.createTimeEnd) {
        this.filterFrom.createTimeEnd = this.filterFrom.createTimeEnd.replace(/\-/g, '');
      }
      if (this.filterFrom.startTime) {
        this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, '');
      }
      if (this.filterFrom.endTime) {
        this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, '');
      }
      this.search(1);
    },
  },
};
admin-web/src/views/stock/transfer/transferissue/index.vue
@@ -24,22 +24,25 @@
                          <div v-if="item.states == 4" class="states states-info">已撤销</div>
                        </div>
                        <div class="card-header-right">
                          <el-button v-if="item.states == 1" site="form" type="success" size="mini"
                            >导出调拨出库单</el-button
                          >
                          <!--  <el-button v-if="item.states == 1" site="form" type="success" size="mini"
                                >导出调拨出库单</el-button
                              >-->
                          <el-button
                            v-if="item.states == 0"
                            site="form"
                            type="success"
                            size="mini"
                            @click="handleOutput(item)"
                            >出库</el-button
                              v-if="item.states == 0"
                              site="form"
                              type="success"
                              size="mini"
                              @click="handleOutput(item)"
                          >出库
                          </el-button
                          >
                          <el-button v-if="item.states == 2" site="form" type="primary" size="mini"
                            >导出调拨入库单</el-button
                          >
                                     @click="handleExport('transferExport',`调拨出库单-${item.businessFormCode}`,{id:item.id,type: 2})">
                            导出调拨出库单
                          </el-button>
                          <el-button name="查看详情" site="form" type="info" size="mini" @click="handleDetail(item)"
                            >查看详情</el-button
                          >查看详情
                          </el-button
                          >
                        </div>
                      </div>
@@ -79,24 +82,24 @@
              <el-empty v-else description="暂无数据"></el-empty>
            </div>
            <el-pagination
              :small="false"
              :current-page="pageNum"
              :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
              :page-size="pageSize"
              layout="total, sizes, prev, pager, next, jumper"
              :total="total"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
                :small="false"
                :current-page="pageNum"
                :page-sizes="[5, 10, 20, 50, 100, 200, 300, 400, 500]"
                :page-size="pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="total"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
            />
          </el-col>
        </el-row>
      </el-card>
    </el-container>
    <detail
      v-if="detailSetting.show"
      :setting="detailSetting"
      @close="detailSetting.show = false"
      ref="detailRef"
        v-if="detailSetting.show"
        :setting="detailSetting"
        @close="detailSetting.show = false"
        ref="detailRef"
    ></detail>
  </div>
</template>
@@ -106,19 +109,18 @@
import MyButton from '@/components/myButton/myButton';
import myImport from '@/views/components/myImport';
import detail from './detail';
import listPage from '../../../mixins/listPage';
import transfer from '../../../mixins/transfer';
import listPage from '@/views/mixins/listPage';
import transfer from '@/views/mixins/transfer';
import {commonsApi} from '@/api/commonsApi';
import SettingIplatform from '@/utils/settingIplatform';
export default {
  name: 'index',
  mixins: [listPage, transfer],
  components: { MyButton, myImport, detail },
  components: {MyButton, myImport, detail},
  data() {
    return {
      loading: false,
      adddialog: false,
      list: [],
      // 搜索框
      items: [
@@ -136,7 +138,7 @@
          placeholder: '请输入',
          defaultValue: '',
          options: [],
          cascader: [{ key: 'baseGoodsModelsId', queryKey: 'goodsTemplatesId' }],
          cascader: [{key: 'baseGoodsModelsId', queryKey: 'goodsTemplatesId'}],
          optionsConfig: {
            label: 'goodsName',
            value: 'id',
@@ -148,7 +150,7 @@
          dataIndex: 'inAgencyId',
          label: '接收机构',
          placeholder: '请选择',
          optionsConfig: { url: commonsApi.cascader_tree_fin_tenant, props: null },
          optionsConfig: {url: commonsApi.cascader_tree_fin_tenant, props: null},
          defaultValue: '',
          options: [],
        },
@@ -211,7 +213,6 @@
        this.list = res.datas;
        this.total = res.totalRows;
        this.loading = false;
        console.log(this.list);
      });
    },
    handleOutput(row) {
@@ -220,37 +221,21 @@
          if (action == 'confirm') {
            instance.confirmButtonLoading = true;
            instance.confirmButtonText = '执行中...';
            transferOutput({ id: row.id })
              .then((res) => {
                this.$message.success('调拨出库成功!');
                done();
                instance.confirmButtonLoading = false;
                this.search(1);
              })
              .catch(() => {
                done();
              });
            transferOutput({id: row.id})
                .then((res) => {
                  this.$message.success('调拨出库成功!');
                  done();
                  instance.confirmButtonLoading = false;
                  this.search(1);
                })
                .catch(() => {
                  done();
                });
          } else {
            done();
          }
        },
      });
    },
    fifterForm(params) {
      this.filterFrom = Object.assign(this.filterFrom, params);
      if (this.filterFrom.createTimeStart) {
        this.filterFrom.createTimeStart = this.filterFrom.createTimeStart.replace(/\-/g, '');
      }
      if (this.filterFrom.createTimeEnd) {
        this.filterFrom.createTimeEnd = this.filterFrom.createTimeEnd.replace(/\-/g, '');
      }
      if (this.filterFrom.startTime) {
        this.filterFrom.startTime = this.filterFrom.startTime.replace(/\-/g, '');
      }
      if (this.filterFrom.endTime) {
        this.filterFrom.endTime = this.filterFrom.endTime.replace(/\-/g, '');
      }
      this.search(1);
    },
  },
};