| | |
| | | <template></template> |
| | | <template> |
| | | <div style="padding: 10px; position: relative;"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="78px" class="searchBox"> |
| | | <el-form-item label="日期间隔" style="margin-left: 100px"> |
| | | <el-select v-model="queryParams.HInitTimeCycle" placeholder="请选择" @change="riqiChange" |
| | | style="width: 150px"> |
| | | <el-option v-for="(item, index) in rqsgList" :key="index" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="开始日期"> |
| | | <el-date-picker v-model="sTime" type="date" placeholder="开始日期" style="width: 150px"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="结束日期"> |
| | | <el-date-picker v-model="eTime" type="date" placeholder="结束日期" style="width: 150px"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="单据号" prop="HBillNo"> |
| | | <el-input v-model="queryParams.HBillNo" placeholder="请输入单据号" @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="组织" prop="HUSEORGID" label-width="128px"> |
| | | <el-select v-model="queryParams.HUSEORGID" placeholder="请选择"> |
| | | <el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" |
| | | :value="item.ID"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label-width="78px"> |
| | | <el-button type="primary" icon="el-icon-search" @click="handleQuery"> |
| | | 搜 索</el-button> |
| | | <el-button icon="el-icon-circle-close" @click="resetQuery">重 置</el-button> |
| | | </el-form-item> |
| | | <el-collapse v-model="activeSeach"> |
| | | <el-collapse-item title="更多" name="1"> |
| | | <el-card class="box-card"> |
| | | <el-form-item label="供应商" prop="Hname"> |
| | | <el-input v-model="queryParams.Hname" placeholder="请输入供应商" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="部门" prop="HDeptID"> |
| | | <el-input v-model="queryParams.HDeptID" placeholder="请输入部门" /> |
| | | </el-form-item> |
| | | <el-form-item label="物料代码" prop="MaterialCode"> |
| | | <el-input v-model="queryParams.MaterialCode" placeholder="请输入物料代码" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="物料名称" prop="MaterialName"> |
| | | <el-input v-model="queryParams.MaterialName" placeholder="请输入物料名称" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="规格型号" prop="SpecificationModel"> |
| | | <el-input v-model="queryParams.SpecificationModel" placeholder="请输入规格型号" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="源单单号" prop="HSourceBillNo"> |
| | | <el-input v-model="queryParams.HSourceBillNo" placeholder="请输入源单单号" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="发货仓库" prop="Warehouse"> |
| | | <el-input v-model="queryParams.Warehouse" placeholder="请输入发货仓库" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="制单人" prop="Hmaker"> |
| | | <el-input v-model="queryParams.Hmaker" placeholder="请输入制单人" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <div slot="header" class="clearfix"><span>过滤</span></div> |
| | | <div> |
| | | <el-row> |
| | | <el-form-item label-width="0"> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-select v-model="queryParams.ColName1" placeholder="请选择" |
| | | @change="riqiChange"> |
| | | <span v-for="(item, index) in btList" :key="index"> |
| | | <el-option :label="item.field" :value="item.field" |
| | | v-if="!item.hide"></el-option> |
| | | </span> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="6" style="padding: 0 10px"> |
| | | <el-select v-model="queryParams.Comparator1" placeholder="请选择" |
| | | @change="riqiChange"> |
| | | <el-option v-for="(item, index) in comparatorList" :key="index" |
| | | :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-input v-model="queryParams.ColContent1" placeholder="请输入" clearable |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-row> |
| | | <el-form-item label-width="0"> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-select v-model="queryParams.ColName2" placeholder="请选择" |
| | | @change="riqiChange"> |
| | | <span v-for="(item, index) in btList" :key="index"> |
| | | <el-option :label="item.field" :value="item.field" |
| | | v-if="!item.hide"></el-option> |
| | | </span> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="6" style="padding: 0 10px"> |
| | | <el-select v-model="queryParams.Comparator2" placeholder="请选择" |
| | | @change="riqiChange"> |
| | | <span v-for="(item, index) in btList" :key="index"> |
| | | <el-option :label="item.field" :value="item.field" |
| | | v-if="!item.hide"></el-option> |
| | | </span> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-input v-model="queryParams.ColContent2" placeholder="请输入" clearable |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form-item> |
| | | </el-row> |
| | | <el-form-item label-width="0"> |
| | | <el-row> |
| | | <el-col :span="7"> |
| | | <el-select v-model="queryParams.ColName" placeholder="请选择" @change="riqiChange"> |
| | | <el-option v-for="(item, index) in btList" :key="index" :label="item.field" |
| | | :value="item.field"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="6" style="padding: 0 10px"> |
| | | <el-select v-model="queryParams.Comparator" placeholder="请选择" |
| | | @change="riqiChange"> |
| | | <el-option v-for="(item, index) in comparatorList" :key="index" |
| | | :label="item.label" :value="item.value"></el-option> |
| | | </el-select> |
| | | </el-col> |
| | | <el-col :span="11"> |
| | | <el-input v-model="queryParams.ColContent" placeholder="请输入" clearable |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form-item> |
| | | </div> |
| | | </el-card> |
| | | </el-collapse-item> |
| | | </el-collapse> |
| | | </el-form> |
| | | <el-row :gutter="10" class="mb8" style="margin-top: 10px"> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddEdit((OperationType = 1))" |
| | | id="btn-Add">新增</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single" |
| | | @click="handleEdit((row = rowForm), (OperationType = 3))">编辑</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" @click="handleDelete">删除 |
| | | </el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-date" size="mini" @click="handleRowHide">隐藏列设置</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | <div class="tableBox" v-loading="loading"> |
| | | <el-table :data="tableData" ref="tableData" max-height="710" :summary-method="getSummaries" |
| | | @selection-change="handleSelectionChange" show-summary border @row-click="handleRowClick" |
| | | :row-style="rowStyle" @cell-dblclick="handleDblclick" v-if="tableShow"> |
| | | <template v-for="(item, index) in btList"> |
| | | <el-table-column type="selection" width="55" align="center" :fixed="item.fixed" |
| | | v-if="item.type == 'checkbox'" :key="index" /> |
| | | <el-table-column :align="item.align" :prop="item.field" :label="item.title" :width="item.width" |
| | | :key="item.id" v-else-if="!item.hide && item.type != 'checkbox'" :sortable="item.sort" |
| | | show-overflow-tooltip :fixed="item.fixed"> |
| | | <template slot-scope="{ row, column }"> |
| | | <el-checkbox v-model="checked" v-if="item.type == 'checkbox'"></el-checkbox> |
| | | <div :style="item.style"> |
| | | <span v-if="column.property.includes('日期')">{{ |
| | | parseTime(row[column.property], "{y}-{m}-{d}") |
| | | }}</span> |
| | | <el-button type="text" @click="handleEdit(row, (OperationType = 3))" |
| | | v-else-if="column.property == '单据号'">{{ row.单据号 }}</el-button> |
| | | <span v-else>{{ row[column.label] }}</span> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </template> |
| | | </el-table> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="page" :limit.sync="pageSize" |
| | | :pageSizes="pageSizes" @pagination="getList" /> |
| | | <el-dialog title="隐藏列设置" :visible.sync="openRowHide" width="816px" append-to-body> |
| | | <RowSettings :colName="btResList" :HModName="HModName" @rowEditClose="rowSetClose" v-if="rowHideShow" /> |
| | | </el-dialog> |
| | | <!-- 编辑 --> |
| | | <el-dialog title="编辑" :visible.sync="openEdit" width="1480px" append-to-body class="xsckdBox" |
| | | @close="close"> |
| | | <edit :OperationType="OperationType" :linterid="this.rowForm.hmainid" |
| | | :HSouceBillType="this.rowForm.HSourceBillType" :copyType="copyType" @editClose="editClose" |
| | | v-if="editShow" /> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import axios from "axios"; |
| | | import RowSettings from "@/views/component/rowSettings"; |
| | | import Edit from "@/views/warehouse/shipment/Kf_StockOutRequestBill.vue"; |
| | | import PrintList from "@/views/component/printList"; |
| | | import BarCodeDetail from '@/views/component/BarCodeDetail' //条码明细组件 |
| | | import moment from "moment"; |
| | | |
| | | export default { |
| | | name: "Kf_StockOutRequestBillList", |
| | | components: { RowSettings, Edit, PrintList, BarCodeDetail }, |
| | | data() { |
| | | return { |
| | | activeSeach: "", |
| | | HModName: "Kf_StockOutRequestBillList", |
| | | organizationList: JSON.parse(sessionStorage.getItem('organizationList')), |
| | | editShow: false, |
| | | openEdit: false, |
| | | totalNameList: [], |
| | | tableShow: true, |
| | | openPrintList: false, |
| | | printListShow: false, |
| | | barCodeDetailShow: false, //条码明细组件容器显示标记 |
| | | openBtnHide: false, |
| | | btnHideShow: false, |
| | | rowHideShow: false, |
| | | openRowHide: false, |
| | | copyType: 0, |
| | | comparatorList: [ |
| | | { label: "=", value: "=" }, |
| | | { label: ">=", value: ">=" }, |
| | | { label: ">", value: ">" }, |
| | | { label: "<=", value: "<=" }, |
| | | { label: "<", value: "<" }, |
| | | { label: "<>", value: "<>" }, |
| | | { label: "包含", value: "7" }, |
| | | { label: "左包含", value: "8" }, |
| | | { label: "右包含", value: "9" }, |
| | | { label: "不包含", value: "10" }, |
| | | ], |
| | | sWhere: "", |
| | | sTime: "", |
| | | eTime: "", |
| | | rqsgList: [ |
| | | { label: "今天", value: 0 }, |
| | | { label: "近两天", value: 1 }, |
| | | { label: "近三天", value: 2 }, |
| | | { label: "近四天", value: 3 }, |
| | | { label: "近五天", value: 4 }, |
| | | { label: "近六天", value: 5 }, |
| | | { label: "近七天", value: 6 }, |
| | | { label: "近30天", value: 29 }, |
| | | { label: "近半年", value: 180 }, |
| | | { label: "近一年", value: 365 }, |
| | | ], |
| | | hPriceTypeList: ["成本价", "结算价"], |
| | | addBtnShow: false, |
| | | dialogTitle: "", |
| | | OperationType: null, //保存类型(新增1修改3) |
| | | HInterID: null, |
| | | baseURL: process.env.VUE_APP_BASE_API, |
| | | lastSelectedRowIndex: null, // 用于记录上次点击的行索引 |
| | | lastSelectedRow: null, // 上一次选中的行 |
| | | selectedRow: null, // 当前选中的行 |
| | | rowForm: {}, |
| | | // 弹出层标题 |
| | | title: "", |
| | | // 是否显示弹出层 |
| | | open: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | HBillNo: "", |
| | | HUSEORGID: sessionStorage["OrganizationID"] - 0, |
| | | HInitTimeCycle: 29, |
| | | HDeptID: "", |
| | | MaterialCode: "", |
| | | MaterialName: "", |
| | | SpecificationModel: "", |
| | | HSourceBillNo: "", |
| | | Warehouse: "", |
| | | Hmaker: "", |
| | | Hname: "", |
| | | HMangerID: "", |
| | | ColName1: "", |
| | | ColName2: "", |
| | | ColName: "", |
| | | Comparator1: "", |
| | | Comparator2: "", |
| | | Comparator: "", |
| | | ColContent1: "", |
| | | ColContent2: "", |
| | | ColContent: "", |
| | | }, |
| | | // 选中数组 |
| | | ids: [], |
| | | // 非单个禁用 |
| | | single: true, |
| | | // 非多个禁用 |
| | | multiple: true, |
| | | // 遮罩层 |
| | | loading: true, |
| | | tyResList: [], //销售出库列表(接口数据) |
| | | btList: [], //销售出库表头列表显示 |
| | | btResList: [], |
| | | tableData: [], //销售出库列表(分页显示) |
| | | dataList: [], |
| | | titleData: [ |
| | | "hmainid", "HBillType", "HSupID", "HCurID", "HDeptID", "HManagerID", "HEmpID", "hsubid", "HMaterID", "HUnitID", "HWHID", "HSPID" |
| | | ], //不需要显示的字段 可扩展 |
| | | pageSizes: [50, 100, 500, 5000, 50000], |
| | | page: 1, |
| | | pageSize: 0, |
| | | total: 0, |
| | | }; |
| | | }, |
| | | created() { |
| | | // this.fetchData() |
| | | this.riqiChange(); |
| | | this.getList(); |
| | | }, |
| | | |
| | | methods: { |
| | | getSummaries(param) { |
| | | const { columns, data } = param; |
| | | const sums = []; |
| | | columns.forEach((column, index) => { |
| | | if (index === 0) { |
| | | sums[index] = "合计"; |
| | | return; |
| | | } |
| | | const values = data.map((item) => Number(item[column.property])); |
| | | if (this.totalNameList[index].totalRow) { |
| | | if (!values.every((value) => isNaN(value))) { |
| | | sums[index] = values.reduce((prev, curr) => { |
| | | const value = Number(curr); |
| | | if (!isNaN(value)) { |
| | | return prev + curr; |
| | | } else { |
| | | return prev; |
| | | } |
| | | }, 0); |
| | | } else { |
| | | sums[index] = ""; |
| | | } |
| | | } |
| | | }, 1000); |
| | | return sums; |
| | | }, |
| | | |
| | | handleBtnHide() { |
| | | this.btnHideShow = true; |
| | | this.openBtnHide = true; |
| | | }, |
| | | handleRowHide() { |
| | | this.rowHideShow = true; |
| | | this.openRowHide = true; |
| | | }, |
| | | rowSetClose(val) { |
| | | this.rowHideShow = false; |
| | | this.tableShow = true; |
| | | this.openRowHide = val; |
| | | this.getList(); |
| | | }, |
| | | riqiChange() { |
| | | const end = new Date(); |
| | | const start = new Date(); |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * this.queryParams.HInitTimeCycle); |
| | | const yyyyS = start.getFullYear(); |
| | | const mmS = String(start.getMonth() + 1).padStart(2, "0"); // 月份是从0开始的 |
| | | const ddS = String(start.getDate()).padStart(2, "0"); |
| | | const yyyyE = end.getFullYear(); |
| | | const mmE = String(end.getMonth() + 1).padStart(2, "0"); // 月份是从0开始的 |
| | | const ddE = String(end.getDate()).padStart(2, "0"); |
| | | this.sTime = yyyyS + "-" + mmS + "-" + ddS; |
| | | this.eTime = yyyyE + "-" + mmE + "-" + ddE; |
| | | }, |
| | | getList() { |
| | | this.pageSize = 50; |
| | | this.tableShow = false; |
| | | this.loading = true; |
| | | if (this.sTime) { |
| | | this.sWhere += " and CONVERT(varchar(100),日期, 23) >= '" + this.sTime + "'"; |
| | | this.sWhere += " and CONVERT(varchar(100),日期, 23) <= '" + this.eTime + "'"; |
| | | } |
| | | if (this.pageSize == 0) { |
| | | this.pageSize = 50; |
| | | } |
| | | // 列表 |
| | | axios.get(this.baseURL + "/Kf_POStockInBackBill/list", { |
| | | params: { |
| | | sWhere: this.sWhere, |
| | | user: sessionStorage["HUserName"], |
| | | Organization: sessionStorage["Organization"], |
| | | page: this.page, |
| | | size: this.pageSize, |
| | | }, |
| | | }) |
| | | .then((response) => { |
| | | this.tyResList = response.data.data; //总数据 |
| | | let data1 = response.data; |
| | | let option = []; |
| | | if (data1.code == 1) { |
| | | this.btResList = data1.list; //接口表头数据 |
| | | this.total = data1.count; |
| | | var data = []; //列字段数据 |
| | | var col = []; |
| | | var totalArray = ["金额","采购金额","应退数量","实退数量"]; |
| | | //给空的数组赋值 |
| | | for (var key in data1.list) { |
| | | //循序遍历数组 |
| | | data.push({ |
| | | id: data1.list[key].ColmCols, |
| | | name: data1.list[key].ColmCols, |
| | | Type: data1.list[key].ColmType, |
| | | }); //从每个对象中提取数据 |
| | | } |
| | | //在列表左边添加勾选框 |
| | | col.push({ type: "checkbox", fixed: "left", totalRowText: "合计" }); |
| | | for (var i = 0; i < data.length; i++) { |
| | | //遍历data数组重的数据 |
| | | if (this.titleData.indexOf(data[i].name) > -1) { |
| | | //检查data【i】.name是否在数组中 //计算列 |
| | | col.push({ |
| | | field: data[i].id, |
| | | title: data[i].name, |
| | | align: "center", |
| | | hide: true, |
| | | }); //隐藏id列 |
| | | } else if ( |
| | | totalArray.indexOf(data[i].name) > -1 || |
| | | data[i].Type == "Decimal" || |
| | | data[i].Type == "Int32" |
| | | ) { |
| | | //计算列 |
| | | col.push({ |
| | | field: data[i].id, |
| | | title: data[i].name, |
| | | align: "center", |
| | | sort: true, |
| | | totalRow: true, |
| | | width: 120, |
| | | }); |
| | | } else { |
| | | col.push({ |
| | | field: data[i].id, |
| | | title: data[i].name, |
| | | align: "center", |
| | | sort: true, |
| | | width: 200, |
| | | }); |
| | | } |
| | | } |
| | | option.cols = [col]; |
| | | this.dataList = option; |
| | | option.data = data1.data; |
| | | var result = data1.data; |
| | | var temp = ""; |
| | | for (var i = 0; i < result.length; i++) { |
| | | if (temp != result[i]["hmainid"]) { |
| | | temp = result[i]["hmainid"]; |
| | | } else { |
| | | result[i].日期 = null; |
| | | result[i].单据号 = ""; |
| | | /*result[i].状态 = "";*/ |
| | | result[i].红蓝单标记 = ""; |
| | | result[i].hsupid = ""; |
| | | result[i].客户 = ""; |
| | | result[i].HEmpID = ""; |
| | | result[i].业务员 = ""; |
| | | result[i].hmanagerid = ""; |
| | | result[i].主管 = ""; |
| | | result[i].hsecmanagerid = ""; |
| | | result[i].发货人 = ""; |
| | | result[i].hkeeperid = ""; |
| | | result[i].保管员 = ""; |
| | | result[i].HDeptID = ""; |
| | | result[i].部门 = ""; |
| | | result[i].销售方式 = ""; |
| | | } |
| | | } |
| | | option.data = result; |
| | | this.DisPlay_HideColumn(this.HModName, sessionStorage["HUserName"], option, this.dataList); |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | DisPlay_HideColumn(HModName, user, option, dataOption) { |
| | | this.totalNameList = []; |
| | | axios |
| | | .get(this.baseURL + "/Xt_grdAlignment_WMES/grdAlignmentWMESList", { |
| | | params: { |
| | | HModName: HModName, |
| | | user: user, |
| | | }, |
| | | }) |
| | | .then((res) => { |
| | | let data1 = res.data; |
| | | if (data1.data.length != 0) { |
| | | var dataCol = []; //数据库查询出的列数据 |
| | | var newCols = [[]]; //对应数据库列顺序col |
| | | newCols[0].push(option.cols[0][0]); //放入第一个checkbox |
| | | dataCol = data1.data[0].HGridString.split(","); |
| | | //列设置列数与页面列数是否一致 |
| | | if (dataCol.length == option.cols[0].length - 1) { |
| | | //遍历寻找列设置对应列按顺序插入 |
| | | for (var j = 0; j < option.cols[0].length - 1; j++) { |
| | | for (var i = 0; i < option.cols[0].length - 1; i++) { |
| | | var dataCols = dataCol[j].split("|"); |
| | | //选择与datacols相应列进行修改 |
| | | if (option.cols[0][i + 1]["field"] == dataCols[5]) { |
| | | //隐藏列 |
| | | if (dataCols[1] == 1) { |
| | | option.cols[0][i + 1]["hide"] = true; |
| | | } |
| | | //设置列宽 |
| | | if (dataCols[3] > 0) { |
| | | option.cols[0][i + 1]["width"] = dataCols[3]; |
| | | } |
| | | //设置内容字体大小 |
| | | if (data1.data[0].HFontSize != 0) { |
| | | option.cols[0][i + 1]["style"] = |
| | | "font-size:" + data1.data[0].HFontSize + "px;"; |
| | | } else { |
| | | option.cols[0][i + 1]["style"] = "font-size:100%"; |
| | | } |
| | | //显示列 |
| | | if ( |
| | | dataCols[1] == 0 && |
| | | this.titleData.indexOf(option.cols[0][i + 1]["title"]) == -1 |
| | | ) { |
| | | option.cols[0][i + 1]["hide"] = false; |
| | | } |
| | | //统计列 |
| | | if (dataCols[6] == 1) { |
| | | option.cols[0][i + 1]["totalRow"] = true; |
| | | } else { |
| | | option.cols[0][i + 1]["totalRow"] = false; |
| | | } |
| | | //字体所在位置(左 居中 右) |
| | | switch (dataCols[2]) { |
| | | case "L": |
| | | option.cols[0][i + 1]["align"] = "left"; |
| | | break; |
| | | case "M": |
| | | option.cols[0][i + 1]["align"] = "center"; |
| | | break; |
| | | case "R": |
| | | option.cols[0][i + 1]["align"] = "right"; |
| | | break; |
| | | } |
| | | //设置表格title属性显示别名 |
| | | if (dataCols[4] != null && dataCols[4] != "") { |
| | | option.cols[0][i + 1]["title"] = dataCols[4]; |
| | | } |
| | | newCols[0].push(option.cols[0][i + 1]); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | //遍历循环后判断对应列数是否一致 |
| | | if (dataCol.length == newCols[0].length - 1) { |
| | | option.cols = newCols; |
| | | //取消冻结列 |
| | | for (var i = 1; i < option.cols[0].length - 1; i++) { |
| | | if (option.cols[0][i + 1]["fixed"] != null) { |
| | | option.cols[0][i + 1]["fixed"] = null; |
| | | } else { |
| | | break; |
| | | } |
| | | } |
| | | //冻结列 |
| | | if (data1.data[0].HFixCols != 0) { |
| | | for (var i = 0; i < data1.data[0].HFixCols; i++) { |
| | | if ( |
| | | dataOption.cols[0].indexOf(option.cols[0][i + 1]["title"]) != -1 |
| | | ) { |
| | | data1.data[0].HFixCols += 1; |
| | | } |
| | | |
| | | option.cols[0][i + 1]["fixed"] = "left"; |
| | | } |
| | | } |
| | | //设置列排序 |
| | | for (var i = 1; i < option.cols[0].length; i++) { |
| | | if (data1.data[0].HSortFlag == "是") { |
| | | option.cols[0][i]["sort"] = true; |
| | | } else { |
| | | option.cols[0][i]["sort"] = false; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | this.btList = option.cols[0]; |
| | | this.btList.map((item) => { |
| | | if (!item.hide) { |
| | | this.totalNameList.push(item); |
| | | } |
| | | }); |
| | | if (data1.data[0].HPageSize == 0) { |
| | | this.pageSize = 50; |
| | | } else { |
| | | this.pageSize = data1.data[0].HPageSize; |
| | | } |
| | | this.tableData = option.data; |
| | | this.tableShow = true; |
| | | this.loading = false; |
| | | } else { |
| | | this.btList = dataOption.cols[0]; |
| | | this.btList.map((item) => { |
| | | if (!item.hide) { |
| | | this.totalNameList.push(item); |
| | | } |
| | | }); |
| | | this.tableData = dataOption.data; |
| | | this.tableShow = true; |
| | | this.loading = false; |
| | | } |
| | | }) |
| | | .catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | renderHeader(h, { column, $index }) { |
| | | // 新建一个 span |
| | | let span = document.createElement(span); // 设置表头名称 |
| | | span.innerText = column.label; |
| | | //临时插入 document |
| | | document.body.appendChild(span); // 重点:获取 span 最小宽度,设置当前列,注意这里加了 20,字段较多时column.minWidth=span.getBoundingClientRect().width + 50.//移除 document 中临时的 span |
| | | document.body.removeChild(span); |
| | | return h(span, column.label); |
| | | }, |
| | | //点击行 |
| | | handleRowClick(row, column, event) { |
| | | this.lastSelectedRow = this.selectedRow; // 记录上一次选中的行 |
| | | this.selectedRow = row; // 记录当前选中的行 |
| | | this.lastSelectedRowIndex = this.tableData.indexOf(row); |
| | | this.$refs.tableData.toggleRowSelection(row); |
| | | }, |
| | | //选中行高亮样式 |
| | | rowStyle({ row, rowIndex }) { |
| | | if (this.ids.includes(row.hmainid)) { |
| | | return { background: "#ecf5ff" }; |
| | | } |
| | | }, |
| | | //双击行 |
| | | handleDblclick(row, column, cell, event) { |
| | | this.OperationType = 3; |
| | | this.handleEdit(); |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | // this.rowForm = {} |
| | | this.ids = selection.map((item) => item.hmainid); |
| | | this.single = selection.length != 1; |
| | | this.multiple = !selection.length; |
| | | if (!this.single) { |
| | | this.rowForm = selection[0]; |
| | | } |
| | | }, |
| | | /** 搜索按钮操作 */ |
| | | handleQuery() { |
| | | this.sWhere = ""; |
| | | if (this.queryParams.ColName && this.queryParams.Comparator) { |
| | | var com = ""; |
| | | switch (this.queryParams.Comparator) { |
| | | case "7": |
| | | com = "like'%" + this.queryParams.ColContent + "%'"; |
| | | break; |
| | | case "8": |
| | | com = "like'%" + this.queryParams.ColContent + "'"; |
| | | break; |
| | | case "9": |
| | | com = "like'" + this.queryParams.ColContent + "%'"; |
| | | break; |
| | | case "10": |
| | | com = "not like'%" + this.queryParams.ColContent + "%'"; |
| | | break; |
| | | default: |
| | | com = |
| | | "" + this.queryParams.Comparator + "'" + this.queryParams.ColContent + "'"; |
| | | break; |
| | | } |
| | | this.sWhere += " and " + this.queryParams.ColName + " " + com; |
| | | } |
| | | if (this.queryParams.ColName1 && this.queryParams.Comparator1) { |
| | | var com1 = ""; |
| | | switch (this.queryParams.Comparator1) { |
| | | case "7": |
| | | com1 = "like'%" + this.queryParams.ColContent1 + "%'"; |
| | | break; |
| | | case "8": |
| | | com1 = "like'%" + this.queryParams.ColContent1 + "'"; |
| | | break; |
| | | case "9": |
| | | com1 = "like'" + this.queryParams.ColContent1 + "%'"; |
| | | break; |
| | | case "10": |
| | | com1 = "not like'%" + this.queryParams.ColContent1 + "%'"; |
| | | break; |
| | | default: |
| | | com1 = |
| | | "" + |
| | | this.queryParams.Comparator1 + |
| | | "'" + |
| | | this.queryParams.ColContent1 + |
| | | "'"; |
| | | break; |
| | | } |
| | | this.sWhere += " and " + this.queryParams.ColName1 + " " + com1; |
| | | } |
| | | if (this.queryParams.ColName2 && this.queryParams.Comparator2) { |
| | | var com2 = ""; |
| | | switch (this.queryParams.Comparator2) { |
| | | case "7": |
| | | com2 = "like'%" + this.queryParams.ColContent2 + "%'"; |
| | | break; |
| | | case "8": |
| | | com2 = "like'%" + this.queryParams.ColContent2 + "'"; |
| | | break; |
| | | case "9": |
| | | com2 = "like'" + this.queryParams.ColContent2 + "%'"; |
| | | break; |
| | | case "10": |
| | | com2 = "not like'%" + this.queryParams.ColContent2 + "%'"; |
| | | break; |
| | | default: |
| | | com2 = |
| | | "" + this.queryParams.Comparator + "'" + this.queryParams.ColContent + "'"; |
| | | break; |
| | | } |
| | | this.sWhere += " and " + this.queryParams.ColName2 + " " + com2; |
| | | } |
| | | if (this.sTime) { |
| | | this.sTime = moment(this.sTime).format("YYYY-MM-DD"); |
| | | this.eTime = moment(this.eTime).format("YYYY-MM-DD"); |
| | | console.log(this.sTime, this.eTime); |
| | | this.sWhere += |
| | | " and CONVERT(varchar(100),日期, 23) >= '" + |
| | | this.sTime + |
| | | "'" + |
| | | " and CONVERT(varchar(100),日期, 23) <= '" + |
| | | this.eTime + |
| | | "'"; |
| | | } |
| | | if (this.queryParams.HBillNo) { |
| | | this.sWhere += " and 单据号 like '%" + this.queryParams.HBillNo + "%'"; |
| | | } |
| | | if (this.queryParams.Hname) { |
| | | this.sWhere += " and 供应商 like '%" + this.queryParams.Hname + "%'"; |
| | | } |
| | | if (this.queryParams.HDeptID) { |
| | | this.sWhere += " and 部门 like '%" + this.queryParams.HDeptID + "%'"; |
| | | } |
| | | if (this.queryParams.HWHID) { |
| | | this.sWhere += " and 仓库 like '%" + this.queryParams.HWHID + "%'"; |
| | | } |
| | | if (this.queryParams.MaterialCode) { |
| | | this.sWhere += " and 物料代码 like '%" + this.queryParams.MaterialCode + "%'"; |
| | | } |
| | | if (this.queryParams.MaterialName) { |
| | | this.sWhere += " and 物料名称 like '%" + MaterialName + "%'"; |
| | | } |
| | | if (this.queryParams.SpecificationModel) { |
| | | this.sWhere += " and 规格型号 like '%" + SpecificationModel + "%'"; |
| | | } |
| | | if (this.queryParams.HSourceBillNo) { |
| | | this.sWhere += " and 源单单号 like '%" + HSourceBillNo + "%'"; |
| | | } |
| | | if (this.queryParams.Warehouse) { |
| | | this.sWhere += " and 发货仓库 like '%" + Warehouse + "%'"; |
| | | } |
| | | if (this.queryParams.Hmaker) { |
| | | this.sWhere += " and 制单人 like '%" + Hmaker + "%'"; |
| | | } |
| | | if (this.queryParams.HUSEORGID) { |
| | | this.sWhere += " and HOrgID like '%" + HUSEORGID + "%'"; |
| | | } |
| | | this.getList(); |
| | | }, |
| | | /** 重置按钮操作 */ |
| | | resetQuery() { |
| | | this.sWhere = ""; |
| | | this.queryParams = { |
| | | HBillNo: "", |
| | | HInitTimeCycle: 29, |
| | | HProjectNumber: "", |
| | | HCusID: null, |
| | | HMaterNumber: "", |
| | | HMaterName: "", |
| | | ColName1: "", |
| | | ColName2: "", |
| | | ColName: "", |
| | | Comparator1: "", |
| | | Comparator2: "", |
| | | Comparator: "", |
| | | ColContent1: "", |
| | | ColContent2: "", |
| | | ColContent: "", |
| | | }; |
| | | this.riqiChange(); |
| | | this.resetForm("queryForm"); |
| | | this.getList(); |
| | | }, |
| | | |
| | | //退出 |
| | | close() { |
| | | // this.reset() |
| | | this.tableShow = true; |
| | | this.openEdit = false; |
| | | this.editShow = false; |
| | | this.getList(); |
| | | }, |
| | | //打开新增组件弹窗 |
| | | handleAddEdit() { |
| | | this.rowForm.hmainid = 0; |
| | | this.editShow = true; |
| | | this.openEdit = true; |
| | | }, |
| | | //打开修改组件弹窗 |
| | | handleEdit(row) { |
| | | this.rowForm = row; |
| | | this.editShow = true; |
| | | this.openEdit = true; |
| | | }, |
| | | //关闭编辑页面 |
| | | editClose(val) { |
| | | this.open = val; |
| | | this.editShow = false; |
| | | this.openEdit = val; |
| | | this.getList(); |
| | | }, |
| | | /** 删除按钮操作 */ |
| | | handleDelete() { |
| | | this.$modal.confirm("确认要删除吗,删除后不能恢复").then(() => { |
| | | axios.get(this.baseURL + "/Kf_POStockInBackBill/DeltetKf_POStockInBackBill", { |
| | | params: { |
| | | HInterID: this.rowForm.hmainid.toString(), |
| | | user: sessionStorage["HUserName"], |
| | | }, |
| | | }).then((response) => { |
| | | if (response.data.count == 1) { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("删除成功"); |
| | | } else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message); |
| | | } |
| | | }).catch((error) => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }).catch(() => { }); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style> |
| | | .xsckdBox .el-date-editor.el-input { |
| | | width: 100%; |
| | | } |
| | | </style> |