| New file |
| | |
| | | <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-date-picker v-model="queryParams.sTime" type="date" placeholder="开始日期" style="width: 150px;"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="结束日期"> |
| | | <el-date-picker v-model="queryParams.eTime" type="date" placeholder="结束日期" style="width: 150px;"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="日期间隔"> |
| | | <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="单据号" prop="HBillNo"> |
| | | <el-input v-model="queryParams.HBillNo" placeholder="请输入单据号" @keyup.enter.native="handleQuery" |
| | | style="width: 150px;" /> |
| | | </el-form-item> |
| | | <el-form-item label="车牌号" prop="HPlateNumber"> |
| | | <el-input v-model="queryParams.HPlateNumber" placeholder="请输入车牌号" @keyup.enter.native="handleQuery" |
| | | style="width: 120px;" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="组织" prop="HOrgID"> |
| | | <el-select v-model="queryParams.HOrgID" 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="HSupName"> |
| | | <el-input v-model="queryParams.HSupName" placeholder="请输入供应商名称" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="物料代码" prop="HMaterNumber"> |
| | | <el-input v-model="queryParams.HMaterNumber" placeholder="请输入物料代码" |
| | | @keyup.enter.native="handleQuery" /> |
| | | </el-form-item> |
| | | <el-form-item label="物料名称" prop="HMaterName"> |
| | | <el-input v-model="queryParams.HMaterName" 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"> |
| | | <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.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, copyType = 0)">编辑</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-document-copy" size="mini" :disabled="single" |
| | | @click="handleEdit(row = rowForm, OperationType = 1, copyType = 1)">复制</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-edit-outline" size="mini" :disabled="single" |
| | | @click="set_CheckBill(0, form = rowForm)">审核</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit-outline" size="mini" :disabled="single" |
| | | @click="set_CheckBill(1, form = rowForm)">反审核</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-circle-check" size="mini" :disabled="single" |
| | | @click="handleVolume(rowForm)">维护零单占用体积</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-circle-check" size="mini" :disabled="single" |
| | | @click="set_ConfirmBill">供应商确认</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit-outline" size="mini" :disabled="single" |
| | | @click="hanleCarOrDriver(form = rowForm)">分配车辆和司机</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit-outline" size="mini" :disabled="single" |
| | | @click="openDataDialog(14, form = rowForm)">分配车辆</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit-outline" size="mini" :disabled="single" |
| | | @click="openDataDialog(15, form = rowForm)">分配司机</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-circle-check" size="mini" :disabled="single" |
| | | @click="set_ConfirmOtherBill(1)">到厂确认</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-circle-check" size="mini" :disabled="single" |
| | | @click="set_ConfirmOtherBill(2)">提货确认</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-circle-check" size="mini" :disabled="single" |
| | | @click="set_ConfirmOtherBill(3)">出厂运输确认</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-circle-check" size="mini" :disabled="single" |
| | | @click="set_ConfirmOtherBill(4)">到货签收确认</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit-outline" size="mini" |
| | | @click="handlePush(row = rowForm, OperationType = 4)">下推(费用结算单)</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit-outline" size="mini" :disabled="single" |
| | | @click="set_CloseBills(1, form = rowForm)">关闭</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit-outline" size="mini" :disabled="single" |
| | | @click="set_CloseBills(2, form = rowForm)">反关闭</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit-outline" size="mini" :disabled="single" |
| | | @click="set_DropBill(1, form = rowForm)">作废</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-edit-outline" size="mini" :disabled="single" |
| | | @click="set_DropBill(2, form = rowForm)">反作废</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-printer" size="mini" @click="get_PrintReport">打印</el-button> |
| | | </el-col> |
| | | <el-col :span="1.5"> |
| | | <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport">导出</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" |
| | | @pagination="handleQuery" /> |
| | | <!-- 列设置 --> |
| | | <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.HInterID |
| | | :HSouceBillType=this.rowForm.HSourceBillType :copyType="copyType" @editClose="editClose" |
| | | v-if="editShow" /> |
| | | </el-dialog> |
| | | <!-- 打印 --> |
| | | <el-dialog title="打印模板选择" :visible.sync="openPrintList" width="800px" append-to-body> |
| | | <PrintList :linterid=this.rowForm.HInterID :MyMsg=this.rowForm.HInterID :Type='HBillType' |
| | | :HModName="HModName" @rowEditClose="rowSetClose" v-if="printListShow" /> |
| | | <!-- <div>111</div> --> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="维护零单占用体积" :visible.sync="openVolume" width="580px" append-to-body> |
| | | <el-form ref="form" :model="formVolume" :rules="rulesVolume" label-width="130px"> |
| | | <el-form-item label="单据号"> |
| | | <el-input v-model="formVolume.单据号" placeholder="请输入单据号" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="零单占用体积"> |
| | | <el-input-number v-model="formVolume.currentVolume" placeholder="请输入零单占用体积" /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="set_HScatteredVolumeList">确 定</el-button> |
| | | <el-button @click="cancelVolume">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <!-- 条码明细 --> |
| | | <BarCodeDetail :visible.sync="barCodeDetailShow" ref="barcodeDetail" /> |
| | | <!-- 包装容器出入库明细 --> |
| | | <PackStockDetail :visible.sync="packStockDetailShow" ref="packStockDetail" /> |
| | | <!-- 下推 --> |
| | | <el-dialog title="下推运单结算单" :visible.sync="openPush" width="1480px" append-to-body class="xsckdBox" |
| | | @close="close"> |
| | | <PayMentOtherBillTranEdit :OperationType='4' :propsData='pushData' |
| | | :HSouceBillType=this.rowForm.HSourceBillType @editClose="pushClose" v-if="pushShow" /> |
| | | </el-dialog> |
| | | <el-dialog :title="dialogTitle" :visible.sync="openData" width="1280px" append-to-body> |
| | | <GyCar @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyCarShow" /> |
| | | <GyDriver @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyDriverShow" /> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="deptClickSub">确 定</el-button> |
| | | <el-button @click="deptClose">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import axios from 'axios' |
| | | import moment from 'moment'; //时间格式化 |
| | | import RowSettings from '@/views/component/rowSettings' //列设置组件 |
| | | import PrintList from '@/views/component/printList' //打印组件 |
| | | import BarCodeDetail from '@/views/component/BarCodeDetail' //条码明细组件 |
| | | import PackStockDetail from '@/views/component/PackStockDetail' //条码明细组件 |
| | | import Edit from '@/views/logistics/transportGPS/Add_Edit_WL_YayBill' //编辑页面组件 |
| | | import PayMentOtherBillTranEdit from "@/views/logistics/WayBillPaymentBill/Pay_WayBillPaymentBillEdit.vue"; //编辑页面组件 |
| | | import GyCar from "@/views/basic/gyCar/gyCarList.vue" |
| | | import GyDriver from "@/views/system/user/GyDriver.vue" |
| | | export default { |
| | | name: 'WL_YayBill', |
| | | components: { BarCodeDetail, PackStockDetail, Edit, RowSettings, PrintList, PayMentOtherBillTranEdit, GyCar, GyDriver }, |
| | | data() { |
| | | return { |
| | | baseURL: process.env.VUE_APP_BASE_API, //后端接口前缀(后端服务器ip地址) |
| | | |
| | | HModName: "Cg_ContractTransportBillMainList", |
| | | HBillType: "Cg_ContractTransportBillMainList", |
| | | OperationType: null, //保存类型(新增1修改3) |
| | | copyType: 0, //复制标记。打开编辑组件时,用于区分编辑还是复制 |
| | | HInterID: null, |
| | | hPriceTypeList: ['成本价', '结算价'], |
| | | |
| | | 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 }, |
| | | ], |
| | | organizationList: JSON.parse(sessionStorage.getItem('organizationList')), //组织列表 |
| | | btList: [], //列表表头字段列表 |
| | | 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' }, |
| | | ], |
| | | |
| | | dialogTitle: '', // 弹窗标题 |
| | | title: "", // 弹出层标题 |
| | | open: false, // 是否显示弹出层 |
| | | loading: true, // 遮罩层 |
| | | rowList: [], // 选中行数据集合 |
| | | activeSeach: '', |
| | | // addBtnShow: false, //编辑组件容器显示标记 |
| | | editShow: false, //编辑组件容器显示标记 |
| | | openEdit: false, //编辑组件显示标记 |
| | | pushShow: false, |
| | | openPush: false, |
| | | pushData: '', |
| | | openPrintList: false, //打印组件容器显示标记 |
| | | printListShow: false, //打印组件显示标记 |
| | | openBtnHide: false, //按钮组件容器显示标记 |
| | | btnHideShow: false, //按钮组件显示标记 |
| | | openRowHide: false, //列设置组件显示标记 |
| | | rowHideShow: false, //列设置组件容器显示标记 |
| | | barCodeDetailShow: false, //条码明细组件容器显示标记 |
| | | packStockDetailShow: false, //包装容器出入库明细容器显示标记 |
| | | openVolume: false, //维护零单占用体积弹窗标记 |
| | | openData: false, //数据弹窗 |
| | | dialogTypeNum: null, //部门弹窗1,仓库弹窗2 |
| | | gyCarShow: false, //车辆数据组件显示标记 |
| | | gyDriverShow: false, //司机数据组件显示标记 |
| | | deptform: {}, //弹窗选中数据 |
| | | // 查询参数 |
| | | sWhere: '', // 拼接过滤条件 |
| | | queryParams: { // form数据 |
| | | HBillNo: '', |
| | | HPlateNumber: '', |
| | | HInitTimeCycle: 29, |
| | | sTime: '', |
| | | eTime: '', |
| | | HOrgID: sessionStorage["OrganizationID"] - 0, |
| | | HSupName: null, |
| | | HMaterNumber: '', |
| | | HMaterName: '', |
| | | ColName1: '', |
| | | ColName2: '', |
| | | ColName: '', |
| | | Comparator1: '', |
| | | Comparator2: '', |
| | | Comparator: '', |
| | | ColContent1: '', |
| | | ColContent2: '', |
| | | ColContent: '', |
| | | }, |
| | | page: 1, //page页索引 |
| | | pageSize: 0, //page页面记录数 |
| | | total: 0, //记录合计数 |
| | | tableShow: true, // table显示标记 |
| | | totalNameList: [], // 需要设置合计行的列数组 |
| | | tableData: [], // 列表数据。用于table监听事件 |
| | | ids: [], // 选中行的hmainid数组 |
| | | single: true, // 当选中的行数不为1时为true。用于禁用相关操作 |
| | | multiple: true, // 当选中的行数为0时为true。用于禁用相关操作 |
| | | lastSelectedRowIndex: null, // 用于记录上次点击的行索引 |
| | | lastSelectedRow: null, // 上一次选中的行 |
| | | selectedRow: null, // 当前选中的行 |
| | | rowForm: {}, // 当选中的只有一行时,更新数据为该选中的行。 |
| | | formVolume: {}, // 维护零单占用体积表单。 |
| | | rulesVolume: {}, // 维护零单占用体积表单验证。 |
| | | tyResList: [], // 列表数据,用于导出 |
| | | titleData: ["HInterID", "HEntryID", "HBillStatus", "HMaterID", "HPreventErrMouldID", "HOrgID"], // 不需要显示的字段 可扩展 |
| | | btResList: [], // 列表表头数据。用于列设置 |
| | | dataList: [], // option记录。用于当option数据无效时,用于列设置 |
| | | }; |
| | | }, |
| | | created() { |
| | | this.riqiChange() |
| | | this.handleQuery(); |
| | | }, |
| | | |
| | | methods: { |
| | | //#region 设置表头 |
| | | 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) |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 点击行 |
| | | handleRowClick(row, column, event) { |
| | | this.lastSelectedRow = this.selectedRow; // 记录上一次选中的行 |
| | | this.selectedRow = row; // 记录当前选中的行 |
| | | this.lastSelectedRowIndex = this.tableData.indexOf(row); |
| | | this.$refs.tableData.toggleRowSelection(row); |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 选中行高亮样式 |
| | | rowStyle({ row, rowIndex }) { |
| | | if (this.ids.includes(row.HInterID)) { |
| | | return { "background": "#ecf5ff" } |
| | | } |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 双击行 |
| | | handleDblclick(row, column, cell, event) { |
| | | this.OperationType = 3 |
| | | this.handleEdit() |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | // this.rowForm = {} |
| | | this.rowList = selection |
| | | this.ids = selection.map(item => item.HInterID) |
| | | this.single = selection.length != 1 |
| | | this.multiple = !selection.length |
| | | if (!this.single) { |
| | | this.rowForm = selection[0] |
| | | } |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 根据日期间隔,设置开始日期、结束日期 |
| | | 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.queryParams.sTime = yyyyS + '-' + mmS + '-' + ddS |
| | | this.queryParams.eTime = yyyyE + '-' + mmE + '-' + ddE |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 重置 |
| | | resetQuery() { |
| | | this.sWhere = '' |
| | | this.queryParams = { |
| | | HBillNo: '', |
| | | HInitTimeCycle: 29, |
| | | HSupName: null, |
| | | HMaterNumber: '', |
| | | HMaterName: '', |
| | | ColName1: '', |
| | | ColName2: '', |
| | | ColName: '', |
| | | Comparator1: '', |
| | | Comparator2: '', |
| | | Comparator: '', |
| | | ColContent1: '', |
| | | ColContent2: '', |
| | | ColContent: '', |
| | | } |
| | | this.riqiChange() |
| | | this.resetForm("queryForm") |
| | | this.handleQuery() |
| | | }, |
| | | //#endregion |
| | | //#region 权限判断 |
| | | async set_ModCheck(ModRightNameCheck) { |
| | | var Permission = false; |
| | | const res = await axios.get(this.$baseUrl + '/LMES/getReportByModRightNameCheck', { |
| | | params: { |
| | | "ModRightNameCheck": ModRightNameCheck, |
| | | "user": sessionStorage["HUserName"], |
| | | |
| | | }, |
| | | }).then(result => { |
| | | if (result.data.count != 1) { |
| | | Permission = true; |
| | | this.sWhere = this.sWhere + " and 承运商ID =" + sessionStorage["HSupID"] |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | //#endregion |
| | | //#region 快速过滤 |
| | | async handleQuery() { |
| | | this.sWhere = '' |
| | | await this.set_ModCheck("WLYayBill_SUPQuery") |
| | | 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.queryParams.sTime) { |
| | | this.queryParams.sTime = moment(this.queryParams.sTime).format('YYYY-MM-DD') |
| | | this.queryParams.eTime = moment(this.queryParams.eTime).format('YYYY-MM-DD') |
| | | this.sWhere += " and CONVERT(varchar(100),日期, 23) >= '" + this.queryParams.sTime + "'" + " and CONVERT(varchar(100),日期, 23) <= '" + this.queryParams.eTime + "'"; |
| | | } |
| | | if (this.queryParams.HBillNo) { |
| | | this.sWhere += " and 单据号 like '%" + this.queryParams.HBillNo + "%'"; |
| | | } |
| | | if (this.queryParams.HPlateNumber) { |
| | | this.sWhere += " and 车牌号 like '%" + this.queryParams.HPlateNumber + "%'"; |
| | | } |
| | | |
| | | // if (this.queryParams.HOrgID) { |
| | | // this.sWhere += " and HOrgID = '" + this.queryParams.HOrgID + "'"; |
| | | // } |
| | | console.log("swhere", this.sWhere) |
| | | this.clearData() |
| | | this.getList() |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 查询 |
| | | getList() { |
| | | this.pageSize = 50 |
| | | if (this.pageSize == 0) { |
| | | this.pageSize = 50 |
| | | } |
| | | this.tableShow = false |
| | | this.loading = true |
| | | console.log("swhere", this.sWhere) |
| | | // 列表查询 |
| | | axios.get(this.$baseUrl + '/WLYayBillController/GetListPage', { |
| | | params: { |
| | | "sWhere": this.sWhere, |
| | | "user": sessionStorage["HUserName"], |
| | | "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; |
| | | option.data = result; |
| | | let HModName = this.HModName |
| | | this.DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, this.dataList); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | |
| | | //#region 合计行数据处理 |
| | | 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; |
| | | }, |
| | | //#endregion |
| | | |
| | | //#endregion |
| | | |
| | | //#region 新增 |
| | | handleAddEdit() { |
| | | this.rowForm.HInterID = 0 |
| | | this.editShow = true |
| | | this.openEdit = true |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 编辑 |
| | | handleEdit(row) { |
| | | this.rowForm = row |
| | | this.editShow = true |
| | | this.openEdit = true |
| | | }, |
| | | editClose(val) { |
| | | this.open = val |
| | | this.editShow = false |
| | | this.openEdit = val |
| | | this.handleQuery() |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 删除 |
| | | handleDelete() { |
| | | this.$modal.confirm('确认要删除吗,删除后不能恢复').then(() => { |
| | | axios.get(this.$baseUrl + "/WLYayBillController/deleteBill", { |
| | | params: { 'HItemID': this.rowForm.HInterID.toString(), 'user': sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | if (response.data.count == 1) { |
| | | this.handleQuery() |
| | | this.$modal.msgSuccess("删除成功") |
| | | } else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error) |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }).catch(() => { }) |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 承运商确认 |
| | | set_ConfirmBill() { |
| | | var confirmMes = ""; |
| | | if (this.rowForm["承运商确认时间"] != null) { |
| | | confirmMes = "是否更新承运商确认时间?" |
| | | } else { |
| | | confirmMes = "是否确认承运商确认时间?" |
| | | |
| | | } |
| | | this.$modal.confirm(confirmMes).then(() => { |
| | | axios.get(this.$baseUrl + "/WLYayBillController/ConfrimBillNo", { |
| | | params: { 'HInterID': this.rowForm.HInterID.toString(), "IsAudit": 0, 'CurUserName': sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.count == 1) { |
| | | this.handleQuery() |
| | | this.$modal.msgSuccess(result.Message) |
| | | } else { |
| | | this.$modal.msgError(result.code + result.Message); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error) |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }).catch(() => { }) |
| | | |
| | | }, |
| | | //#endregion |
| | | //#region 其他确认 |
| | | set_ConfirmOtherBill(nums) { |
| | | var confirmMes = ""; |
| | | if (nums === 1) { |
| | | confirmMes = "是否确认到厂?" |
| | | } |
| | | else if (nums === 2) { |
| | | confirmMes = "是否确认提货?" |
| | | } |
| | | else if (nums === 3) { |
| | | confirmMes = "是否确认出厂运输?" |
| | | } |
| | | else if (nums === 4) { |
| | | confirmMes = "是否确认到货签收?" |
| | | } else { |
| | | confirmMes = "是否确认承运商确认时间?" |
| | | } |
| | | this.$modal.confirm(confirmMes).then(() => { |
| | | axios.get(this.$baseUrl + "/WLYayBillController/ConfrimOtherBillNo", { |
| | | params: { 'HInterID': this.rowForm.HInterID.toString(), "IsAudit": nums, 'CurUserName': sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.count == 1) { |
| | | this.handleQuery() |
| | | this.$modal.msgSuccess(result.Message) |
| | | } else { |
| | | this.$modal.msgError(result.code + result.Message); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error) |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }).catch(() => { }) |
| | | }, |
| | | //#endregion |
| | | //#region 维护零单占用体积 |
| | | //#region 维护零单占用体积重置 |
| | | resetVolume() { |
| | | this.formVolume = { |
| | | HInterID: 0, |
| | | HEntryID0: 0, |
| | | currentVolume: 0, |
| | | 单据号: '' |
| | | } |
| | | }, |
| | | //#endregion |
| | | //#region 维护零单占用体积重置 |
| | | handleVolume(form) { |
| | | this.resetVolume() |
| | | axios.get(this.$baseUrl + "/WLYayBillController/WL_YayBillDetail", { |
| | | params: { 'HID': form.HInterID } |
| | | }).then(response => { |
| | | console.log(response.data.data.h_v_WL_YayBillEdit) |
| | | // this.formVolume = response.data.data.h_v_WL_YayBillEdit[form.HEntryID-1] |
| | | this.formVolume = form |
| | | this.openVolume = true |
| | | }) |
| | | }, |
| | | //#endregion |
| | | //#region 下推运单费用 |
| | | SelectPayWayBill() { |
| | | this.editShow = true |
| | | this.openEdit = true |
| | | this.OperationType = 4 |
| | | }, |
| | | //关闭下推页面 |
| | | pushClose(val) { |
| | | this.open = val |
| | | this.pushShow = false |
| | | this.openPush = val |
| | | this.clearData() |
| | | this.getList() |
| | | }, |
| | | //#endregion |
| | | cancelVolume() { |
| | | this.openVolume = false |
| | | this.resetVolume() |
| | | }, |
| | | //#region 维护零单占用体积提交 |
| | | set_HScatteredVolumeList() { |
| | | axios.get(this.$baseUrl + "/WLYayBillController/updateBillMEs", { |
| | | params: { |
| | | 'HInterID': this.formVolume.HInterID.toString(), |
| | | "HEntryID": this.formVolume.HEntryID.toString(), |
| | | "ScatteredVolume": this.formVolume.currentVolume, |
| | | 'CurUserName': sessionStorage["HUserName"] |
| | | } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.count == 1) { |
| | | this.handleQuery() |
| | | this.openVolume = true |
| | | this.$modal.msgSuccess(result.Message) |
| | | } else { |
| | | this.$modal.msgError(result.code + result.Message); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error) |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | //#region 审核/反审核 |
| | | set_CheckBill(num, form) { |
| | | var InterID = form.hmainid || form.HInterID |
| | | //逻辑审核方法 |
| | | axios.get(this.$baseUrl + "/WLYayBillController/AuditWLYayBill", { |
| | | params: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.$modal.msgSuccess(result.Message); |
| | | this.handleQuery(); |
| | | } |
| | | else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message,); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | //#endregion |
| | | //#region 打开下推组件弹窗 |
| | | handlePush() { |
| | | |
| | | if (this.rowList && this.rowList.length > 0) { |
| | | var dataArray = []; |
| | | for (var i = 0; i < this.rowList.length; i++) { |
| | | if (this.rowList[i].单据状态 != "已审核") { |
| | | this.$modal.msgError("下推失败!所选单据【" + this.rowList[i].单据号 + "】不为已审核状态,不允许下推!") |
| | | return; |
| | | } |
| | | if (this.rowList[i].HQtyMust <= 0) { |
| | | this.$modal.msgError("下推失败!所选单据【" + this.rowList[i].单据号 + "】对应可下推数量必须大于 0 !") |
| | | return; |
| | | } |
| | | var temp = { |
| | | "HInterID": this.rowList[i].HInterID |
| | | , "HEntryID": this.rowList[i].HEntryID |
| | | , "HBillStatus": this.rowList[i].单据状态 |
| | | } |
| | | dataArray.push(temp); |
| | | } |
| | | var datajson = { |
| | | "data": dataArray |
| | | }; |
| | | this.pushData = JSON.stringify(datajson) |
| | | this.pushShow = true |
| | | this.openPush = true |
| | | } else { |
| | | this.$modal.msgError("请选择数据下推!") |
| | | } |
| | | }, |
| | | //#endregion |
| | | //#region 关闭/反关闭 |
| | | set_CloseBills(num) { |
| | | var InterID = form.hmainid || form.HInterID |
| | | //逻辑审核方法 |
| | | axios.get(this.$baseUrl + "/Cg_ContractTransportBillEdit/CloseCg_ContractTransportBillEdit", { |
| | | params: { "HInterID": InterID, "Type": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.$modal.msgSuccess(result.Message); |
| | | this.handleQuery(); |
| | | } |
| | | else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message,); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | //#endregion |
| | | //#region 作废/反作废 |
| | | set_DropBill(num) { |
| | | var InterID = form.hmainid || form.HInterID |
| | | //逻辑审核方法 |
| | | axios.get(this.$baseUrl + "/Cg_ContractTransportBillEdit/DropCg_ContractTransportBillEdit", { |
| | | params: { "HInterID": InterID, "Type": num, "CurUserName": sessionStorage["HUserName"] } |
| | | }).then(response => { |
| | | let result = response.data |
| | | if (result.code == 1) { |
| | | this.$modal.msgSuccess(result.Message); |
| | | this.handleQuery(); |
| | | } |
| | | else { |
| | | this.$modal.msgError("错误:" + result.code + result.Message,); |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | }, |
| | | //#endregion |
| | | //#region 列设置 |
| | | handleRowHide() { |
| | | this.rowHideShow = true |
| | | this.openRowHide = true |
| | | }, |
| | | rowSetClose(val) { |
| | | this.rowHideShow = false |
| | | this.tableShow = true |
| | | this.openRowHide = val |
| | | this.handleQuery() |
| | | }, |
| | | 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("接口请求失败!"); |
| | | }); |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 按钮设置 |
| | | handleBtnHide() { |
| | | this.btnHideShow = true |
| | | this.openBtnHide = true |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 导出 |
| | | handleExport() { |
| | | const ws = this.$XLSX.utils.json_to_sheet(this.tyResList); // 将数据转换为工作表 |
| | | const wb = this.$XLSX.utils.book_new(); // 创建一个新的工作簿 |
| | | this.$XLSX.utils.book_append_sheet(wb, ws, "Sheet1"); // 将工作表添加到工作簿中,并命名为"Sheet1" |
| | | this.$XLSX.writeFile(wb, `Cg_ContractTransportBillMainList_${new Date().getTime()}.xlsx`); // 导出文件 |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 打印 |
| | | get_PrintReport() { |
| | | if (this.ids.length != 1) { |
| | | this.$modal.msgError("请选择一行数据") |
| | | } else if (this.rowForm.单据状态 != "已审核" && !this.defaintOperationByCompanyName()) { |
| | | this.$modal.msgError("打印失败!原因:单据状态不为'已审核'状态!!"); |
| | | } else { |
| | | axios.get(this.$baseUrl + "/Kf_SellOutBill/CheckSellOutBill_IsExist", { |
| | | params: { "HInterID": this.rowForm.HInterID } |
| | | }).then(response => { |
| | | var result = response.data |
| | | if (result.count == 1) { |
| | | this.printListShow = true |
| | | this.openPrintList = true |
| | | // this.$router.push({ path:'/printList', query: { linterid: this.rowForm.hmainid,MyMsg:this.rowForm.hmainid,Type:'Kf_SellOutBillList' }}) |
| | | } else { |
| | | this.$modal.msgError(result.code + result.Message) |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | |
| | | |
| | | } |
| | | // var content= ['../../BaseSet/SRM_OpenTmpList.html?linterid=' + data[0].hmainid.toString() + '&MyMsg=' + data[0].hmainid.toString() + '&Type=Kf_SellOutBillList', 'yes'] |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 条码明细 |
| | | get_BarCodeDetail() { |
| | | // if (this.selectedRow.length !== 1) { |
| | | // this.$message.warning('请选择一行数据查看条码明细!') |
| | | // return |
| | | // } |
| | | this.barCodeDetailShow = true |
| | | this.$nextTick(() => { |
| | | this.$refs.barcodeDetail.open(this.rowForm) |
| | | }) |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 包装容器出入库明细 |
| | | get_PackStockDetail() { |
| | | // if (this.selectedRow.length !== 1) { |
| | | // this.$message.warning('请选择一行数据查看条码明细!') |
| | | // return |
| | | // } |
| | | this.packStockDetailShow = true |
| | | this.$nextTick(() => { |
| | | this.$refs.packStockDetail.open(this.rowForm) |
| | | }) |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 退出 |
| | | close() { |
| | | // this.reset() |
| | | this.tableShow = true |
| | | this.openEdit = false |
| | | this.editShow = false |
| | | this.pushShow = false |
| | | this.openPush = false |
| | | this.handleQuery() |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 获取公司名,根据公司进行定制化开发 |
| | | defaintOperationByCompanyName() { |
| | | var result = false; |
| | | axios.get(this.$baseUrl + '/Xt_getInfo/getCompanyName').then(response => { |
| | | var data1 = response.data |
| | | if (data1.count == 1) { |
| | | if (data1.data == "水务") { |
| | | result = true; |
| | | } |
| | | } |
| | | }).catch(error => { |
| | | this.$modal.msgError("接口请求失败!"); |
| | | }); |
| | | return result; |
| | | }, |
| | | //#endregion |
| | | //#region 数据弹窗 |
| | | //#region 打开数据列表弹窗 |
| | | openDataDialog(num, row) { |
| | | this.showReset() |
| | | if (num == 14) { |
| | | this.dialogTitle = '车辆列表' |
| | | this.gyCarShow = true |
| | | this.openData = true |
| | | } else if (num == 15) { |
| | | this.dialogTitle = '司机列表' |
| | | this.gyDriverShow = true |
| | | this.openData = true |
| | | } |
| | | }, |
| | | //#region 将数据弹窗全部取消加载 |
| | | showReset() { |
| | | this.gyCarShow = false |
| | | this.gyDriverShow = false |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | |
| | | //#region 弹窗数据双击返回表单赋值事件 |
| | | async dbEmitData(deptRow, num) { |
| | | let IsAudit = null |
| | | if (num == 14) { |
| | | IsAudit = 1 |
| | | } else if (num == 15) { |
| | | IsAudit = 2 |
| | | } |
| | | try { |
| | | console.log(deptRow) |
| | | const response = await axios.get(this.baseURL + '/WLYayBillController/selectDriver', { |
| | | params: { |
| | | "HInterID": this.rowForm.HInterID.toString(), |
| | | "HcheckID": deptRow.HItemID, |
| | | "IsAudit": IsAudit, |
| | | "CurUserName": sessionStorage["HUserName"] |
| | | }, |
| | | }); |
| | | if (response.data.code == 1) { |
| | | // return response.data.data[0]; |
| | | if (num == 14) { |
| | | this.gyCarShow = false |
| | | this.openData = false |
| | | this.$modal.msgSuccess(response.data.msg || "车辆添加成功"); |
| | | num = 15 |
| | | this.$nextTick(() => { |
| | | this.gyDriverShow = true |
| | | this.openData = true |
| | | }) |
| | | |
| | | } else if (num == 15) { |
| | | this.gyDriverShow = false |
| | | this.openData = false |
| | | this.$modal.msgSuccess(response.data.msg || "司机添加成功"); |
| | | } |
| | | } else { |
| | | this.$modal.msgError(response.data.msg || "请先供应商确认"); |
| | | } |
| | | } catch (error) { |
| | | this.$modal.msgError("获取源单数据时发生错误,请稍后重试!"); |
| | | } |
| | | }, |
| | | //#endregion |
| | | //#region 弹窗数据单击事件 |
| | | emitData(deptRow, num) { |
| | | this.dialogTypeNum = num |
| | | this.deptform = deptRow |
| | | }, |
| | | //#endregion |
| | | //#region 弹窗确定事件 |
| | | deptClickSub() { |
| | | this.dbEmitData(this.deptform, this.dialogTypeNum) |
| | | this.deptform = {} |
| | | }, |
| | | //#endregion |
| | | |
| | | //#region 弹窗取消事件 |
| | | deptClose() { |
| | | this.deptform = {} |
| | | this.openData = false |
| | | }, |
| | | //#endregion |
| | | //#endregion |
| | | //清除选中数据的缓存 |
| | | clearData() { |
| | | this.ids = [] |
| | | this.multiple = true |
| | | this.single = true |
| | | this.OperationType = 0 |
| | | this.copyType = 0 |
| | | }, |
| | | |
| | | } |
| | | }; |
| | | </script> |
| | | <style> |
| | | .xsckdBox .el-date-editor.el-input { |
| | | width: 100%; |
| | | } |
| | | </style> |