作者 朱兆平

Merge remote-tracking branch 'origin/master'

@@ -17,7 +17,7 @@ export const remove = params => { return axios({ @@ -17,7 +17,7 @@ export const remove = params => { return axios({
17 })}; 17 })};
18 18
19 //批量删除 19 //批量删除
20 -export const batchRemove = params => { return axios.get(`${base}/user/batchremove`, { params: params }); }; 20 +export const batchRemove = params => { return axios.post(`${base}/batchremove`, params ); };
21 21
22 export const edit = params => { return axios({ 22 export const edit = params => { return axios({
23 method: 'PUT', 23 method: 'PUT',
@@ -130,6 +130,47 @@ @@ -130,6 +130,47 @@
130 <el-dialog :title="dialogMap[dialogApply]" :visible.sync="apply_dialog.addDialog" width="70%" > 130 <el-dialog :title="dialogMap[dialogApply]" :visible.sync="apply_dialog.addDialog" width="70%" >
131 <el-form :model="addForm" :rules="rules" ref="addForm" style="margin-top: 40px"> 131 <el-form :model="addForm" :rules="rules" ref="addForm" style="margin-top: 40px">
132 <el-row> 132 <el-row>
  133 + <el-col :span="12">
  134 + <el-form-item label="" :label-width="formLabelWidth" prop="stationid">
  135 + <div class="my-text-area">
  136 + <div class="el-input-group__prepend prepand">所属场站</div>
  137 + <el-select v-model="addForm.stationid" v-if="this.dis === 'create'"
  138 + filterable
  139 + allow-create
  140 + default-first-option
  141 + remote autocomplete="off" size="small"
  142 + :remote-method="getStationno"
  143 + :loading="loading" placeholder="请输入场站id" style="width: 170px">
  144 + <el-option
  145 + v-for="item in stationids"
  146 + :key="item.stationno"
  147 + :label="item.stationname"
  148 + :value="item.stationno">
  149 + <span style="float: left">{{ item.stationname }}</span>
  150 + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.stationno }}</span>
  151 + </el-option>
  152 + </el-select>
  153 + <el-select v-model="addForm.stationid" v-else disabled
  154 + filterable
  155 + allow-create
  156 + default-first-option
  157 + remote autocomplete="off" size="small"
  158 + :remote-method="getStationno"
  159 + :loading="loading" placeholder="请输入场站id" style="width: 170px">
  160 + <el-option
  161 + v-for="item in stationids"
  162 + :key="item.stationno"
  163 + :label="item.stationname"
  164 + :value="item.stationno">
  165 + <span style="float: left">{{ item.stationname }}</span>
  166 + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.stationno }}</span>
  167 + </el-option>
  168 + </el-select>
  169 + </div>
  170 + </el-form-item>
  171 + </el-col>
  172 + </el-row>
  173 + <el-row>
133 <el-col :span="9"> 174 <el-col :span="9">
134 <el-form-item label="" :label-width="formLabelWidth" prop="houseid"> 175 <el-form-item label="" :label-width="formLabelWidth" prop="houseid">
135 <el-input v-if="this.dis === 'create'" v-model="addForm.houseid" autocomplete="off" size="small" style="width: 260px"> 176 <el-input v-if="this.dis === 'create'" v-model="addForm.houseid" autocomplete="off" size="small" style="width: 260px">
@@ -173,26 +214,37 @@ @@ -173,26 +214,37 @@
173 </el-form-item> 214 </el-form-item>
174 </el-col> 215 </el-col>
175 <el-col :span="12"> 216 <el-col :span="12">
176 - <el-form-item label="" :label-width="formLabelWidth" prop="stationid"> 217 + <el-form-item label="" :label-width="formLabelWidth" prop="ismeta">
177 <div class="my-text-area"> 218 <div class="my-text-area">
178 - <div class="el-input-group__prepend prepand">体&emsp;&emsp;积</div>  
179 - <el-select v-model="addForm.stationid"  
180 - filterable  
181 - allow-create  
182 - default-first-option  
183 - remote autocomplete="off" size="small"  
184 - :remote-method="getStationno"  
185 - :loading="loading" placeholder="请输入场站id" style="width: 170px">  
186 - <el-option  
187 - v-for="item in stationids"  
188 - :key="item.stationno"  
189 - :label="item.stationno"  
190 - :value="item.stationno">  
191 - </el-option> 219 + <div class="el-input-group__prepend prepand">虚拟仓库</div>
  220 + <el-select v-model="addForm.ismeta" placeholder="请选择是否虚拟仓库" size="small" style="width: 170px">
  221 + <el-option label="否" value="0"></el-option>
  222 + <el-option label="是" value="1"></el-option>
192 </el-select> 223 </el-select>
193 </div> 224 </div>
194 </el-form-item> 225 </el-form-item>
195 </el-col> 226 </el-col>
  227 +<!-- <el-col :span="12">-->
  228 +<!-- <el-form-item label="" :label-width="formLabelWidth" prop="stationid">-->
  229 +<!-- <div class="my-text-area">-->
  230 +<!-- <div class="el-input-group__prepend prepand">体&emsp;&emsp;积</div>-->
  231 +<!-- <el-select v-model="addForm.stationid"-->
  232 +<!-- filterable-->
  233 +<!-- allow-create-->
  234 +<!-- default-first-option-->
  235 +<!-- remote autocomplete="off" size="small"-->
  236 +<!-- :remote-method="getStationno"-->
  237 +<!-- :loading="loading" placeholder="请输入场站id" style="width: 170px">-->
  238 +<!-- <el-option-->
  239 +<!-- v-for="item in stationids"-->
  240 +<!-- :key="item.stationno"-->
  241 +<!-- :label="item.stationno"-->
  242 +<!-- :value="item.stationno">-->
  243 +<!-- </el-option>-->
  244 +<!-- </el-select>-->
  245 +<!-- </div>-->
  246 +<!-- </el-form-item>-->
  247 +<!-- </el-col>-->
196 </el-row> 248 </el-row>
197 <el-row> 249 <el-row>
198 <el-col :span="9"> 250 <el-col :span="9">
@@ -234,17 +286,6 @@ @@ -234,17 +286,6 @@
234 </el-input> 286 </el-input>
235 </el-form-item> 287 </el-form-item>
236 </el-col> 288 </el-col>
237 - <el-col :span="12">  
238 - <el-form-item label="" :label-width="formLabelWidth" prop="ismeta">  
239 - <div class="my-text-area">  
240 - <div class="el-input-group__prepend prepand">虚拟仓库</div>  
241 - <el-select v-model="addForm.ismeta" placeholder="请选择是否虚拟仓库" size="small" style="width: 170px">  
242 - <el-option label="否" value="0"></el-option>  
243 - <el-option label="是" value="1"></el-option>  
244 - </el-select>  
245 - </div>  
246 - </el-form-item>  
247 - </el-col>  
248 </el-row> 289 </el-row>
249 <!-- <el-row>--> 290 <!-- <el-row>-->
250 <!-- <el-col :span="9">--> 291 <!-- <el-col :span="9">-->
@@ -2,35 +2,75 @@ @@ -2,35 +2,75 @@
2 <el-row> 2 <el-row>
3 <el-card style="background-color: #F5F7FA"> 3 <el-card style="background-color: #F5F7FA">
4 <!-- 搜索区域--> 4 <!-- 搜索区域-->
5 - <el-row :gutter="10" class="toolbar">  
6 - <el-col :span="6">  
7 - <el-input v-model="queryInfo.waybill" prefix-icon="el-icon-search" size="small" style="width: 280px"  
8 - placeholder="货物单号" clearable>  
9 - <template slot="prepend">主单号</template>  
10 - </el-input> 5 + <el-row class="toolbar" style="height: 100px">
  6 + <el-row style="margin-top: -3px">
  7 + <el-col :span="6">
  8 + <el-input v-model="queryInfo.waybill" prefix-icon="el-icon-search" size="small" style="width: 280px"
  9 + placeholder="货物单号" clearable>
  10 + <template slot="prepend">主单号</template>
  11 + </el-input>
  12 + </el-col>
  13 + <el-col :span="6">
  14 + <el-input v-model="queryInfo.billfhl" prefix-icon="el-icon-search" size="small" style="width: 280px"
  15 + placeholder="货物单号" clearable>
  16 + <template slot="prepend">分单号</template>
  17 + </el-input>
  18 + </el-col>
  19 + <el-col :span="6">
  20 + <el-input v-model="queryInfo.locationno" prefix-icon="el-icon-search" size="small" style="width: 280px"
  21 + placeholder="货物单号" clearable>
  22 + <template slot="prepend">库位编号</template>
  23 + </el-input>
  24 + </el-col>
  25 + </el-row>
  26 + <el-row>
  27 + <el-col :span="12">
  28 + <div class="my-text-area">
  29 + <div class="el-input-group__prepend prepand">时间段</div>
  30 + <el-date-picker
  31 + v-model="searchTime"
  32 + type="daterange"
  33 + unlink-panels
  34 + range-separator="至"
  35 + start-placeholder="开始日期"
  36 + end-placeholder="结束日期"
  37 + value-format="yyyy-MM-dd HH:mm:ss"
  38 + format="yyyy-MM-dd HH:mm:ss"
  39 + :picker-options="pickerOptions">
  40 + </el-date-picker>
  41 + </div>
  42 + </el-col>
  43 + <el-col :span="5">
  44 + <el-button type="primary" icon="el-icon-search" size="small" @click="getList()">
  45 + 查询
  46 + </el-button>
  47 + <el-button type="success" size="small" @click="changeFwb()" :disabled="this.sels.length===0">
  48 + 更改主单号
  49 + </el-button>
  50 + <!-- <el-button type="success" icon="el-icon-edit" size="small" @click="applyAdd()">新增</el-button>-->
  51 + </el-col>
  52 + </el-row>
  53 + </el-row>
  54 + <el-col :gutter="0" class="toolbar toobar_analysis" style="padding-top:0">
  55 + <el-col :span="7">
  56 + <div class="analysis_title">总单数:</div>
  57 + <div class="analysis_text">20</div>
11 </el-col> 58 </el-col>
12 - <el-col :span="6">  
13 - <el-input v-model="queryInfo.billfhl" prefix-icon="el-icon-search" size="small" style="width: 280px"  
14 - placeholder="货物单号" clearable>  
15 - <template slot="prepend">分单号</template>  
16 - </el-input> 59 + <el-col :span="1">
  60 + <el-divider direction="vertical"></el-divider>
17 </el-col> 61 </el-col>
18 - <el-col :span="6">  
19 - <el-input v-model="queryInfo.locationno" prefix-icon="el-icon-search" size="small" style="width: 280px"  
20 - placeholder="货物单号" clearable>  
21 - <template slot="prepend">库位编号</template>  
22 - </el-input> 62 + <el-col :span="7">
  63 + <div class="analysis_title">总件数:</div>
  64 + <div class="analysis_text">50</div>
23 </el-col> 65 </el-col>
24 - <el-col :span="5">  
25 - <el-button type="primary" icon="el-icon-search" size="small" @click="getList()">  
26 - 查询  
27 - </el-button>  
28 - <el-button type="success" size="small" @click="changeFwb()" :disabled="this.sels.length===0">  
29 - 更改主单号  
30 - </el-button>  
31 -<!-- <el-button type="success" icon="el-icon-edit" size="small" @click="applyAdd()">新增</el-button>--> 66 + <el-col :span="1">
  67 + <el-divider direction="vertical"></el-divider>
32 </el-col> 68 </el-col>
33 - </el-row> 69 + <el-col :span="8">
  70 + <div class="analysis_title">总重量:</div>
  71 + <div class="analysis_text">150</div>
  72 + </el-col>
  73 + </el-col>
34 <!-- 列表区域--> 74 <!-- 列表区域-->
35 <el-row> 75 <el-row>
36 <template> 76 <template>
@@ -423,6 +463,34 @@ @@ -423,6 +463,34 @@
423 props:['parentLoId'], 463 props:['parentLoId'],
424 data() { 464 data() {
425 return { 465 return {
  466 + pickerOptions: {
  467 + shortcuts: [{
  468 + text: '最近一周',
  469 + onClick(picker) {
  470 + const end = new Date();
  471 + const start = new Date();
  472 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  473 + picker.$emit('pick', [start, end]);
  474 + }
  475 + }, {
  476 + text: '最近一个月',
  477 + onClick(picker) {
  478 + const end = new Date();
  479 + const start = new Date();
  480 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  481 + picker.$emit('pick', [start, end]);
  482 + }
  483 + }, {
  484 + text: '最近三个月',
  485 + onClick(picker) {
  486 + const end = new Date();
  487 + const start = new Date();
  488 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  489 + picker.$emit('pick', [start, end]);
  490 + }
  491 + }]
  492 + },
  493 +
426 queryInfo: { 494 queryInfo: {
427 waybill:'', 495 waybill:'',
428 billfhl:'', 496 billfhl:'',
@@ -431,7 +499,10 @@ @@ -431,7 +499,10 @@
431 pageNum: 1, 499 pageNum: 1,
432 // 每页大小 500 // 每页大小
433 pageSize: 10, 501 pageSize: 10,
  502 + starttime:'',
  503 + endtime:'',
434 }, 504 },
  505 + creattime:'',
435 total: 0, 506 total: 0,
436 tableData:[], 507 tableData:[],
437 //新增编辑 508 //新增编辑
@@ -594,6 +665,21 @@ @@ -594,6 +665,21 @@
594 fwbRules:{}, 665 fwbRules:{},
595 } 666 }
596 }, 667 },
  668 + computed:{
  669 + //选中的时间段
  670 + searchTime: {
  671 + get:function () {
  672 + return this.creattime
  673 + },
  674 + set:function (val) {
  675 + this.creattime = val
  676 + if (val && val.length===2){
  677 + this.queryInfo.starttime = val[0]
  678 + this.queryInfo.endtime = val[1]
  679 + }
  680 + }
  681 + },
  682 + },
597 methods: { 683 methods: {
598 //获取所属库位 684 //获取所属库位
599 // getLo:function(query){ 685 // getLo:function(query){
@@ -2,44 +2,64 @@ @@ -2,44 +2,64 @@
2 <el-row> 2 <el-row>
3 <el-card style="background-color: #F5F7FA"> 3 <el-card style="background-color: #F5F7FA">
4 <!-- 搜索区域--> 4 <!-- 搜索区域-->
5 - <el-row :gutter="10" class="toolbar">  
6 - <el-col :span="5">  
7 - <el-input v-model="queryInfo.waybill" prefix-icon="el-icon-search" size="small" style="width: 240px"  
8 - placeholder="主单号" clearable>  
9 - <template slot="prepend">主单号</template>  
10 - </el-input>  
11 - </el-col>  
12 - <el-col :span="5">  
13 - <el-input v-model="queryInfo.billfhl" prefix-icon="el-icon-search" size="small" style="width: 240px"  
14 - placeholder="分单号" clearable>  
15 - <template slot="prepend">分单号</template>  
16 - </el-input>  
17 - </el-col>  
18 - <el-col :span="5">  
19 - <div class="my-text-area">  
20 - <div class="el-input-group__prepend prepand">出入库类型</div>  
21 - <el-select v-model="queryInfo.ietype" placeholder="出入库类型" size="mini" style="width: 140px">  
22 - <el-option label="出入库类型-进" value="I"></el-option>  
23 - <el-option label="出入库类型-出" value="E"></el-option>  
24 - </el-select>  
25 - </div>  
26 -<!-- <el-input v-model="queryInfo.ietype" prefix-icon="el-icon-search" size="small" style="width: 240px"-->  
27 -<!-- placeholder="类型" clearable>-->  
28 -<!-- <template slot="prepend">类型</template>-->  
29 -<!-- </el-input>-->  
30 - </el-col>  
31 - <el-col :span="5">  
32 - <el-input v-model="queryInfo.custcode" prefix-icon="el-icon-search" size="small" style="width: 240px"  
33 - placeholder="货物单号" clearable>  
34 - <template slot="prepend">客户代码</template>  
35 - </el-input>  
36 - </el-col>  
37 - <el-col :span="4">  
38 - <el-button type="primary" icon="el-icon-search" size="small" @click="getList()">  
39 - 查询  
40 - </el-button>  
41 -<!-- <el-button type="success" icon="el-icon-edit" size="small" @click="applyAdd()">新增</el-button>-->  
42 - </el-col> 5 + <el-row class="toolbar" style="height: 100px">
  6 + <el-row style="margin-top: -3px">
  7 + <el-col :span="5">
  8 + <el-input v-model="queryInfo.waybill" prefix-icon="el-icon-search" size="small" style="width: 240px"
  9 + placeholder="主单号" clearable>
  10 + <template slot="prepend">主单号</template>
  11 + </el-input>
  12 + </el-col>
  13 + <el-col :span="5">
  14 + <el-input v-model="queryInfo.billfhl" prefix-icon="el-icon-search" size="small" style="width: 240px"
  15 + placeholder="分单号" clearable>
  16 + <template slot="prepend">分单号</template>
  17 + </el-input>
  18 + </el-col>
  19 + <el-col :span="5">
  20 + <div class="my-text-area">
  21 + <div class="el-input-group__prepend prepand">出入库类型</div>
  22 + <el-select v-model="queryInfo.ietype" placeholder="出入库类型" size="mini" style="width: 140px">
  23 + <el-option label="出入库类型-进" value="I"></el-option>
  24 + <el-option label="出入库类型-出" value="E"></el-option>
  25 + </el-select>
  26 + </div>
  27 + <!-- <el-input v-model="queryInfo.ietype" prefix-icon="el-icon-search" size="small" style="width: 240px"-->
  28 + <!-- placeholder="类型" clearable>-->
  29 + <!-- <template slot="prepend">类型</template>-->
  30 + <!-- </el-input>-->
  31 + </el-col>
  32 + <el-col :span="5">
  33 + <el-input v-model="queryInfo.custcode" prefix-icon="el-icon-search" size="small" style="width: 240px"
  34 + placeholder="货物单号" clearable>
  35 + <template slot="prepend">客户代码</template>
  36 + </el-input>
  37 + </el-col>
  38 + </el-row>
  39 + <el-row>
  40 + <el-col :span="10">
  41 + <div class="my-text-area">
  42 + <div class="el-input-group__prepend prepand">时间段</div>
  43 + <el-date-picker
  44 + v-model="searchTime"
  45 + type="daterange"
  46 + unlink-panels
  47 + range-separator="至"
  48 + start-placeholder="开始日期"
  49 + end-placeholder="结束日期"
  50 + value-format="yyyy-MM-dd HH:mm:ss"
  51 + format="yyyy-MM-dd HH:mm:ss"
  52 + :picker-options="pickerOptions">
  53 + </el-date-picker>
  54 + </div>
  55 + </el-col>
  56 + <el-col :span="4">
  57 + <el-button type="primary" icon="el-icon-search" size="small" @click="getList()">
  58 + 查询
  59 + </el-button>
  60 + <!-- <el-button type="success" icon="el-icon-edit" size="small" @click="applyAdd()">新增</el-button>-->
  61 + </el-col>
  62 + </el-row>
43 </el-row> 63 </el-row>
44 <el-row> 64 <el-row>
45 <el-dialog :title="dialogMap[dialogApply]" :visible.sync="apply_dialog.addDialog" width="80%" > 65 <el-dialog :title="dialogMap[dialogApply]" :visible.sync="apply_dialog.addDialog" width="80%" >
@@ -258,6 +278,33 @@ @@ -258,6 +278,33 @@
258 }, 278 },
259 data() { 279 data() {
260 return { 280 return {
  281 + pickerOptions: {
  282 + shortcuts: [{
  283 + text: '最近一周',
  284 + onClick(picker) {
  285 + const end = new Date();
  286 + const start = new Date();
  287 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  288 + picker.$emit('pick', [start, end]);
  289 + }
  290 + }, {
  291 + text: '最近一个月',
  292 + onClick(picker) {
  293 + const end = new Date();
  294 + const start = new Date();
  295 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  296 + picker.$emit('pick', [start, end]);
  297 + }
  298 + }, {
  299 + text: '最近三个月',
  300 + onClick(picker) {
  301 + const end = new Date();
  302 + const start = new Date();
  303 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  304 + picker.$emit('pick', [start, end]);
  305 + }
  306 + }]
  307 + },
261 queryInfo: { 308 queryInfo: {
262 waybill:'', 309 waybill:'',
263 billfhl:'', 310 billfhl:'',
@@ -267,7 +314,10 @@ @@ -267,7 +314,10 @@
267 pageNum: 1, 314 pageNum: 1,
268 // 每页大小 315 // 每页大小
269 pageSize: 10, 316 pageSize: 10,
  317 + starttime:'',
  318 + endtime:'',
270 }, 319 },
  320 + creattime:'',
271 total: 0, 321 total: 0,
272 // tableData:[], 322 // tableData:[],
273 dialogMap: { 323 dialogMap: {
@@ -352,12 +402,28 @@ @@ -352,12 +402,28 @@
352 }, 402 },
353 } 403 }
354 }, 404 },
  405 + computed:{
  406 + //选中的时间段
  407 + searchTime: {
  408 + get:function () {
  409 + return this.creattime
  410 + },
  411 + set:function (val) {
  412 + this.creattime = val
  413 + if (val && val.length===2){
  414 + this.queryInfo.starttime = val[0]
  415 + this.queryInfo.endtime = val[1]
  416 + }
  417 + }
  418 + },
  419 + },
355 methods: { 420 methods: {
356 zancun(){ 421 zancun(){
357 this.zancundata.push(this.addForm); 422 this.zancundata.push(this.addForm);
358 console.log(this.zancundata) 423 console.log(this.zancundata)
359 }, 424 },
360 getList() { 425 getList() {
  426 + console.log("queryinfo---->"+this.queryInfo)
361 this.$refs.tabulation.getList(this.queryInfo) 427 this.$refs.tabulation.getList(this.queryInfo)
362 428
363 }, 429 },
@@ -403,15 +403,18 @@ @@ -403,15 +403,18 @@
403 }, 403 },
404 //批量删除 404 //批量删除
405 batchRemove: function () { 405 batchRemove: function () {
406 - var ids = this.sels.map(item => item.permissionId).toString(); 406 + var ids = this.sels.map(item => item.permissionId);
407 this.$confirm('确认删除选中记录吗?', '提示', { 407 this.$confirm('确认删除选中记录吗?', '提示', {
408 type: 'warning' 408 type: 'warning'
409 }).then(() => { 409 }).then(() => {
410 this.listLoading = true; 410 this.listLoading = true;
411 //NProgress.start(); 411 //NProgress.start();
412 - let para = { ids: ids };  
413 - batchRemove(para).then((res) => {  
414 - this.listLoading = false; 412 + // let para = { ids: ids };
  413 + batchRemove(ids).then((response) => {
  414 + let res = response.data;
  415 + if (res.code !== '200') {
  416 + return this.$message.error(res.msg);
  417 + }
415 //NProgress.done(); 418 //NProgress.done();
416 this.$message({ 419 this.$message({
417 message: '删除成功', 420 message: '删除成功',
@@ -419,8 +422,10 @@ @@ -419,8 +422,10 @@
419 }); 422 });
420 this.getTableList(); 423 this.getTableList();
421 }); 424 });
422 - }).catch(() => {  
423 - 425 + }).catch((err) => {
  426 + this.$message.error(err);
  427 + }).finally(() => {
  428 + this.listLoading = false;
424 }); 429 });
425 }, 430 },
426 showDrawer: function(){ 431 showDrawer: function(){