作者 小范

账单列表添加新增功能

@@ -2,12 +2,17 @@ import http from "../http"; @@ -2,12 +2,17 @@ import http from "../http";
2 2
3 3
4 let baseUrl = 'wlpt-custom-service-charge/bill' 4 let baseUrl = 'wlpt-custom-service-charge/bill'
  5 +let baseUrl1 = 'wlpt-custom-service-charge/busneeTypeConfig'
  6 +let baseUrl2 = 'wlpt-custom-service-charge/currency'
  7 +
5 8
6 9
7 //折扣配置 10 //折扣配置
8 -export const list = (data,params) => {  
9 - return http.post(`${baseUrl}/list`,data, params);  
10 -};  
11 -export const save = params => { return http.post(`${baseUrl}/save`, params); }; 11 +export const list = (data,params) => {return http.post(`${baseUrl}/list`,data, params);};
  12 +export const add = params => { return http.post(`${baseUrl}/add`, params); };
12 export const edit = params => { return http.put(`${baseUrl}/edit`, params); }; 13 export const edit = params => { return http.put(`${baseUrl}/edit`, params); };
13 export const remove = params => { return http.delByParam(`${baseUrl}/remove`, params); }; 14 export const remove = params => { return http.delByParam(`${baseUrl}/remove`, params); };
  15 +//获取业务类型
  16 +export const get = (data,params) => {return http.get(`${baseUrl1}/list`,data, params);};
  17 +//获取计费名称和单位
  18 +export const currency = (data,params) => {return http.get(`${baseUrl2}/`,data, params);};
@@ -4,28 +4,28 @@ @@ -4,28 +4,28 @@
4 <!-- 搜索区域--> 4 <!-- 搜索区域-->
5 <el-row class="toolbar" style ="height:110px;"> 5 <el-row class="toolbar" style ="height:110px;">
6 <el-row> 6 <el-row>
7 - <el-col :span="6">  
8 - <el-input v-model="queryModel.billOwnerCompanyCode" prefix-icon="el-icon-search" style="width: 240px" 7 + <el-col :span="5">
  8 + <el-input v-model="queryModel.billOwnerCompanyCode" prefix-icon="el-icon-search"
9 placeholder="客户简码如:BD" clearable> 9 placeholder="客户简码如:BD" clearable>
10 <template slot="prepend">公司简码</template> 10 <template slot="prepend">公司简码</template>
11 </el-input> 11 </el-input>
12 </el-col> 12 </el-col>
13 - <el-col :span="6">  
14 - <el-input v-model="queryModel.billBusinessName" prefix-icon="el-icon-search" style="width: 240px" 13 + <el-col :offset="1" :span="5">
  14 + <el-input v-model="queryModel.billBusinessName" prefix-icon="el-icon-search"
15 placeholder="业务名称" clearable> 15 placeholder="业务名称" clearable>
16 <template slot="prepend">业务名称</template> 16 <template slot="prepend">业务名称</template>
17 </el-input> 17 </el-input>
18 </el-col> 18 </el-col>
19 - <el-col :span="6">  
20 - <el-input v-model="queryModel.billType" prefix-icon="el-icon-search" style="width: 240px" 19 + <el-col :offset="1" :span="5">
  20 + <el-input v-model="queryModel.billType" prefix-icon="el-icon-search"
21 placeholder="业务类型" clearable> 21 placeholder="业务类型" clearable>
22 <template slot="prepend">业务类型</template> 22 <template slot="prepend">业务类型</template>
23 </el-input> 23 </el-input>
24 </el-col> 24 </el-col>
25 - <el-col :span="6"> 25 + <el-col :offset="1" :span="5">
26 <div class="my-text-area"> 26 <div class="my-text-area">
27 <div class="el-input-group__prepend prepand">账单状态</div> 27 <div class="el-input-group__prepend prepand">账单状态</div>
28 - <el-select v-model="queryModel.billState" placeholder="账单状态" style="width: 140px" clearable> 28 + <el-select v-model="queryModel.billState" placeholder="账单状态" style="width: 90px" clearable>
29 <el-option label="未结算" value="000"></el-option> 29 <el-option label="未结算" value="000"></el-option>
30 <el-option label="已结算" value="001"></el-option> 30 <el-option label="已结算" value="001"></el-option>
31 <el-option label="作废" value="111"></el-option> 31 <el-option label="作废" value="111"></el-option>
@@ -33,15 +33,14 @@ @@ -33,15 +33,14 @@
33 </div> 33 </div>
34 </el-col> 34 </el-col>
35 </el-row> 35 </el-row>
36 -  
37 <el-row> 36 <el-row>
38 - <el-col :span="6">  
39 - <el-input v-model="queryModel.billWaybiilno" prefix-icon="el-icon-search" style="width: 240px" 37 + <el-col :span="5">
  38 + <el-input v-model="queryModel.billWaybiilno" prefix-icon="el-icon-search"
