12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247 |
- // 排队开始
- <template>
- <div class="sale">
- <div class="top">
- <el-form :inline="true" style="margin-top: 1rem;">
- <el-form-item>
- <el-input
- v-model.trim="capacityNo"
- style="width:250px"
- placeholder="输入车牌号查询"
- clearable
- >
- </el-input>
- <el-button
- type="primary"
- class="btn"
- @click="onclick"
- style="margin-left: 4px;"
- clearable
- ><i class="el-icon-search"></i>查询车辆</el-button
- >
- </el-form-item>
- <el-form-item>
- <el-button
- type="primary"
- class="btn"
- @click="onclickMaterial"
- style="margin-left: 4px;"
- clearable
- ><i class="el-icon-search"></i>查询物资</el-button
- >
- </el-form-item>
- <el-form-item>
- <el-badge :value="redDotNum" class="item">
- <el-button type="primary" class="btn" @click="refresh">
- <i class="el-icon-refresh"></i>刷新
- </el-button>
- </el-badge>
- </el-form-item>
- <el-form-item
- ><el-button type="primary" class="btn" @click="allow">
- <i class="el-icon-d-arrow-right"></i>放行
- </el-button></el-form-item
- >
- <el-form-item
- ><el-button type="primary" class="btn" disabled>
- 厂内钢材车辆总数
- </el-button>
- <el-input disabled style="width:100px" v-model="steelOrderNum">
- </el-input>
- </el-form-item>
- </el-form>
- </div>
- <!-- 物资选择模态框 -->
- <el-drawer
- title="选择物资信息"
- :visible.sync="table1"
- direction="rtl"
- size="90%"
- :show-close="true"
- >
- <el-form :inline="true" style="margin-top: 0.5rem;">
- <el-form-item>
- <label class="el-form-item__label" style="width: auto;"
- >物资名称</label
- >
- </el-form-item>
- <el-form-item>
- <el-input
- placeholder="请输入内容"
- v-model="materialNameText"
- clearable
- ></el-input>
- </el-form-item>
- <el-form-item>
- <label class="el-form-item__label" style="width: auto;">规格</label>
- </el-form-item>
- <el-form-item>
- <el-input
- placeholder="请输入内容"
- v-model="materialSpecificationText"
- clearable
- ><template slot="prepend">Φ</template></el-input
- >
- </el-form-item>
- <el-button
- type="primary"
- class="btn"
- @click="onclickMaterial1"
- style="margin-left: 4px;"
- ><i class="el-icon-search"></i>查询</el-button
- >
- <el-button type="primary" @click="makeSureMaterial"
- ><i class="el-icon-check"></i>确定</el-button
- >
- </el-form>
- <div class="tablecls">
- <!-- 查询所有的物资 -->
- <dilTable
- v-bind.sync="optionMa"
- @selection-change="selectionChange2"
- @rowDbClick="rowDbClick"
- >
- </dilTable>
- </div>
- </el-drawer>
- <div class="tabs">
- <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
- <el-tab-pane label="单拼车辆排队链表" name="first">
- <el-table
- ref="mutiData"
- :data="tableData1"
- border
- :row-key="getRowKey"
- style="width: 100%; margin-top: 20px"
- @selection-change="handleSelectionChange"
- max-height="500px"
- @cell-click="cellClikSingle"
- :cell-style="cellStyleSingle"
- >
- <!-- 是否可以勾选:selectable="selectInit" -->
- <el-table-column
- type="selection"
- width="30"
- reserve-selection
- align="center"
- :selectable="selectInit"
- ></el-table-column>
- <el-table-column label="装货点" width="100">
- <template slot-scope="scope">
- <el-select
- size="mini"
- v-model="scope.row.id"
- @change="changePriority(scope.row)"
- >
- <el-option
- v-for="item in option"
- :key="item.id"
- :label="item.value"
- :value="item.id"
- >
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column
- prop="capacityNumber"
- label="车牌号"
- fit
- width="120"
- >
- </el-table-column>
- <el-table-column
- prop="listNodeOrder"
- label="序号"
- align="center"
- width="30"
- ></el-table-column>
- <el-table-column
- prop="resultStartTime"
- label="排队开始时间"
- align="center"
- width="150"
- >
- </el-table-column>
- <el-table-column
- prop="consigneeName"
- label="客户"
- fit
- show-overflow-tooltip
- width="170"
- >
- </el-table-column>
- <el-table-column
- prop="materialName"
- label="物资名称"
- min-width="180"
- >
- </el-table-column>
- <el-table-column
- prop="steelMeter"
- label="钢材长度"
- align="center"
- width="55"
- >
- </el-table-column>
- <el-table-column
- prop="materialSpecification"
- label="规格型号"
- min-width="160"
- >
- </el-table-column>
- <el-table-column
- prop="materialNumber"
- label="物资件数"
- align="center"
- width="60"
- >
- </el-table-column>
- <el-table-column prop="driverTel" label="司机电话号码" width="120">
- </el-table-column>
- <el-table-column prop="sureTime" label="可进厂确认时间" width="150">
- </el-table-column>
- <!-- <el-table-column prop="gatepostName" label="进厂门岗" width="80">
- </el-table-column> -->
- <el-table-column fixed="right" label="操作" width="150">
- <template slot-scope="scope">
- <el-button
- type="text"
- size="mini"
- @click="ctrlZQueueAllow(scope)"
- >
- 撤销放行
- </el-button>
- <el-button type="text" size="mini" @click="updateBill(scope)">
- 修改提货单
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="两拼车辆排队链表" name="fourth">
- <el-table
- :data="tableData2"
- :span-method="objectSpanMethod1"
- border
- style="width: 100%; margin-top: 20px"
- @selection-change="handleSelectionChangeSpelling"
- :row-key="getRowKey"
- max-height="500px"
- ref="twoSpellData"
- :cell-style="cellStyleTwoSpelling"
- >
- <el-table-column
- type="selection"
- width="30"
- align="center"
- reserve-selection
- :selectable="selectInitSplleing"
- ></el-table-column>
- <el-table-column label="装货点" width="100">
- <template slot-scope="scope">
- <el-select
- size="mini"
- v-model="scope.row.id"
- @change="changePriority(scope.row)"
- >
- <el-option
- v-for="item in option"
- :key="item.id"
- :label="item.value"
- :value="item.id"
- >
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column
- prop="capacityNumber"
- label="车牌号"
- fit
- align="center"
- width="120"
- >
- </el-table-column>
- <el-table-column
- prop="listNodeOrder"
- label="序号"
- align="center"
- width="30"
- ></el-table-column>
- <el-table-column
- prop="resultStartTime"
- label="排队开始时间"
- width="150"
- >
- </el-table-column>
- <el-table-column
- prop="consigneeName"
- label="客户"
- fit
- width="170"
- show-overflow-tooltip
- >
- </el-table-column>
- <el-table-column
- prop="materialName"
- label="物资名称"
- min-width="180"
- >
- </el-table-column>
- <el-table-column
- prop="steelMeter"
- label="钢材长度"
- align="center"
- width="60"
- >
- </el-table-column>
- <el-table-column
- prop="materialSpecification"
- label="规格型号"
- min-width="160"
- >
- </el-table-column>
- <el-table-column
- prop="materialNumber"
- label="物资件数"
- align="center"
- width="60"
- >
- </el-table-column>
- <el-table-column
- prop="grid"
- label="拼数"
- fit
- align="center"
- width="50"
- >
- </el-table-column>
- <el-table-column prop="driverTel" label="司机电话号码" width="120">
- </el-table-column>
- <!-- <el-table-column prop="gatepostName" label="进厂门岗" width="100">
- </el-table-column> -->
- <el-table-column prop="sureTime" label="可进厂确认时间" width="150">
- </el-table-column>
- <el-table-column fixed="right" label="操作" width="150">
- <template slot-scope="scope">
- <el-button
- type="text"
- size="mini"
- @click="ctrlZQueueAllow(scope)"
- >
- 撤销放行
- </el-button>
- <el-button type="text" size="mini" @click="updateBill(scope)">
- 修改提货单
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="多拼车辆排队链表" name="second">
- <el-table
- :data="tableData"
- :span-method="objectSpanMethod"
- border
- style="width: 100%; margin-top: 20px"
- @selection-change="handleSelectionChangeSpelling"
- :row-key="getRowKey"
- max-height="500px"
- ref="spellData"
- :cell-style="cellStyleSpelling"
- >
- <el-table-column
- type="selection"
- width="30"
- align="center"
- reserve-selection
- :selectable="selectInitSplleing"
- ></el-table-column>
- <el-table-column label="装货点" width="100">
- <template slot-scope="scope">
- <el-select
- size="mini"
- v-model="scope.row.id"
- @change="changePriority(scope.row)"
- >
- <el-option
- v-for="item in option"
- :key="item.id"
- :label="item.value"
- :value="item.id"
- >
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- <el-table-column
- prop="capacityNumber"
- label="车牌号"
- fit
- align="center"
- width="120"
- >
- </el-table-column>
- <el-table-column
- prop="listNodeOrder"
- label="序号"
- width="30"
- align="center"
- ></el-table-column>
- <el-table-column
- prop="resultStartTime"
- label="排队开始时间"
- align="center"
- width="150"
- >
- </el-table-column>
- <el-table-column
- prop="consigneeName"
- label="客户"
- fit
- width="170"
- show-overflow-tooltip
- >
- </el-table-column>
- <el-table-column
- prop="materialName"
- label="物资名称"
- align="center"
- min-width="180"
- >
- </el-table-column>
- <el-table-column
- prop="steelMeter"
- label="钢材长度"
- align="cenetr"
- width="60"
- >
- </el-table-column>
- <el-table-column
- prop="materialSpecification"
- label="规格型号"
- align="center"
- min-width="160"
- >
- </el-table-column>
- <el-table-column
- prop="materialNumber"
- label="物资件数"
- align="center"
- width="60"
- >
- </el-table-column>
- <el-table-column
- prop="grid"
- label="拼数"
- fit
- width="60"
- align="center"
- >
- </el-table-column>
- <el-table-column prop="driverTel" label="司机电话号码" width="120">
- </el-table-column>
- <!-- <el-table-column prop="gatepostName" label="进厂门岗">
- </el-table-column> -->
- <el-table-column prop="sureTime" label="可进厂确认时间" width="150">
- </el-table-column>
- <el-table-column fixed="right" label="操作" width="150">
- <template slot-scope="scope">
- <el-button
- type="text"
- size="mini"
- @click="ctrlZQueueAllow(scope)"
- >
- 撤销放行
- </el-button>
- <el-button type="text" size="mini" @click="updateBill(scope)">
- 修改提货单
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="仓库排队列表" name="third">
- <el-table
- :data="tableData3"
- border
- style="width: 100%; margin-top: 20px"
- max-height="500px"
- >
- <el-table-column
- prop="warehouseName"
- label="仓库"
- fit
- ></el-table-column>
- <el-table-column prop="carQueue" label="排队车辆"></el-table-column>
- </el-table>
- </el-tab-pane>
- </el-tabs>
- </div>
- </div>
- </template>
- <script>
- import { getCookie } from '@/utils/util.js'
- export default {
- data() {
- return {
- capacityNo: '',
- inputText: '',
- option1: {
- // 表格请求数据的地址
- requestUrl: '',
- selectionType: 'select'
- },
- optionMa: {
- // 表格请求数据的地址
- requestUrl: '',
- // 控制显示多选列
- selectionType: 'select'
- },
- activeName: 'first',
- tableData: [],
- tableData1: [],
- tableData2: [],
- tableData3: [],
- //存放每一行记录的合并数
- spanArr: [],
- spanArr1: [],
- maplist: [],
- id: null,
- option: [],
- filterArr1: [],
- table1: false,
- //物资选中表格
- materialList: [],
- //物资选中暂存
- materialList1: [],
- //物资信息查询内容
- materialNameText: null,
- materialSpecificationText: null,
- materialModelText: null,
- timer: null,
- totalQueueNum: null,
- redDotNum: null,
- i: 0,
- totalQueueNumFirst: null,
- //厂内钢材车辆总数
- steelOrderNum: 0,
- isQueryCapacity: null,
- //排队放行限制
- releaseFlag: false
- }
- },
- created() {
- this.i = 0
- this.infomation()
- this.getReleaseFlag()
- this.getSpellingArray()
- this.getNoSpellingArray()
- this.getStoreArray()
- this.getSteelOrderNum()
- this.wantEnfactory()
- this.start()
- },
- mounted() {},
- computed: {
- wantS() {
- return this.totalQueueNum
- }
- },
- beforeDestroy() {
- this.timer
- },
- watch: {
- wantS() {
- if (this.totalQueueNum - this.totalQueueNumFirst > 0) {
- this.redDotNum = this.totalQueueNum - this.totalQueueNumFirst
- }
- }
- },
- methods: {
- //获取放行限制标志
- getReleaseFlag() {
- this.axios
- .get('/api/v1/uc/getReleaseFlag')
- .then(res => {
- this.releaseFlag = res.data
- console.log(res.data, 'res')
- })
- .catch(e => {
- this.releaseFlag = false
- })
- },
- //单拼样式调整
- cellStyleSingle({ row, column, rowIndex, columnIndex }) {
- if (
- column.property == 'capacityNumber' ||
- column.property == 'materialName' ||
- column.property == 'materialSpecification'
- ) {
- return { fontSize: '16px', fontWeight: '600' }
- } else {
- return { fontSize: '15px' }
- }
- },
- cellStyleTwoSpelling({ row, column, rowIndex, columnIndex }) {
- if (
- column.property == 'capacityNumber' ||
- column.property == 'materialName' ||
- column.property == 'materialSpecification'
- ) {
- return { fontSize: '16px', fontWeight: '600' }
- } else {
- return { fontSize: '15px' }
- }
- },
- cellStyleSpelling({ row, column, rowIndex, columnIndex }) {
- if (
- column.property == 'capacityNumber' ||
- column.property == 'materialName' ||
- column.property == 'materialSpecification'
- ) {
- return { fontSize: '16px', fontWeight: '600' }
- } else {
- return { fontSize: '15px' }
- }
- },
- ctrlZQueueAllow(scope) {
- let map = {
- listId: scope.row.listId,
- resultTotalId: scope.row.resultTotalId
- }
- console.log(map)
- this.axios.post('/api/v1/qms/ctrlZQueueAllow', map).then(res => {
- if (res.data.code == 200) {
- this.$message({
- message: '撤销成功',
- type: 'success',
- duration: 2000,
- center: true,
- offset: 100
- })
- this.getNoSpellingArray()
- this.getSpellingArray()
- this.getSpellingArrayTwo()
- } else {
- this.$message({
- message: '撤销失败',
- type: 'error',
- duration: 2000,
- center: true,
- offset: 100
- })
- }
- })
- },
- wantEnfactory() {
- this.axios.get('/api/v1/uc/getQueueCount').then(res => {
- this.totalQueueNum = res.data.data
- console.log(this.totalQueueNum, 'totalQueueNum')
- if (this.i == 0) {
- this.totalQueueNumFirst = this.totalQueueNum
- }
- this.i++
- })
- },
- start() {
- this.timer = setInterval(this.wantEnfactory, 60000)
- },
- refresh() {
- this.getReleaseFlag()
- this.getSpellingArray()
- this.getNoSpellingArray()
- this.getSpellingArrayTwo()
- this.getSteelOrderNum()
- this.getStoreArray()
- this.redDotNum = null
- this.totalQueueNum = null
- this.totalQueueNumFirst = null
- this.isQueryCapacity = null
- this.maplist = []
- this.filterArr1 = []
- this.i = 0
- clearInterval(this.timer)
- this.start()
- },
- getSteelOrderNum() {
- this.axios.get('/api/v1/uc/getSteelOrderNum').then(res => {
- this.steelOrderNum = res.data.data
- })
- },
- getRowKey(row) {
- return row.ROW_ID
- },
- selectInit(row) {
- if (!this.releaseFlag) {
- return true
- }
- //单拼的可勾选控制功能在这
- //过滤出处在同一个网格上的数据
- let gridData = this.tableData1.filter(e => {
- return e.gridId === row.gridId && e.sureTime == null
- })
- //处理下maplist里面的数据
- let reallyMaplist = this.maplist.map(e => {
- return e.resultTotalId
- })
- //在maplist里面的不能进入到gridData里面来,遍历gridData移除在maplist里面的
- let reallyGridData = gridData.filter(e => {
- if (!reallyMaplist.includes(e.resultTotalId)) {
- return e
- }
- })
- //判断当前行是不是在reallyGridData的第一行,如果是就允许勾选,反之不行
- if (
- (reallyGridData.length > 0 &&
- (row.resultTotalId === reallyGridData[0].resultTotalId ||
- row.resultInsertTime != null)) ||
- reallyMaplist.includes(row.resultTotalId)
- ) {
- return true
- } else {
- return false
- }
- // if (this.maplist.length == 0) {
- // if (row.ROW_ID == 1) {
- // return true
- // } else {
- // return false
- // }
- // } else {
- // if (
- // this.maplist.some(e => {
- // return (
- // e.ROW_ID == row.ROW_ID ||
- // e.ROW_ID + 1 == row.ROW_ID ||
- // typeof row.ROW_ID == 'undefined'
- // )
- // })
- // ) {
- // return true
- // } else {
- // return false
- // }
- // }
- },
- selectInitSplleing(row) {
- if (!this.releaseFlag) {
- return true
- }
- if (this.maplist.length == 0) {
- if (row.group + 1 == 1) {
- return true
- } else {
- return false
- }
- } else {
- if (
- this.maplist.some(e => {
- return e.group == row.group || e.group + 1 == row.group
- })
- ) {
- return true
- } else {
- return false
- }
- }
- },
- rowDbClick(row) {
- this.materialList = []
- this.materialList.push(row)
- this.makeSureMaterial()
- },
- cellClikSingle(row, column, cell, event) {
- if (
- column.property == 'materialSpecification' ||
- column.property == 'materialName'
- ) {
- this.materialList = []
- this.materialList.push(row)
- this.makeSureMaterial()
- }
- },
- //物资模态框查询
- onclickMaterial1() {
- this.optionMa.requestUrl =
- '/api/v1/uc/getSteelMaterial?apiId=244&materialNameText=' +
- this.materialNameText +
- '&materialSpecificationText=' +
- this.materialSpecificationText
- },
- onclickMaterial() {
- this.table1 = true
- this.optionMa.requestUrl =
- '/api/v1/uc/getSteelMaterial?apiId=244&i=' + new Date()
- },
- //返回选中的物资信息
- selectionChange2(selection) {
- 8
- this.materialList1 = []
- this.materialList1 = selection
- this.materialList = this.materialList.concat(this.materialList1)
- },
- makeSureMaterial() {
- if (this.materialList.length > 0) {
- console.log(this.materialList)
- var materialIdList = []
- this.materialList.forEach(e => {
- if (materialIdList.indexOf(e.materialId) == -1) {
- materialIdList.push(e.materialId)
- }
- })
- let map = {
- materialList: materialIdList
- }
- // this.materialList = []
- // this.materialList1 = []
- if (this.activeName == 'first') {
- this.axios
- .post('/api/v1/qms/getQueueListByQueueUp?isSpelling=0', map)
- .then(res => {
- this.tableData1 = res.data.data
- })
- }
- this.table1 = false
- }
- },
- infomation() {
- this.axios.get('/api/v1/uc/getSteelWarehouse').then(res => {
- console.log(res.data)
- this.option = res.data
- })
- },
- //记录每一行的合并数
- getSpanArr(data) {
- //每次调用方法初始化
- this.spanArr = []
- for (var i = 0; i < data.length; i++) {
- if (i === 0) {
- this.spanArr.push(1)
- this.pos = 0
- data[i].group = i
- } else {
- // 判断当前元素与上一个元素是否相同
- if (data[i].resultTotalId === data[i - 1].resultTotalId) {
- this.spanArr[this.pos] += 1
- this.spanArr.push(0)
- data[i].group = data[i - 1].group
- } else {
- this.spanArr.push(1)
- this.pos = i
- data[i].group = data[i - 1].group + 1
- }
- }
- }
- },
- //记录每一行的合并数
- getSpanArr1(data) {
- //每次调用方法初始化
- this.spanArr1 = []
- for (var i = 0; i < data.length; i++) {
- if (i === 0) {
- this.spanArr1.push(1)
- this.pos = 0
- data[i].group = i
- } else {
- // 判断当前元素与上一个元素是否相同
- if (data[i].resultTotalId === data[i - 1].resultTotalId) {
- this.spanArr1[this.pos] += 1
- this.spanArr1.push(0)
- data[i].group = data[i - 1].group
- } else {
- this.spanArr1.push(1)
- this.pos = i
- data[i].group = data[i - 1].group + 1
- }
- }
- }
- },
- objectSpanMethod({ row, column, rowIndex, columnIndex }) {
- if (
- columnIndex === 0 ||
- columnIndex === 2 ||
- columnIndex === 3 ||
- columnIndex === 4 ||
- columnIndex === 10 ||
- columnIndex === 11 ||
- columnIndex === 12 ||
- columnIndex === 13 ||
- columnIndex === 14 ||
- columnIndex === 15
- ) {
- const _row = this.spanArr[rowIndex]
- const _col = _row > 0 ? 1 : 0
- return {
- rowspan: _row,
- colspan: _col
- }
- }
- },
- objectSpanMethod1({ row, column, rowIndex, columnIndex }) {
- if (
- columnIndex === 0 ||
- columnIndex === 2 ||
- columnIndex === 3 ||
- columnIndex === 4 ||
- columnIndex === 10 ||
- columnIndex === 11 ||
- columnIndex === 12 ||
- columnIndex === 13 ||
- columnIndex === 14 ||
- columnIndex === 15
- ) {
- const _row = this.spanArr1[rowIndex]
- const _col = _row > 0 ? 1 : 0
- return {
- rowspan: _row,
- colspan: _col
- }
- }
- },
- handleClick() {
- this.redDotNum = null
- this.totalQueueNum = null
- this.totalQueueNumFirst = null
- this.i = 0
- if (this.activeName == 'first') {
- this.getNoSpellingArray()
- } else if (this.activeName == 'second') {
- this.getSpellingArray()
- } else if (this.activeName == 'fourth') {
- this.getSpellingArrayTwo()
- } else {
- this.getStoreArray()
- }
- },
- getNoSpellingArray() {
- this.axios
- .post('/api/v1/qms/getQueueListByQueueUp?isSpelling=0&i=' + new Date())
- .then(res => {
- this.tableData1 = res.data.data
- this.isQueryCapacity = null
- console.log(this.tableData1)
- })
- },
- getSpellingArray() {
- this.axios
- .post(
- '/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=1&i=' +
- new Date()
- )
- .then(res => {
- this.tableData = res.data.data
- this.isQueryCapacity = null
- console.log(this.tableData)
- this.getSpanArr(this.tableData)
- })
- },
- getSpellingArrayTwo() {
- this.axios
- .post(
- '/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=2&i=' +
- new Date()
- )
- .then(res => {
- this.tableData2 = res.data.data
- this.isQueryCapacity = null
- console.log(this.tableData2)
- this.getSpanArr1(this.tableData2)
- })
- },
- getStoreArray() {
- this.axios.post('/api/v1/qms/getStoreQueueList').then(res => {
- this.tableData3 = res.data.data
- console.log('getStoreArray ' + JSON.stringify(this.tableData3))
- })
- },
- onclick() {
- if (this.activeName == 'first') {
- this.axios
- .post(
- '/api/v1/qms/getQueueListByQueueUp?isSpelling=0&i=' +
- new Date() +
- '&capacityNumber=' +
- this.capacityNo
- )
- .then(res => {
- this.isQueryCapacity = 1
- this.tableData1 = res.data.data
- })
- console.log('wzxxx')
- } else if (this.activeName == 'second') {
- this.axios
- .post(
- '/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=1&i=' +
- new Date() +
- '&capacityNumber=' +
- this.capacityNo
- )
- .then(res => {
- this.isQueryCapacity = 1
- this.tableData = res.data.data
- this.getSpanArr(this.tableData)
- })
- } else if (this.activeName == 'fourth') {
- this.axios
- .post(
- '/api/v1/qms/getQueueListByQueueUp?apiId=473&isSpelling=2&i=' +
- new Date() +
- '&capacityNumber=' +
- this.capacityNo
- )
- .then(res => {
- this.isQueryCapacity = 1
- this.tableData2 = res.data.data
- this.getSpanArr1(this.tableData2)
- })
- }
- },
- handleSelectionChange(selection) {
- this.maplist = []
- this.maplist = selection
- },
- handleSelectionChangeSpelling(selection) {
- this.maplist = []
- this.maplist = selection
- // console.log(selection)
- // for (let i = 0; i < this.maplist.length; i++) {
- // if (i + 1 < this.maplist.length) {
- // if (this.maplist[i].group + 1 != this.maplist[i + 1].group) {
- // this.$refs.spellData.clearSelection()
- // this.$refs.twoSpellData.clearSelection()
- // }
- // }
- // }
- // // 限制只取第一个去掉
- // if (
- // !this.maplist.some(e => {
- // return e.group == 0
- // })
- // ) {
- // this.$refs.spellData.clearSelection()
- // this.$refs.twoSpellData.clearSelection()
- // }
- },
- updateBill(scope) {
- console.log(scope.row.capacityId)
- this.$router.push(
- `/editBill/${scope.row.capacityId}/${scope.row.capacityNumber}`
- )
- },
- filterArr(resultId) {
- console.log('fdhjsaj')
- this.filterArr1 = []
- if (this.activeName == 'first') {
- this.filterArr1 = this.filterArr1.concat(
- this.tableData1.filter(ele => ele.resultId == resultId)
- )
- } else if (this.activeName == 'second') {
- this.filterArr1 = this.filterArr1.concat(
- this.tableData.filter(ele => ele.resultId == resultId)
- )
- } else if (this.activeName == 'fourth') {
- this.filterArr1 = this.filterArr1.concat(
- this.tableData2.filter(ele => ele.resultId == resultId)
- )
- }
- },
- allow() {
- if (this.maplist.length == 0) {
- this.$message({
- message: '请选择需要放行的车辆',
- type: 'error',
- duration: 2000,
- center: true,
- offset: 100
- })
- return
- }
- for (let i = 0; i < this.maplist.length; i++) {
- console.log(typeof this.maplist[i].id)
- if (
- typeof this.maplist[i].id == 'undefined' ||
- this.maplist[i].id == null ||
- this.maplist[i].id == 'null'
- ) {
- this.$message({
- message: '请选择装货点',
- type: 'error',
- duration: 2000,
- center: true,
- offset: 100
- })
- return
- }
- let warehouse = this.tableData3.find(
- value => value.materialPriority === this.maplist[i].id
- )
- console.log('warehouse', warehouse)
- if (warehouse && warehouse.carQueue >= 30) {
- this.$message({
- message: '该仓库已经有30辆车在排队,不允许放行!',
- type: 'error',
- duration: 2000,
- center: true,
- offset: 100
- })
- return
- }
- this.filterArr(this.maplist[i].resultId)
- }
- console.log(this.filterArr1, 'this.fil')
- var filterArr2 = []
- this.filterArr1.forEach(e => {
- if (filterArr2.indexOf(e) === -1) {
- filterArr2.push(e)
- }
- })
- let map = {
- ssoId: getCookie('userId'),
- mapList: filterArr2,
- isQueryCapacity: this.isQueryCapacity
- }
- if (this.activeName == 'first') {
- map.mapList = this.maplist
- }
- console.log('勾选的数据')
- console.log(map)
- this.axios
- .post('/api/v1/qms/allowEnFactory', map)
- .then(res => {
- if (res.data.code == '200') {
- this.$message({
- message: '放行成功,等待进厂',
- type: 'success',
- duration: 2000,
- center: true,
- offset: 100
- })
- this.maplist = []
- this.filterArr1 = []
- this.$refs.mutiData.clearSelection()
- this.$refs.spellData.clearSelection()
- this.$refs.twoSpellData.clearSelection()
- // this.getNoSpellingArray()
- this.makeSureMaterial()
- this.getSpellingArray()
- this.getSpellingArrayTwo()
- this.getStoreArray()
- this.redDotNum = null
- this.totalQueueNum = null
- this.totalQueueNumFirst = null
- this.i = 0
- clearInterval(this.timer)
- this.start()
- } else {
- this.$message({
- message: '请按顺序勾选',
- type: 'error',
- duration: 2000,
- center: true,
- offset: 100
- })
- this.maplist = []
- this.filterArr1 = []
- this.$refs.mutiData.clearSelection()
- this.$refs.spellData.clearSelection()
- this.$refs.twoSpellData.clearSelection()
- // this.getNoSpellingArray()
- this.makeSureMaterial()
- this.getSpellingArray()
- this.getStoreArray()
- this.getSpellingArrayTwo()
- this.redDotNum = null
- this.totalQueueNum = null
- this.totalQueueNumFirst = null
- this.i = 0
- clearInterval(this.timer)
- this.start()
- }
- })
- .catch(e => {
- console.log(e)
- this.maplist = []
- this.filterArr1 = []
- this.$refs.mutiData.clearSelection()
- this.$refs.spellData.clearSelection()
- this.$refs.twoSpellData.clearSelection()
- this.getNoSpellingArray()
- this.getSpellingArray()
- this.getStoreArray()
- this.getSpellingArrayTwo()
- this.redDotNum = null
- this.totalQueueNum = null
- this.totalQueueNumFirst = null
- this.i = 0
- clearInterval(this.timer)
- this.start()
- })
- },
- changePriority(row) {
- console.log('装货点:' + row.id)
- console.log('订单id' + row.orderId)
- console.log('物资ID' + row.materialId)
- let map = {
- id: row.id,
- orderId: row.orderId,
- materialId: row.materialId
- }
- this.axios.post('/api/v1/qms/modifyLoadWarehouse', map).then(res => {
- console.log(res)
- if (res.data.code == '200') {
- this.$message({
- message: '更新装货点成功',
- type: 'success',
- duration: 2000,
- center: true,
- offset: 100
- })
- } else {
- this.$message({
- message: '更新装货点失败',
- type: 'error',
- duration: 2000,
- center: true,
- offset: 100
- })
- }
- })
- //this.axios.post("")
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .sale {
- .top {
- width: 100%;
- height: 80px;
- display: flex;
- align-items: center;
- padding-left: 40px;
- .el-form {
- display: flex;
- justify-content: center;
- align-items: center;
- .el-form-item__label {
- align-items: center;
- line-height: 80px;
- }
- }
- }
- .input {
- width: 250px;
- margin-right: 20px;
- }
- .tabs {
- margin-left: 20px;
- margin-top: 10px;
- .tabs /deep/ .el-tabs__nav {
- font-size: 40px;
- }
- }
- }
- </style>
|