|
@@ -0,0 +1,789 @@
|
|
|
+<template>
|
|
|
+ <div class="app-container">
|
|
|
+ <el-row :gutter="10" class="mb8">
|
|
|
+ <div class="tabSetting">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="warning"
|
|
|
+ icon="el-icon-download"
|
|
|
+ size="mini"
|
|
|
+ @click="handleExport"
|
|
|
+ v-hasPermi="['warehouseBusiness:receivable:export']"
|
|
|
+ >导出
|
|
|
+ </el-button
|
|
|
+ >
|
|
|
+ </el-col>
|
|
|
+ <div style="margin: 0 12px">
|
|
|
+ <el-button
|
|
|
+ icon="el-icon-setting"
|
|
|
+ size="mini"
|
|
|
+ circle
|
|
|
+ @click="showSetting = !showSetting"
|
|
|
+ ></el-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-dialog title="自定义列显示" :visible.sync="showSetting" width="700px">
|
|
|
+ <div>配置排序列数据(拖动调整顺序)</div>
|
|
|
+ <div style="margin-left: 17px">
|
|
|
+ <el-checkbox
|
|
|
+ v-model="allCheck"
|
|
|
+ label="全选"
|
|
|
+ @change="allChecked"
|
|
|
+ ></el-checkbox>
|
|
|
+ </div>
|
|
|
+ <div style="padding: 4px; display: flex; justify-content: center">
|
|
|
+ <draggable
|
|
|
+ v-model="setRowList"
|
|
|
+ group="site"
|
|
|
+ animation="300"
|
|
|
+ @start="onStart"
|
|
|
+ @end="onEnd"
|
|
|
+ handle=".indraggable"
|
|
|
+ >
|
|
|
+ <transition-group>
|
|
|
+ <div
|
|
|
+ v-for="item in setRowList"
|
|
|
+ :key="item.surface"
|
|
|
+ class="listStyle"
|
|
|
+ >
|
|
|
+ <div style="width: 500px" class="indraggable">
|
|
|
+ <div class="progress" :style="{ width: item.width + 'px' }">
|
|
|
+ <el-checkbox
|
|
|
+ :label="item.name"
|
|
|
+ v-model="item.checked"
|
|
|
+ :true-label="0"
|
|
|
+ :false-label="1"
|
|
|
+ >{{ item.name }}
|
|
|
+ </el-checkbox>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <el-input-number
|
|
|
+ v-model.number="item.width"
|
|
|
+ controls-position="right"
|
|
|
+ :min="1"
|
|
|
+ :max="500"
|
|
|
+ size="mini"
|
|
|
+ ></el-input-number>
|
|
|
+ </div>
|
|
|
+ </transition-group>
|
|
|
+ </draggable>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="showSetting = false">取 消</el-button>
|
|
|
+ <el-button @click="delRow" type="danger">重 置</el-button>
|
|
|
+ <el-button type="primary" @click="save()">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+ <el-table
|
|
|
+ v-loading="loading"
|
|
|
+ :data="receivableList"
|
|
|
+ show-summary
|
|
|
+ :summary-method="getSum"
|
|
|
+ ref="table"
|
|
|
+ :height="tableHeight"
|
|
|
+ >
|
|
|
+ <!-- <el-table-column type="selection" width="55" align="center" /> -->
|
|
|
+ <el-table-column
|
|
|
+ type="index"
|
|
|
+ label="行号"
|
|
|
+ align="center"
|
|
|
+ width="80"
|
|
|
+ fixed
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ v-for="(item, index) in getRowList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :width="item.width"
|
|
|
+ :prop="item.label"
|
|
|
+ align="center"
|
|
|
+ :show-overflow-tooltip="true"
|
|
|
+ sortable
|
|
|
+ :fixed="item.fixed"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span v-if="item.label == 'fmblno'">
|
|
|
+ <el-link :underline="false" type="primary">
|
|
|
+ <div @click="goPage(scope.row)">
|
|
|
+ {{ scope.row.fmblno }}
|
|
|
+ </div></el-link>
|
|
|
+ </span>
|
|
|
+ <span v-else>{{ scope.row[item.label] }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <pagination
|
|
|
+ v-show="total > 0"
|
|
|
+ :total="total"
|
|
|
+ :page.sync="queryParams.pageNum"
|
|
|
+ :limit.sync="queryParams.pageSize"
|
|
|
+ :page-sizes="[50, 100, 200, 500, 1000]"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
+
|
|
|
+ <!-- 添加或修改库存总账对话框 -->
|
|
|
+ <!-- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>-->
|
|
|
+ <!-- <el-form ref="form" :model="form" :rules="rules" label-width="80px">-->
|
|
|
+ <!-- <el-form-item label="原始入库业务编号" prop="fOriginalbillno">-->
|
|
|
+ <!-- <el-input v-model="form.fOriginalbillno" placeholder="请输入原始入库业务编号" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="上期件数" prop="fPreqty">-->
|
|
|
+ <!-- <el-input v-model="form.fPreqty" placeholder="请输入上期件数" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="上期毛重,单位为吨,保留6位小数" prop="fPregrossweight">-->
|
|
|
+ <!-- <el-input v-model="form.fPregrossweight" placeholder="请输入上期毛重,单位为吨,保留6位小数" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="上期净重," prop="fPrenetweight">-->
|
|
|
+ <!-- <el-input v-model="form.fPrenetweight" placeholder="请输入上期净重," />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="入库件数" prop="fQtyd">-->
|
|
|
+ <!-- <el-input v-model="form.fQtyd" placeholder="请输入入库件数" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="入库尺码" prop="fVolumnd">-->
|
|
|
+ <!-- <el-input v-model="form.fVolumnd" placeholder="请输入入库尺码" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="入库毛重" prop="fGrossweightd">-->
|
|
|
+ <!-- <el-input v-model="form.fGrossweightd" placeholder="请输入入库毛重" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="入库净重" prop="fNetweightd">-->
|
|
|
+ <!-- <el-input v-model="form.fNetweightd" placeholder="请输入入库净重" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="出口尺码" prop="fVolumnc">-->
|
|
|
+ <!-- <el-input v-model="form.fVolumnc" placeholder="请输入出口尺码" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="出库件数" prop="fQtyc">-->
|
|
|
+ <!-- <el-input v-model="form.fQtyc" placeholder="请输入出库件数" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="结余件数" prop="fQtyblc">-->
|
|
|
+ <!-- <el-input v-model="form.fQtyblc" placeholder="请输入结余件数" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="出库毛重,单位为吨" prop="fGrossweightc">-->
|
|
|
+ <!-- <el-input v-model="form.fGrossweightc" placeholder="请输入出库毛重,单位为吨" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="出库净重" prop="fNetweightc">-->
|
|
|
+ <!-- <el-input v-model="form.fNetweightc" placeholder="请输入出库净重" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="结余毛重" prop="fGrossweightblc">-->
|
|
|
+ <!-- <el-input v-model="form.fGrossweightblc" placeholder="请输入结余毛重" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="结余净重" prop="fNetweightblc">-->
|
|
|
+ <!-- <el-input v-model="form.fNetweightblc" placeholder="请输入结余净重" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="箱号" prop="fCntrno">-->
|
|
|
+ <!-- <el-input v-model="form.fCntrno" placeholder="请输入箱号" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="状态,默认 T ,正常T 停用F 下拉选择">-->
|
|
|
+ <!-- <el-radio-group v-model="form.fStatus">-->
|
|
|
+ <!-- <el-radio label="1">请选择字典生成</el-radio>-->
|
|
|
+ <!-- </el-radio-group>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="删除状态" prop="delFlag">-->
|
|
|
+ <!-- <el-input v-model="form.delFlag" placeholder="请输入删除状态" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="唛头" prop="fMarks">-->
|
|
|
+ <!-- <el-input v-model="form.fMarks" placeholder="请输入唛头" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="备注" prop="remark">-->
|
|
|
+ <!-- <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- </el-form>-->
|
|
|
+ <!-- <div slot="footer" class="dialog-footer">-->
|
|
|
+ <!-- <el-button type="primary" @click="submitForm">确 定</el-button>-->
|
|
|
+ <!-- <el-button @click="cancel">取 消</el-button>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- </el-dialog>-->
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import {
|
|
|
+ generalLedgerList,
|
|
|
+ exportDrDetail,
|
|
|
+ listWhgenleg,
|
|
|
+ getWhgenleg,
|
|
|
+ delWhgenleg,
|
|
|
+ addWhgenleg,
|
|
|
+ updateWhgenleg,
|
|
|
+ exporReceivable, exportDrDetailTwo
|
|
|
+} from "@/api/reportManagement/receivable";
|
|
|
+import {listWarehouse} from "@/api/basicdata/warehouse";
|
|
|
+import {listArea} from "@/api/basicdata/area";
|
|
|
+import {listGoods} from "@/api/basicdata/goods";
|
|
|
+import {listCorps} from "@/api/basicdata/corps";
|
|
|
+import {addSet, select, resetModule} from "@/api/system/set";
|
|
|
+import Cookies from "js-cookie";
|
|
|
+import draggable from "vuedraggable";
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "generalLedgerDr",
|
|
|
+ components: {draggable},
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ pickerOptions: {
|
|
|
+ shortcuts: [{
|
|
|
+ text: '最近一周',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近一个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近三个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ tableHeight: '0',
|
|
|
+ // 货权方(客户数据)
|
|
|
+ fMblnoOptions: [],
|
|
|
+ // 贸易方式(数据字典),对应t_trademodels 字典
|
|
|
+ fTrademodeidOptions: [],
|
|
|
+ // 货物
|
|
|
+ goodsOptions: [],
|
|
|
+ // 仓库(仓库数据)
|
|
|
+ warehouseOptions: [],
|
|
|
+ kqhouseOptions: [],
|
|
|
+ // 遮罩层
|
|
|
+ loading: true,
|
|
|
+ // 显示搜索条件
|
|
|
+ showSearch: true,
|
|
|
+ // 总条数
|
|
|
+ total: 0,
|
|
|
+ // 库存总账表格数据
|
|
|
+ receivableList: [],
|
|
|
+ // 弹出层标题
|
|
|
+ title: "",
|
|
|
+ // 是否显示弹出层
|
|
|
+ open: false,
|
|
|
+ // 查询参数
|
|
|
+ queryParams: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 50,
|
|
|
+ fCorpid: null,
|
|
|
+ fMblno: null,
|
|
|
+ timeExamine: null,
|
|
|
+ fToCorpid: null,
|
|
|
+ fProductName: null,
|
|
|
+ fMarks: null,
|
|
|
+ fReconciliation: null,
|
|
|
+ fBillstatus: null,
|
|
|
+ },
|
|
|
+ // 表单参数
|
|
|
+ form: {},
|
|
|
+ // 表单校验
|
|
|
+ rules: {
|
|
|
+ fMarks: [{required: true, message: "唛头不能为空", trigger: "blur"}],
|
|
|
+ },
|
|
|
+ showSetting: false,
|
|
|
+ drag: false,
|
|
|
+ setRowList: [],
|
|
|
+ getRowList: [],
|
|
|
+ tableDate: [
|
|
|
+ {
|
|
|
+ surface: "2",
|
|
|
+ label: "ffeesName",
|
|
|
+ name: "结算单位",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "3",
|
|
|
+ label: "fmblno",
|
|
|
+ name: "提单号",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "4",
|
|
|
+ label: "fproductName",
|
|
|
+ name: "货物名称",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "5",
|
|
|
+ label: "fmarks",
|
|
|
+ name: "品牌",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "6",
|
|
|
+ label: "fBilltype",
|
|
|
+ name: "业务类型",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "7",
|
|
|
+ label: "fBstime",
|
|
|
+ name: "业务日期",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "8",
|
|
|
+ label: "fReviewDate",
|
|
|
+ name: "审核日期",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "9",
|
|
|
+ label: "storageFee",
|
|
|
+ name: "仓储费金额",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "10",
|
|
|
+ label: "otherFee",
|
|
|
+ name: "其他金额",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "11",
|
|
|
+ label: "famount",
|
|
|
+ name: "应收金额",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "12",
|
|
|
+ label: "fstlamount",
|
|
|
+ name: "实收金额",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "13",
|
|
|
+ label: "nnfinished",
|
|
|
+ name: "未收金额",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "14",
|
|
|
+ label: "faccamount",
|
|
|
+ name: "对账金额",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ surface: "15",
|
|
|
+ label: "finvamount",
|
|
|
+ name: "开票金额",
|
|
|
+ checked: 0,
|
|
|
+ width: 130,
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ allCheck: false,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.setRowList = this.tableDate;
|
|
|
+ this.getRowList = this.tableDate;
|
|
|
+ // this.getList();
|
|
|
+ this.getDicts("data_trademodes").then((response) => {
|
|
|
+ this.fTrademodeidOptions = response.data;
|
|
|
+ });
|
|
|
+ this.getRow();
|
|
|
+ },
|
|
|
+ activated() {
|
|
|
+ if (this.$route.query) {
|
|
|
+ this.getList()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ // 监听浏览器高度变化,改变表格高度
|
|
|
+ window.onresize = () => {
|
|
|
+ this.tableHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 70
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ //列设置全选
|
|
|
+ allChecked() {
|
|
|
+ if (this.allCheck == true) {
|
|
|
+ this.setRowList.map((e) => {
|
|
|
+ return (e.checked = 0);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.setRowList.map((e) => {
|
|
|
+ return (e.checked = 1);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //查询列数据
|
|
|
+ getRow() {
|
|
|
+ let that = this;
|
|
|
+ this.data = {
|
|
|
+ tableName: "应收总账",
|
|
|
+ userId: Cookies.get("userName"),
|
|
|
+ };
|
|
|
+ select(this.data).then((res) => {
|
|
|
+ if (res.data.length != 0) {
|
|
|
+ this.getRowList = res.data.filter((e) => e.checked == 0);
|
|
|
+ this.setRowList = res.data;
|
|
|
+ this.setRowList = this.setRowList.reduce((res, item) => {
|
|
|
+ res.push({
|
|
|
+ surface: item.surface,
|
|
|
+ label: item.label,
|
|
|
+ name: item.name,
|
|
|
+ checked: item.checked,
|
|
|
+ width: item.width,
|
|
|
+ fixed: item.fixed,
|
|
|
+ });
|
|
|
+ return res;
|
|
|
+ }, []);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ delRow() {
|
|
|
+ this.data = {
|
|
|
+ tableName: "应收总账",
|
|
|
+ userId: Cookies.get("userName"),
|
|
|
+ };
|
|
|
+ resetModule(this.data).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.showSetting = false;
|
|
|
+ this.setRowList = this.tableDate;
|
|
|
+ this.getRowList = this.tableDate;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //保存列设置
|
|
|
+ save() {
|
|
|
+ this.showSetting = false;
|
|
|
+ this.data = {
|
|
|
+ tableName: "应收总账",
|
|
|
+ userId: Cookies.get("userName"),
|
|
|
+ sysTableSetList: this.setRowList,
|
|
|
+ };
|
|
|
+ addSet(this.data).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.showSetting = false;
|
|
|
+ this.getRowList = this.setRowList.filter((e) => e.checked == 0);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //开始拖拽事件
|
|
|
+ onStart() {
|
|
|
+ this.drag = true;
|
|
|
+ },
|
|
|
+ //拖拽结束事件
|
|
|
+ onEnd() {
|
|
|
+ this.drag = false;
|
|
|
+ },
|
|
|
+ getSum(param) {
|
|
|
+ const {columns, data} = param;
|
|
|
+ const sums = [];
|
|
|
+ columns.forEach((column, index) => {
|
|
|
+ if (index === 0) {
|
|
|
+ sums[index] = "总计";
|
|
|
+ } else if (index === 6 || index === 7 || index === 8 || index === 9 || index === 10 || index === 11) {
|
|
|
+ const values = data.map((item) => Number(item[column.property]));
|
|
|
+ if (!values.every((value) => isNaN(value))) {
|
|
|
+ sums[index] = values.reduce((prev, curr) => {
|
|
|
+ const value = Number(curr);
|
|
|
+ if (!isNaN(value)) {
|
|
|
+ return (Number(prev) + Number(curr)).toFixed(2)
|
|
|
+ } else {
|
|
|
+ return Number(prev).toFixed(2);
|
|
|
+ }
|
|
|
+ }, 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return sums;
|
|
|
+ },
|
|
|
+
|
|
|
+ // 贸易方式(数据字典),对���t_trademodels 字典翻译
|
|
|
+ fTrademodeidFormat(row, column) {
|
|
|
+ return this.selectDictLabel(this.fTrademodeidOptions, row.fTrademodeid);
|
|
|
+ },
|
|
|
+ /* 远程模糊查询仓库 */
|
|
|
+ warehouseRemoteMethod(name) {
|
|
|
+ if (name == null || name === "") {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let queryParams = {pageNum: 1, pageSize: 10, fName: name};
|
|
|
+ listWarehouse(queryParams).then((response) => {
|
|
|
+ this.warehouseOptions = response.rows;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 远程模糊查询库区 */
|
|
|
+ kqhouseRemoteMethod(name) {
|
|
|
+ if (name == null || name === "") {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (!this.queryParams.fWarehouseid) {
|
|
|
+ this.$message.error("请输入仓库!");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ let queryParams = {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ fWarehouseid: this.queryParams.fWarehouseid,
|
|
|
+ fName: name,
|
|
|
+ };
|
|
|
+ listArea(queryParams).then((response) => {
|
|
|
+ this.kqhouseOptions = response.rows;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 远程模糊查询商品 */
|
|
|
+ goodsRemoteMethod(name) {
|
|
|
+ if (name == null || name === "") {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let queryParams = {pageNum: 1, pageSize: 10, fName: name};
|
|
|
+ listGoods(queryParams).then((response) => {
|
|
|
+ this.goodsOptions = response.rows;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /* 远程模糊查询用户 */
|
|
|
+ corpsRemoteMethod(name) {
|
|
|
+ if (name == null || name === "") {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ let queryParams = {pageNum: 1, pageSize: 10, fName: name};
|
|
|
+ listCorps(queryParams).then((response) => {
|
|
|
+ this.fMblnoOptions = response.rows;
|
|
|
+ this.KHblnoOptions = response.rows;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 查询库存总账列表 */
|
|
|
+ getList() {
|
|
|
+ this.loading = true;
|
|
|
+ this.getDicts("approval_process").then((response) => {
|
|
|
+ this.options = response.data;
|
|
|
+ });
|
|
|
+ generalLedgerList(this.$route.query).then((response) => {
|
|
|
+ this.receivableList = response.data;
|
|
|
+ // this.total = response.total;
|
|
|
+ this.loading = false;
|
|
|
+ // 根据浏览器高度设置初始高度
|
|
|
+ setTimeout(() => {
|
|
|
+ this.tableHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 70
|
|
|
+ }, 300)
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 取消按钮
|
|
|
+ cancel() {
|
|
|
+ this.open = false;
|
|
|
+ this.reset();
|
|
|
+ },
|
|
|
+ // 表单重置
|
|
|
+ reset() {
|
|
|
+ this.form = {
|
|
|
+ fAccyear: null,
|
|
|
+ fId: null,
|
|
|
+ fAccmonth: null,
|
|
|
+ fCorpid: null,
|
|
|
+ fMblno: null,
|
|
|
+ fOriginalbillno: null,
|
|
|
+ fWarehouseLocationid: null,
|
|
|
+ fGoodsid: null,
|
|
|
+ fTrademodeid: null,
|
|
|
+ fPreqty: null,
|
|
|
+ fPregrossweight: null,
|
|
|
+ fPrenetweight: null,
|
|
|
+ fQtyd: null,
|
|
|
+ fVolumnd: null,
|
|
|
+ fGrossweightd: null,
|
|
|
+ fNetweightd: null,
|
|
|
+ fVolumnc: null,
|
|
|
+ fQtyc: null,
|
|
|
+ fQtyblc: null,
|
|
|
+ fGrossweightc: null,
|
|
|
+ fNetweightc: null,
|
|
|
+ fGrossweightblc: null,
|
|
|
+ fNetweightblc: null,
|
|
|
+ fCntrno: null,
|
|
|
+ fStatus: "0",
|
|
|
+ delFlag: null,
|
|
|
+ createBy: null,
|
|
|
+ fMarks: null,
|
|
|
+ createTime: null,
|
|
|
+ updateBy: null,
|
|
|
+ updateTime: null,
|
|
|
+ remark: null,
|
|
|
+ };
|
|
|
+ this.resetForm("form");
|
|
|
+ },
|
|
|
+ /** 搜索按钮操作 */
|
|
|
+ handleQuery() {
|
|
|
+ this.queryParams.pageNum = 1;
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ /** 重置按钮操作 */
|
|
|
+ resetQuery() {
|
|
|
+ // this.resetForm("queryForm");
|
|
|
+ this.resetQueryParams();
|
|
|
+ this.handleQuery();
|
|
|
+ },
|
|
|
+ // 搜索重置
|
|
|
+ resetQueryParams() {
|
|
|
+ this.queryParams = {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 50,
|
|
|
+ fCorpid: null,
|
|
|
+ fMblno: null,
|
|
|
+ timeExamine: null,
|
|
|
+ fToCorpid: null,
|
|
|
+ fProductName: null,
|
|
|
+ fMarks: null,
|
|
|
+ fReconciliation: null,
|
|
|
+ fBillstatus: null,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /** 新增按钮操作 */
|
|
|
+ handleAdd() {
|
|
|
+ this.reset();
|
|
|
+ this.open = true;
|
|
|
+ this.title = "添加库存总账";
|
|
|
+ },
|
|
|
+ /** 提交按钮 */
|
|
|
+ submitForm() {
|
|
|
+ this.$refs["form"].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ if (this.form.fAccyear != null) {
|
|
|
+ updateWhgenleg(this.form).then((response) => {
|
|
|
+ this.msgSuccess("修改成功");
|
|
|
+ this.open = false;
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ addWhgenleg(this.form).then((response) => {
|
|
|
+ this.msgSuccess("新增成功");
|
|
|
+ this.open = false;
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 导出按钮操作 */
|
|
|
+ handleExport() {
|
|
|
+ const queryParams = this.$route.query;
|
|
|
+ this.$confirm("是否确认导出所有应收总账数据项?", "警告", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ }).then(function () {
|
|
|
+ return exportDrDetailTwo(queryParams);
|
|
|
+ })
|
|
|
+ .then((response) => {
|
|
|
+ this.download(response.msg);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 去页面
|
|
|
+ goPage(row) {
|
|
|
+ switch (row.fBilltype) {
|
|
|
+ case "入库": {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/business/inStock",
|
|
|
+ query: { id: row.fsrcpid },
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "出库": {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/business/outStock",
|
|
|
+ query: { id: row.fsrcpid },
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "调拨": {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/business/stockTransfer",
|
|
|
+ query: { id: row.fsrcpid },
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "货权转移": {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/business/stockTransfer",
|
|
|
+ query: { id: row.fsrcpid },
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "货物通关": {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/business/cargoClearance",
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "计算仓储费": {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/business/agreement",
|
|
|
+ query: { id: row.fsrcpid },
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "其他账务": {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/finance/otherFinancial",
|
|
|
+ query: { id: row.fsrcpid },
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case "场地直装": {
|
|
|
+ this.$router.push({
|
|
|
+ path: "/business/inAndOutStock",
|
|
|
+ query: { id: row.fsrcpid },
|
|
|
+ });
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ default: {
|
|
|
+ return this.$message.error("未知错误,无状态");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="scss">
|
|
|
+.tabSetting {
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-end;
|
|
|
+}
|
|
|
+
|
|
|
+.listStyle {
|
|
|
+ display: flex;
|
|
|
+ border-top: 1px solid #dcdfe6;
|
|
|
+ border-left: 1px solid #dcdfe6;
|
|
|
+ border-right: 1px solid #dcdfe6;
|
|
|
+}
|
|
|
+
|
|
|
+.listStyle:last-child {
|
|
|
+ border-bottom: 1px solid #dcdfe6;
|
|
|
+}
|
|
|
+
|
|
|
+.progress {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding: 2px;
|
|
|
+ background-color: rgba(0, 0, 0, 0.05);
|
|
|
+ height: 100%;
|
|
|
+}
|
|
|
+</style>
|