40 placeholder="单证号" clearable> 39 placeholder="单证号" clearable>
41 <template slot="prepend">单证号码</template> 40 <template slot="prepend">单证号码</template>
42 </el-input> 41 </el-input>
43 </el-col> 42 </el-col>
44 - <el-col :span="12"> 43 + <el-col :offset="1" :span="12">
45 <div class="my-text-area"> 44 <div class="my-text-area">
46 <div class="el-input-group__prepend prepand">计费时间</div> 45 <div class="el-input-group__prepend prepand">计费时间</div>
47 <el-date-picker 46 <el-date-picker
@@ -59,12 +58,11 @@ @@ -59,12 +58,11 @@
59 </el-date-picker> 58 </el-date-picker>
60 </div> 59 </div>
61 </el-col> 60 </el-col>
62 -  
63 - <el-col :span="6"> 61 + <el-col :offset="1" :span="5">
64 <el-button type="primary" icon="el-icon-search" @click="getList()"> 62 <el-button type="primary" icon="el-icon-search" @click="getList()">
65 查询 63 查询
66 </el-button> 64 </el-button>
67 - <!-- <el-button type="success" icon="el-icon-edit" size="small" @click="applyAdd()">新增</el-button>--> 65 + <el-button type="success" icon="el-icon-edit" size="small" @click="applyAdd()">新增</el-button>
68 </el-col> 66 </el-col>
69 </el-row> 67 </el-row>
70 </el-row> 68 </el-row>
@@ -177,21 +175,36 @@ @@ -177,21 +175,36 @@
177 </el-pagination> 175 </el-pagination>
178 </el-row> 176 </el-row>
179 <el-row> 177 <el-row>
180 - <el-dialog :title="dialogMap[dialogApply]" :visible.sync="apply_dialog" width="70%" > 178 + <el-dialog :title="dialogMap[dialogApply]" :visible.sync="apply_dialog" width="80%" v-dialog-drag>
181 <el-form :model="addForm" :rules="rules" ref="addForm" style="margin-top: 40px"> 179 <el-form :model="addForm" :rules="rules" ref="addForm" style="margin-top: 40px">
182 <el-row> 180 <el-row>
183 <el-col :span="11"> 181 <el-col :span="11">
184 <el-form-item label=" " :label-width="formLabelWidth" prop="billWaybiilno"> 182 <el-form-item label=" " :label-width="formLabelWidth" prop="billWaybiilno">
185 - <el-input v-model="addForm.billWaybiilno" autocomplete="off" size="small" style="width: 350px"> 183 + <el-input v-model="addForm.billWaybiilno" autocomplete="off">
186 <template slot="prepend">关联单据/运单号</template> 184 <template slot="prepend">关联单据/运单号</template>
187 </el-input> 185 </el-input>
188 </el-form-item> 186 </el-form-item>
189 </el-col> 187 </el-col>
190 - <el-col :span="12"> 188 + <el-col :span="11">
191 <el-form-item label=" " :label-width="formLabelWidth" prop="billName"> 189 <el-form-item label=" " :label-width="formLabelWidth" prop="billName">
192 - <el-input v-model="addForm.billName" autocomplete="off" size="small" style="width: 350px">  
193 - <template slot="prepend">费用名称</template>  
194 - </el-input> 190 + <div class="my-text-area">
  191 + <div class="el-input-group__prepend prepand">费用名称</div>
  192 + <el-select v-model="addForm.billName"
  193 + @click.native="getCurrency"
  194 + default-first-option
  195 + :loading="loadings" clearable placeholder="请选择" style="width: 225px">
  196 + <el-option
  197 + v-for="item in billNames"
  198 + :key="item.currencysort"
  199 + :label="item.currencyDescription"
  200 + :value="item.currencysort"
  201 + :disabled="item.disabled">
  202 + </el-option>
  203 + </el-select>
  204 + </div>
  205 +<!-- <el-input v-model="addForm.billName" autocomplete="off">-->
  206 +<!-- <template slot="prepend">费用名称</template>-->
  207 +<!-- </el-input>-->
