Browse Source

销售订单列表中打印合同

master
yunuo970428 3 years ago
parent
commit
88ce974d30
  1. 12
      anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js
  2. 146
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/dingdanguanli/dingdanxinxi/dayinxiangshezhi.vue
  3. 129
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/dingdanguanli/dingdanxinxi/dingdanxinxi.vue

12
anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js

@ -223,3 +223,15 @@ export function getPdfByOrderSid(data) {
params: { orderSid: data } params: { orderSid: data }
}); });
} }
// 根据订单id 预览合同
export function printConfirm(params) {
return request({
url: '/base/v1/commoncontract/printConfirm',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}

146
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/dingdanguanli/dingdanxinxi/dayinxiangshezhi.vue

@ -0,0 +1,146 @@
<template>
<div class="app-container" v-show="visible">
<div class="tab-header webtop">
<div>打印项设置</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" label-position="top" class="formadd">
<div class="wlInfo"><span>打印项设置</span></div>
<el-row>
<el-col :span="6" class="tleftb">
<el-form-item label="订单编号"></el-form-item>
</el-col>
<el-col :span="6" class="trightb">
<el-form-item prop="mNum">
<el-input v-model="formobj.contractNo" class="addinputw" readonly/>
</el-form-item>
</el-col>
<el-col :span="6" class="tleftb">
<el-form-item label="客户名称"></el-form-item>
</el-col>
<el-col :span="6" class="trightb">
<el-form-item prop="mName">
<el-input v-model="formobj.customerName" class="addinputw" readonly/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6" class="tleftb">
<el-form-item label="是否优惠"></el-form-item>
</el-col>
<el-col :span="18" class="trightb">
<el-form-item prop="isDiscount">
<el-radio-group v-model="formobj.isDiscount">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6" class="tleftb">
<el-form-item label="是否提前开票"></el-form-item>
</el-col>
<el-col :span="18" class="trightb">
<el-form-item prop="isAdvanceInvoice">
<el-radio-group v-model="formobj.isAdvanceInvoice">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6" class="tleftb">
<el-form-item label="是否委托提车"></el-form-item>
</el-col>
<el-col :span="18" class="trightb">
<el-form-item prop="isEntrustVehicle">
<el-radio-group v-model="formobj.isEntrustVehicle">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6" class="tleftb">
<el-form-item label="是否在公司购买保险"></el-form-item>
</el-col>
<el-col :span="18" class="trightb">
<el-form-item prop="isPurchasingInsurance">
<el-radio-group v-model="formobj.isPurchasingInsurance">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="wlInfo">
<el-button type="primary" size="small" @click="handVerify()">确认</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
</div>
</template>
<script>
import { printConfirm } from '@/api/salesManagement/orderManagement'
export default {
name: 'dayinxiangshezhi',
data() {
return {
visible: false,
formobj: {
busSid: '',
contractNo: '',
customerName: '',
customerSid: '',
isAdvanceInvoice: '',
isDiscount: '',
isEntrustVehicle: '',
isPurchasingInsurance: ''
}
}
},
methods: {
showInfo(row) {
this.visible = true
this.formobj.busSid = row.sid
this.formobj.contractNo = row.billNo
this.formobj.customerName = row.customerName
this.formobj.customerSid = row.customerSid
},
handVerify() {
printConfirm(this.formobj).then((res) => {
if (res.code == '200') {
console.log(res.data, 852852852)
}
})
},
handleReturn() {
this.$emit('doback')
}
}
}
</script>
<style scoped>
.wlInfo {
padding: 40px 0;
font-size: 24px;
border-width: 0 0 1px 0;
border-style: solid;
border-color: #EDF1F7;
display: flex;
justify-content: center;
align-items: center;
}
.tleftb {
text-align: right;
}
</style>

129
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/dingdanguanli/dingdanxinxi/dingdanxinxi.vue

@ -18,7 +18,6 @@
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> <el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search"> <div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> <el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="部门名称" class="searchlist"> <el-form-item label="部门名称" class="searchlist">
<el-input v-model="listQuery.params.orgName" placeholder="请填写" clearable class="filter-item"/> <el-input v-model="listQuery.params.orgName" placeholder="请填写" clearable class="filter-item"/>
<!-- <el-select v-model="listQuery.params.orgName" class="filter-item" clearable placeholder="请选择"> <!-- <el-select v-model="listQuery.params.orgName" class="filter-item" clearable placeholder="请选择">
@ -34,22 +33,18 @@
<el-input v-model="listQuery.params.customerName" placeholder="" clearable class="filter-item"/> <el-input v-model="listQuery.params.customerName" placeholder="" clearable class="filter-item"/>
</el-form-item> </el-form-item>
<el-form-item label="单据日期" class="searchlist"> <el-form-item label="单据日期" class="searchlist">
<el-date-picker v-model="listQuery.params.createDateStart" class="filter-item-time" type="date" <el-date-picker v-model="listQuery.params.createDateStart" class="filter-item-time" type="date" value-format="yyyy-MM-dd" placeholder="请选择"/>
value-format="yyyy-MM-dd" placeholder="请选择"/>
<label></label> <label></label>
<el-date-picker v-model="listQuery.params.createDateEnd" class="filter-item-time" type="date" <el-date-picker v-model="listQuery.params.createDateEnd" class="filter-item-time" type="date" value-format="yyyy-MM-dd" placeholder="请选择"/>
value-format="yyyy-MM-dd" placeholder="请选择"/>
</el-form-item> </el-form-item>
<el-form-item label="支付方式" class="searchlist"> <el-form-item label="支付方式" class="searchlist">
<el-select v-model="listQuery.params.payType" class="filter-item" clearable placeholder="请选择"> <el-select v-model="listQuery.params.payType" class="filter-item" clearable placeholder="请选择">
<el-option v-for="item2 in payTypeList" :key="item2.dictKey" :label="item2.dictValue" <el-option v-for="item2 in payTypeList" :key="item2.dictKey" :label="item2.dictValue" :value="item2.dictValue"/>
:value="item2.dictValue"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="提车方式" class="searchlist"> <el-form-item label="提车方式" class="searchlist">
<el-select v-model="listQuery.params.saleType" class="filter-item" clearable placeholder="请选择"> <el-select v-model="listQuery.params.saleType" class="filter-item" clearable placeholder="请选择">
<el-option v-for="item in saleTypeList" :key="item.dictKey" :label="item.dictValue" <el-option v-for="item in saleTypeList" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"/>
:value="item.dictValue"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="车型名称" class="searchlist"> <el-form-item label="车型名称" class="searchlist">
@ -65,21 +60,17 @@
<div class="listtop"> <div class="listtop">
<div class="tit">销售订单列表</div> <div class="tit">销售订单列表</div>
<!-- 翻页分页 --> <!-- 翻页分页 -->
<pageye v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" <pageye v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
class="pagination" @pagination="getList"/>
</div> </div>
<div class=""> <div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border fit highlight-current-row <el-table :key="tableKey" v-loading="listLoading" :data="list" border fit highlight-current-row style="width: 100%;" @selection-change="handleSelectionChange">
style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/> <el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/> <el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column width="150px" label="操作" align="center"> <el-table-column width="180px" label="操作" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="searchbtns"> <div class="searchbtns">
<el-button size="small" type="primary" <el-button size="small" type="primary" :disabled="scope.row.nodeState == ''?false:true" @click="changeNodeState(scope.row)">办理</el-button>
:disabled="scope.row.nodeState == ''?false:true" <el-button size="small" type="primary" @click="printContract(scope.row)">打印合同</el-button>
@click="changeNodeState(scope.row)">办理
</el-button>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -173,8 +164,7 @@
<div class="pages"> <div class="pages">
<div class="tit"/> <div class="tit"/>
<!-- 翻页 --> <!-- 翻页 -->
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" <pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
class="pagination" @pagination="getList"/>
</div> </div>
</div> </div>
</div> </div>
@ -189,43 +179,43 @@
<xiaodaijinrongfangan-info v-show="xiaodaijinrongfanganInfoShow" @noClickclose="noClickclose"/> <xiaodaijinrongfangan-info v-show="xiaodaijinrongfanganInfoShow" @noClickclose="noClickclose"/>
<!-- 合同编辑--> <!-- 合同编辑-->
<!-- <hetongdanganguanliInfo ref="hetongdanganguanli-Info" @handleReturn="visible = true"/> --> <!-- <hetongdanganguanliInfo ref="hetongdanganguanli-Info" @handleReturn="visible = true"/> -->
<!-- 打印合同 -->
<divPrint ref="divPrint" @doback="resetState"/>
</div> </div>
</template> </template>
<script> <script>
import { import {
getPageList, getPageList,
getListOrg, getListOrg,
deleteByids, deleteByids,
submitOrder, dictType
dictType, } from '@/api/salesManagement/orderManagement'
} from '@/api/salesManagement/orderManagement' import { submitSales, updateSales } from '@/api/portal/workFlow'
import {submitSales, updateSales} from '@/api/portal/workFlow' import { loginDetails } from '@/api/dictcommons/basemanufacturer'
// import { setuser, getuser } from '@/utils/baocun' import { getStorage } from '@/utils/auth'
// import { delUser } from '@/api/system/user/Auser' import Pagination from '@/components/pagination'
import {loginDetails} from '@/api/dictcommons/basemanufacturer' import pageye from '@/components/pagination/pageye'
import {getStorage} from '@/utils/auth' import divAdd from './dingdanxinxiAdd.vue'
import Pagination from '@/components/pagination' import divInfo from './dingdanxinxiInfo.vue'
import pageye from '@/components/pagination/pageye' import divPrint from './dayinxiangshezhi.vue'
import divAdd from './dingdanxinxiAdd.vue' import xiaodaijinrongfanganInfo from '../../xiaodaijinrongfangan/xiaodaijinrongfanganinfo.vue'
import divInfo from './dingdanxinxiInfo.vue' import hetongdanganguanliInfo from '@/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue'
import xiaodaijinrongfanganInfo from '../../xiaodaijinrongfangan/xiaodaijinrongfanganinfo.vue'
import hetongdanganguanliInfo from '@/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue'
export default { export default {
name: 'Dingdanxinxi', name: 'Dingdanxinxi',
components: { components: {
Pagination, Pagination,
pageye, pageye,
divAdd, divAdd,
divInfo, divInfo,
divPrint,
xiaodaijinrongfanganInfo, xiaodaijinrongfanganInfo,
hetongdanganguanliInfo, hetongdanganguanliInfo
}, },
data() { data() {
return { return {
isableSub:false, isableSub: false,
viewState: 1, // 1 2 3 4 viewState: 1, // 1 2 3 4
xiaodaijinrongfanganInfoShow: false, xiaodaijinrongfanganInfoShow: false,
hetongdanganguanliAddShow: false, hetongdanganguanliAddShow: false,
@ -241,13 +231,13 @@
list: [ list: [
{ {
name: '2345', name: '2345',
contractNum: '2222', contractNum: '2222'
}, }
], ],
sids: [], sids: [],
defaultProps: { defaultProps: {
children: 'children', children: 'children',
label: 'name', label: 'name'
}, },
total: 1, total: 1,
listLoading: false, listLoading: false,
@ -260,11 +250,11 @@
orgName: '', orgName: '',
payType: '', payType: '',
saleType: '', saleType: '',
staffName: '', staffName: ''
}, }
}, },
temp: { temp: {
contactMobile: '1', contactMobile: '1'
}, // }, //
nodeState: '', // nodeState: '', //
submitDto: { submitDto: {
@ -273,9 +263,9 @@
}, },
updateDto: { updateDto: {
nodeState: '', nodeState: '',
sid: '', sid: ''
}, },
visible: true, visible: true
// ------------------------------------ // ------------------------------------
} }
}, },
@ -323,6 +313,10 @@
this.$refs['divadd'].showEdit(row.sid) this.$refs['divadd'].showEdit(row.sid)
} }
}, },
printContract(row) {
this.visible = false
this.$refs['divPrint'].showInfo(row)
},
// //
handleUpdate() { handleUpdate() {
if (this.sids.length === 1) { if (this.sids.length === 1) {
@ -407,7 +401,7 @@
// saleType // saleType
getpaySaleList() { getpaySaleList() {
dictType({ dictType({
type: 'saleType', type: 'saleType'
}).then((response) => { }).then((response) => {
if (response.code === '200' && response.data) { if (response.code === '200' && response.data) {
this.saleTypeList = response.data this.saleTypeList = response.data
@ -456,13 +450,12 @@
row.forEach((element) => { row.forEach((element) => {
bb.push(element.nodeState) bb.push(element.nodeState)
console.log(element.nodeState) console.log(element.nodeState)
if (element.nodeState !==''){ if (element.nodeState !== '') {
this.isableSub = true this.isableSub = true
}else if (element.nodeState ==''){ } else if (element.nodeState == '') {
this.isableSub = false this.isableSub = false
} }
}) })
}, },
// //
getHuoquyonghu() { getHuoquyonghu() {
@ -491,7 +484,7 @@
title: '提示', title: '提示',
message: '添加成功', message: '添加成功',
type: 'success', type: 'success',
duration: 2000, duration: 2000
}) })
// //
this.updateDto.sid = this.sids[0] this.updateDto.sid = this.sids[0]
@ -501,14 +494,14 @@
title: '提示', title: '提示',
message: '更新成功', message: '更新成功',
type: 'success', type: 'success',
duration: 2000, duration: 2000
}) })
this.getList() this.getList()
} else { } else {
this.$notify({ this.$notify({
title: '更新失败', title: '更新失败',
message: response.msg, message: response.msg,
type: 'error', type: 'error'
}) })
} }
}) })
@ -516,7 +509,7 @@
this.$notify({ this.$notify({
title: '添加失败', title: '添加失败',
message: response.msg, message: response.msg,
type: 'error', type: 'error'
}) })
} }
}) })
@ -524,12 +517,12 @@
} else if (this.sids.length == 0) { } else if (this.sids.length == 0) {
this.$notify({ this.$notify({
title: '您还未选择,请选择数据!!!', title: '您还未选择,请选择数据!!!',
type: 'error', type: 'error'
}) })
} else if (this.sids.length > 1) { } else if (this.sids.length > 1) {
this.$notify({ this.$notify({
title: '您选择的数据过多,请选择一条数据编辑!!', title: '您选择的数据过多,请选择一条数据编辑!!',
type: 'error', type: 'error'
}) })
} }
}, },
@ -560,7 +553,7 @@
title: '提示', title: '提示',
message: '没有选择!!', message: '没有选择!!',
type: 'warning', type: 'warning',
duration: 2000, duration: 2000
}) })
return return
} }
@ -570,14 +563,14 @@
title: '提示', title: '提示',
message: '删除成功', message: '删除成功',
type: 'success', type: 'success',
duration: 2000, duration: 2000
}) })
this.getList() this.getList()
} else { } else {
this.$notify({ this.$notify({
title: '删除失败', title: '删除失败',
message: response.msg, message: response.msg,
type: 'error', type: 'error'
}) })
} }
}) })
@ -587,7 +580,7 @@
this.$confirm('确定要导出数据, 是否继续?', '提示', { this.$confirm('确定要导出数据, 是否继续?', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
}) })
// .then(() => { // .then(() => {
// const tempData = Object.assign({}, row) // copy obj // const tempData = Object.assign({}, row) // copy obj
@ -631,21 +624,21 @@
dataUpdated() { dataUpdated() {
this.visible = true this.visible = true
this.getList() this.getList()
},
},
} }
}
}
</script> </script>
<style scoped> <style scoped>
.filter-item { .filter-item {
padding: 0 10px; padding: 0 10px;
width: 220px; width: 220px;
display: inline-block; display: inline-block;
} }
/* .filter-item-time { /* .filter-item-time {
padding: 0 10px; padding: 0 10px;
width: 300px; width: 300px;
display: inline-block; display: inline-block;
} */ } */
/* .listcon{height: calc(100vh - 550px);overflow-y: auto;overflow-x: hidden;} */ /* .listcon{height: calc(100vh - 550px);overflow-y: auto;overflow-x: hidden;} */
</style> </style>

Loading…
Cancel
Save