195 </el-form-item> 208 </el-form-item>
196 </el-col> 209 </el-col>
197 </el-row> 210 </el-row>
@@ -200,7 +213,7 @@ @@ -200,7 +213,7 @@
200 <el-form-item label=" " :label-width="formLabelWidth" prop="billState"> 213 <el-form-item label=" " :label-width="formLabelWidth" prop="billState">
201 <div class="my-text-area"> 214 <div class="my-text-area">
202 <div class="el-input-group__prepend prepand">费用状态</div> 215 <div class="el-input-group__prepend prepand">费用状态</div>
203 - <el-select v-model="addForm.billState" placeholder="请选择费用状态" size="small" style="width: 260px"> 216 + <el-select v-model="addForm.billState" placeholder="请选择费用状态" style="width: 225px">
204 <el-option label="未支付" value="000"></el-option> 217 <el-option label="未支付" value="000"></el-option>
205 <el-option label="已支付" value="001"></el-option> 218 <el-option label="已支付" value="001"></el-option>
206 <el-option label="作废" value="111"></el-option> 219 <el-option label="作废" value="111"></el-option>
@@ -208,11 +221,11 @@ @@ -208,11 +221,11 @@
208 </div> 221 </div>
209 </el-form-item> 222 </el-form-item>
210 </el-col> 223 </el-col>
211 - <el-col :span="12"> 224 + <el-col :span="11">
212 <el-form-item label=" " :label-width="formLabelWidth" prop="billPayModel"> 225 <el-form-item label=" " :label-width="formLabelWidth" prop="billPayModel">
213 <div class="my-text-area"> 226 <div class="my-text-area">
214 <div class="el-input-group__prepend prepand">结算方式</div> 227 <div class="el-input-group__prepend prepand">结算方式</div>
215 - <el-select v-model="addForm.billPayModel" placeholder="请选择结算方式" size="small" style="width: 260px"> 228 + <el-select v-model="addForm.billPayModel" placeholder="请选择结算方式" style="width: 225px">
216 <el-option label="现金" value="002"></el-option> 229 <el-option label="现金" value="002"></el-option>
217 <el-option label="记账" value="000"></el-option> 230 <el-option label="记账" value="000"></el-option>
218 <el-option label="月结" value="001"></el-option> 231 <el-option label="月结" value="001"></el-option>
@@ -226,17 +239,48 @@ @@ -226,17 +239,48 @@
226 <el-form-item label=" " :label-width="formLabelWidth" prop="billIeType"> 239 <el-form-item label=" " :label-width="formLabelWidth" prop="billIeType">
227 <div class="my-text-area"> 240 <div class="my-text-area">
228 <div class="el-input-group__prepend prepand">支出/收入</div> 241 <div class="el-input-group__prepend prepand">支出/收入</div>
229 - <el-select v-model="addForm.billIeType" placeholder="请选择支付方式" size="small" style="width: 260px"> 242 + <el-select v-model="addForm.billIeType" placeholder="请选择支付方式" style="width: 225px">
230 <el-option label="收入" value="I"></el-option> 243 <el-option label="收入" value="I"></el-option>
231 <el-option label="支出" value="E"></el-option> 244 <el-option label="支出" value="E"></el-option>
232 </el-select> 245 </el-select>
233 </div> 246 </div>
234 </el-form-item> 247 </el-form-item>
235 </el-col> 248 </el-col>
236 - <el-col :span="12"> 249 + <el-col :span="11">
237 <el-form-item label=" " :label-width="formLabelWidth" prop="billBusinessName"> 250 <el-form-item label=" " :label-width="formLabelWidth" prop="billBusinessName">
238 - <el-input v-model="addForm.billBusinessName" autocomplete="off" size="small" style="width: 350px">  
239 - <template slot="prepend">费用所属业务类型</template> 251 + <div class="my-text-area">
  252 + <div class="el-input-group__prepend prepand">业务类型</div>
  253 + <el-select v-model="addForm.billBusinessName"
  254 + @click.native="getCreden"
  255 + default-first-option
  256 + :loading="loading" clearable placeholder="请选择" style="width: 225px">
  257 + <el-option
  258 + v-for="item in businesstypes"
  259 + :key="item.busnessType"
  260 + :label="item.busnessType"
  261 + :value="item.busnessType"
  262 + :disabled="item.disabled">
  263 + </el-option>
  264 + </el-select>
  265 + </div>
  266 +<!-- <el-input v-model="addForm.billBusinessName" autocomplete="off">-->
  267 +<!-- <template slot="prepend">费用所属业务类型</template>-->
  268 +<!-- </el-input>-->
  269 + </el-form-item>
  270 + </el-col>
  271 + </el-row>
  272 + <el-row>
  273 + <el-col :span="11">
  274 + <el-form-item label=" " :label-width="formLabelWidth" prop="billCosts">
  275 + <el-input :disabled="dialogApply === 'update'" v-model="addForm.weight" autocomplete="off">
  276 + <template slot="prepend">重量</template>
  277 + </el-input>
  278 + </el-form-item>
  279 + </el-col>
  280 + <el-col :span="11">
  281 + <el-form-item label=" " :label-width="formLabelWidth" prop="billCostsBefore">
  282 + <el-input :disabled="dialogApply === 'update'" v-model="addForm.goodsvol" autocomplete="off">
  283 + <template slot="prepend">体积</template>
240 </el-input> 284 </el-input>
241 </el-form-item> 285 </el-form-item>
242 </el-col> 286 </el-col>
@@ -244,14 +288,14 @@ @@ -244,14 +288,14 @@
244 <el-row> 288 <el-row>
245 <el-col :span="11"> 289 <el-col :span="11">
246 <el-form-item label=" " :label-width="formLabelWidth" prop="billCosts"> 290 <el-form-item label=" " :label-width="formLabelWidth" prop="billCosts">
247 - <el-input v-model="addForm.billCosts" autocomplete="off" size="small" style="width: 350px"> 291 + <el-input v-model="addForm.billCosts" autocomplete="off">
248 <template slot="prepend">最终费用额度</template> 292 <template slot="prepend">最终费用额度</template>
249 </el-input> 293 </el-input>
250 </el-form-item> 294 </el-form-item>
251 </el-col> 295 </el-col>
252 - <el-col :span="12"> 296 + <el-col :span="11">
253 <el-form-item label=" " :label-width="formLabelWidth" prop="billCostsBefore"> 297 <el-form-item label=" " :label-width="formLabelWidth" prop="billCostsBefore">
254 - <el-input v-model="addForm.billCostsBefore" autocomplete="off" size="small" style="width: 350px"> 298 + <el-input v-model="addForm.billCostsBefore" autocomplete="off">
255 <template slot="prepend">费用优惠前额度</template> 299 <template slot="prepend">费用优惠前额度</template>
256 </el-input> 300 </el-input>
257 </el-form-item> 301 </el-form-item>
@@ -260,27 +304,49 @@ @@ -260,27 +304,49 @@
260 <el-row> 304 <el-row>
261 <el-col :span="11"> 305 <el-col :span="11">
262 <el-form-item label=" " :label-width="formLabelWidth" prop="billCostsDiscounts"> 306 <el-form-item label=" " :label-width="formLabelWidth" prop="billCostsDiscounts">
263 - <el-input v-model="addForm.billCostsDiscounts" autocomplete="off" size="small" style="width: 350px"> 307 + <el-input v-model="addForm.billCostsDiscounts" autocomplete="off">
264 <template slot="prepend">优惠金额</template> 308 <template slot="prepend">优惠金额</template>
265 </el-input> 309 </el-input>
266 </el-form-item> 310 </el-form-item>
267 </el-col> 311 </el-col>
268 - <el-col :span="12"> 312 + <el-col :span="11">
269 <el-form-item label=" " :label-width="formLabelWidth" prop="billCurrency"> 313 <el-form-item label=" " :label-width="formLabelWidth" prop="billCurrency">
270 - <el-input v-model="addForm.billCurrency" autocomplete="off" size="small" style="width: 350px">  
271 - <template slot="prepend">计费单位</template>  
272 - </el-input> 314 + <div class="my-text-area">
  315 + <div class="el-input-group__prepend prepand">计费单位</div>
  316 + <el-select v-model="addForm.billCurrency"
  317 + @click.native="getCurrency"
  318 + default-first-option
  319 + :loading="loadings" clearable placeholder="请选择" style="width: 225px">
  320 + <el-option
  321 + v-for="item in billNames"
  322 + :key="item.currencyCode"
  323 + :label="item.currencyCode"
  324 + :value="item.currencyCode"
  325 + :disabled="item.disabled">
  326 + </el-option>
  327 + </el-select>
  328 + </div>
  329 +<!-- <el-input v-model="addForm.billCurrency" autocomplete="off">-->
  330 +<!-- <template slot="prepend">计费单位</template>-->
  331 +<!-- </el-input>-->
273 </el-form-item> 332 </el-form-item>
274 </el-col> 333 </el-col>
275 </el-row> 334 </el-row>
276 <el-row> 335 <el-row>
277 <el-col :span="11"> 336 <el-col :span="11">
278 <el-form-item label=" " :label-width="formLabelWidth" prop="billSource"> 337 <el-form-item label=" " :label-width="formLabelWidth" prop="billSource">
279 - <el-input v-model="addForm.billSource" autocomplete="off" size="small" style="width: 350px"> 338 + <el-input v-model="addForm.billSource" autocomplete="off">
280 <template slot="prepend">费用产生来源</template> 339 <template slot="prepend">费用产生来源</template>
281 </el-input> 340 </el-input>
282 </el-form-item> 341 </el-form-item>
283 </el-col> 342 </el-col>
  343 + <el-col :span="11">
  344 + <el-form-item label=" " :label-width="formLabelWidth" prop="billCosts">
  345 + <el-input v-model="addForm.billOwnerCompanyCode" autocomplete="off">
  346 + <template slot="prepend">企业简码</template>
  347 + </el-input>
  348 + </el-form-item>
  349 + </el-col>
284 </el-row> 350 </el-row>
285 </el-form> 351 </el-form>
286 <div slot="footer" class="dialog-footer"> 352 <div slot="footer" class="dialog-footer">
@@ -294,12 +360,16 @@ @@ -294,12 +360,16 @@
294 </template> 360 </template>
295 361
296 <script> 362 <script>
297 - import {list,edit,remove} from '../../api/consigner/check'; 363 + import {list,edit,remove,add,get,currency} from '../../api/consigner/check';
298 364
299 export default { 365 export default {
300 name: "check", 366 name: "check",
301 data() { 367 data() {
302 return { 368 return {
  369 + loading:false,
  370 + businesstypes:[],
  371 + loadings:false,
  372 + billNames:[],
303 queryInfo: { 373 queryInfo: {
304 // companyId:'', 374 // companyId:'',
305 // busnessType:'', 375 // busnessType:'',
@@ -340,6 +410,10 @@ @@ -340,6 +410,10 @@
340 billCostsDiscounts:'', 410 billCostsDiscounts:'',
341 billCurrency: '', 411 billCurrency: '',
342 billSource:'', 412 billSource:'',
  413 + weight:'',
  414 + goodsvol:'',
  415 + billOwnerCompanyCode:'',
  416 + billCreatUserid:'1'
343 }, 417 },
344 pickerOptions: { 418 pickerOptions: {
345 shortcuts: [{ 419 shortcuts: [{
@@ -400,6 +474,49 @@ @@ -400,6 +474,49 @@
400 this.queryModel.billCreatTimeEnd = this.queryDateSearch[1] 474 this.queryModel.billCreatTimeEnd = this.queryDateSearch[1]
401 } 475 }
402 }, 476 },
  477 + //获取费用名称和单位
  478 + getCurrency(){
  479 + this.billNames=[];
  480 + //let params={};
  481 + this.loadings = true;
  482 + currency().then(res =>{
  483 + console.log(res)
  484 + if (res!=null) {
  485 + console.log(res.data.data)
  486 + setTimeout(() => {
  487 + this.loadings = false;
  488 + this.billNames=res.data.data;
  489 + }, 200);
  490 + } else {
  491 + this.billNames = [];
  492 + }
  493 +
  494 + });
  495 + },
  496 + //获取业务类型
  497 + getCreden(){
  498 + this.businesstypes=[];
  499 + //let params={};
  500 + this.loading = true;
  501 + get().then(res =>{
  502 + console.log(res)
  503 + if (res!=null) {
  504 + console.log(res.data.data)
  505 + setTimeout(() => {
  506 + this.loading = false;
  507 + this.businesstypes=res.data.data.list;
  508 + // this.businesstypes.value=res.data.data.typeNme;
  509 + // this.businesstypes.label=res.data.data.typeDes;
  510 + // this.businesstypes.disabled=res.data.data.disabled;
  511 +
  512 +
  513 + }, 200);
  514 + } else {
  515 + this.businesstypes = [];
  516 + }
  517 +
  518 + });
  519 + },
403 getList() { 520 getList() {
404 const _this = this 521 const _this = this
405 list(this.queryModel,this.queryInfo).then((response) => { 522 list(this.queryModel,this.queryInfo).then((response) => {
@@ -419,44 +536,50 @@ @@ -419,44 +536,50 @@
419 }) 536 })
420 }, 537 },
421 // 添加对话框,打开事件 538 // 添加对话框,打开事件
422 - // applyAdd() {  
423 - // this.addForm = {  
424 - // orderAuthorName: '',  
425 - // orderAuthorid: '',  
426 - // orderCreatTime: '',  
427 - // orderOperatorId: '',  
428 - // orderRemark: '',  
429 - // orderState: '',  
430 - // orderTotalAmount:'',  
431 - // orderUpdateTime:'',  
432 - // orderType:''  
433 - // };  
434 - // this.dialogApply= 'create';  
435 - // this.dis= 'create';  
436 - // this.apply_dialog = true;  
437 - // }, 539 + applyAdd() {
  540 + this.addForm = {
  541 + billWaybiilno: '',
  542 + billName: '',
  543 + billState: '',
  544 + billPayModel: '',
  545 + billIeType: '',
  546 + billBusinessName: '',
  547 + billCosts:'',
  548 + billCostsBefore:'',
  549 + billCostsDiscounts:'',
  550 + billCurrency: '',
  551 + billSource:'',
  552 + weight:'',
  553 + goodsvol:'',
  554 + billOwnerCompanyCode:'',
  555 + billCreatUserid:'1'
  556 + };
  557 + this.dialogApply= 'create';
  558 + this.dis= 'create';
  559 + this.apply_dialog = true;
  560 + },
438 // 添加功能 561 // 添加功能
439 - // add() {  
440 - // this.$refs.addForm.validate(valid => {  
441 - // // 未通过,表单预校验  
442 - // if (!valid) return;  
443 - // save(this.addForm).then((response) => {  
444 - // let res = response.data;  
445 - // // 添加失败  
446 - // if (res.code !== '200') {  
447 - // return this.$message.error(res.msg);  
448 - // }  
449 - // // 添加,成功  
450 - // this.$message.success(res.msg);  
451 - // // 隐藏对话框  
452 - // this.apply_dialog = false;  
453 - // // 刷新列表  
454 - // this.getList();  
455 - // }).catch(error => {  
456 - // this.$message.error(error.toString());  
457 - // });  
458 - // })  
459 - // }, 562 + add() {
  563 + this.$refs.addForm.validate(valid => {
  564 + // 未通过,表单预校验
  565 + if (!valid) return;
  566 + add(this.addForm).then((response) => {
  567 + let res = response.data;
  568 + // 添加失败
  569 + if (res.code !== '200') {
  570 + return this.$message.error(res.msg);
  571 + }
  572 + // 添加,成功
  573 + this.$message.success(res.msg);
  574 + // 隐藏对话框
  575 + this.apply_dialog = false;
  576 + // 刷新列表
  577 + this.getList();
  578 + }).catch(error => {
  579 + this.$message.error(error.toString());
  580 + });
  581 + })
  582 + },
460 // 打开编辑 583 // 打开编辑
461 applyEdit(row) { 584 applyEdit(row) {
462 this.apply_dialog = true; 585 this.apply_dialog = true;