Browse Source

Merge remote-tracking branch 'origin/master'

master
God 3 years ago
parent
commit
8a4b23e6d9
  1. 34
      anrui-base/anrui-base-ui/src/api/business/faRen.js
  2. 8
      anrui-base/anrui-base-ui/src/api/business/geRen.js
  3. 6
      anrui-base/anrui-base-ui/src/main.js
  4. 1429
      anrui-base/anrui-base-ui/src/views/jingxiaoshang/jingxiaoshangguanli/jingxiaoshangAdd.vue
  5. 476
      anrui-base/anrui-base-ui/src/views/jingxiaoshang/jingxiaoshangguanli/jingxiaoshangInfo.vue
  6. 449
      anrui-base/anrui-base-ui/src/views/jingxiaoshang/jingxiaoshangguanli/jingxiaoshangguanli.vue
  7. 16
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderAllDto.java
  8. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  9. 14
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositDto.java
  10. 12
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderprice/BusSalesOrderPriceDto.java
  11. 21
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  12. 15
      anrui-buscenter/anrui-buscenter-ui/src/api/chukuguanli/chukubanli.js
  13. 2
      anrui-buscenter/anrui-buscenter-ui/src/api/jichuxinxi/salepolicy.js
  14. 100
      anrui-buscenter/anrui-buscenter-ui/src/api/salesManagement/orderManagement.js
  15. 40
      anrui-buscenter/anrui-buscenter-ui/src/router/index.js
  16. 6
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/chukushenqingAdd.vue
  17. 37
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/chukushenqingInfo.vue
  18. 4
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/daichukucheliang.vue
  19. 3
      anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/userInfoLook.vue
  20. 421
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/modellibrary.vue
  21. 565
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/vehiclelibraryconfiguration.vue
  22. 477
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xiaoshouzhengce.vue
  23. 7
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xuanzekehu.vue
  24. 26
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xuanzekehuAdd.vue
  25. 449
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xunidingdanguanli.vue
  26. 204
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xunidingdanxuanze.vue
  27. 208
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/yixiangchexingxuanze.vue
  28. 848
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdan.vue
  29. 2126
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanAdd.vue
  30. 585
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue
  31. 549
      anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanSubmit.vue
  32. 97
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplication.vue
  33. 268
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue
  34. 140
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationInfo.vue
  35. 241
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationvehicle.vue
  36. 207
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue
  37. 453
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationAdd.vue
  38. 192
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationInfo.vue
  39. 2
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue
  40. 14
      anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue
  41. 8
      anrui-scm/anrui-scm-ui/src/views/supplychain/caigoutuiku/caigoutuiku.vue
  42. 6
      anrui-scm/anrui-scm-ui/src/views/workFlow/caigoutuikuFlow/caigoutuiku.vue
  43. 2
      anrui-scm/anrui-scm-ui/src/views/workFlow/caigoutuikuFlow/caigoutuikuEdit.vue

34
anrui-base/anrui-base-ui/src/api/business/faRen.js

@ -7,27 +7,47 @@ return request({
url: '/base/v1/basevehiclebrand/pagerList', url: '/base/v1/basevehiclebrand/pagerList',
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }
// 添加法人 // 添加法人
export function SaveListFaRen(data) { export function SaveListFaRen(data) {
return request({ return request({
url: '/base/v1/basedistributorlegal/save', data, url: '/base/v1/basedistributorlegal/save',
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }
// 修改法人 // 修改法人
export function UpdateFaRen(data) { export function UpdateFaRen(data) {
return request({ return request({
url: `/base/v1/basedistributorlegal/update/${data.sid}`, url: '/base/v1/basedistributorlegal/update/' + data.sid,
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }
// 添加个人
export function SaveListGeRen(data) {
return request({
url: '/base/v1/basedistributorperson/save',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
// 修改个人
export function UpdateGeRen(data) {
return request({
url: '/base/v1/basedistributorperson/update/' + data.sid,
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
// 删除 // 删除
export function deleteBySids(data) { export function deleteBySids(data) {
return request({ return request({
@ -48,8 +68,8 @@ export function brandLike(data) {
// 回显/base/v1/basedistributor/details/{sid} // 回显/base/v1/basedistributor/details/{sid}
export function detailsFaRen(data) { export function detailsFaRen(data) {
return request({ return request({
url: '/base/v1/basedistributor/details/'+ data, url: '/base/v1/basedistributor/details/' + data,
method: 'get', method: 'get'
}) })
} }

8
anrui-base/anrui-base-ui/src/api/business/geRen.js

@ -1,14 +1,12 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs'
// 添加个人 // 添加个人
export function SaveListGeRen(data) { export function SaveListGeRen(data) {
return request({ return request({
url: '/base/v1/basedistributorperson/save', data, url: '/base/v1/basedistributorperson/save',
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }
// 修改个人 // 修改个人
@ -17,6 +15,6 @@ export function UpdateGeRen(data) {
url: `/base/v1/basedistributorperson/update/${data.sid}`, url: `/base/v1/basedistributorperson/update/${data.sid}`,
method: 'post', method: 'post',
data: data, data: data,
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}) })
} }

6
anrui-base/anrui-base-ui/src/main.js

@ -65,7 +65,9 @@ function getUserInfo() {
userSid: data.sid, userSid: data.sid,
orgSid: data.organizationSid, // 单位sid orgSid: data.organizationSid, // 单位sid
Orgname: data.organizationName, Orgname: data.organizationName,
dwjb: data.dwjb dwjb: data.dwjb,
orgNamePath: data.orgNamePath, // 使用组织全路径名称
orgSidPath: data.orgSidPath // 使用组织全路径Sid
}; };
// 结果存入缓存 // 结果存入缓存
window.sessionStorage.setItem('staffSid', user.staffSid) window.sessionStorage.setItem('staffSid', user.staffSid)
@ -77,6 +79,8 @@ function getUserInfo() {
window.sessionStorage.setItem('user', user) window.sessionStorage.setItem('user', user)
window.sessionStorage.setItem('departmentName', user.departmentName) window.sessionStorage.setItem('departmentName', user.departmentName)
window.sessionStorage.setItem('departmentSid', user.departmentSid) window.sessionStorage.setItem('departmentSid', user.departmentSid)
window.sessionStorage.setItem('orgNamePath', user.orgNamePath)
window.sessionStorage.setItem('orgSidPath', user.orgSidPath)
}) })
} }
getUserInfo() getUserInfo()

1429
anrui-base/anrui-base-ui/src/views/jingxiaoshang/jingxiaoshangguanli/jingxiaoshangAdd.vue

File diff suppressed because it is too large

476
anrui-base/anrui-base-ui/src/views/jingxiaoshang/jingxiaoshangguanli/jingxiaoshangInfo.vue

@ -1,113 +1,409 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-tabs v-model="activeName" type="card" class="tab" @tab-click="tabChangeHandle"> <div class="tab-header webtop">
<el-tab-pane name="first"> <div>经销商信息详情</div>
<span slot="label">基本信息</span> <div>
<Jibenxinxi :sid="sid" @change="change" /> <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</el-tab-pane> </div>
<el-tab-pane name="second"> </div>
<span slot="label">备案资料</span> <div class="listconadd">
<Beianziliao :sid="sid" @change="change" /> <div class="tab-header webtopb">
</el-tab-pane> <div class="farenb">经销商属性</div>
<el-tab-pane name="third"> <div class="faren">{{ dealerAttributes }}</div>
<span slot="label">备案账号</span> </div>
<Beianzhanghao :sid="sid" @change="change" /> <div v-show="dealerAttributes == '企业'">
</el-tab-pane> <div class="titcon">
<el-tab-pane name="four"> <div class="title">经销商信息</div>
<span slot="label">相关项目</span> </div>
<Xiangguanxiangmu :sid="sid" @change="change" /> <el-form ref="dataForm" :model="templook" label-position="right" class="formadd" :rules="rules">
</el-tab-pane> <el-row>
</el-tabs> <el-col :span="4" class="trightb">经销商名称</el-col>
<el-col :span="8" class="tleft"> {{ templook.distributorName }}</el-col>
<el-col :span="4" class="trightb">经销商类型</el-col>
<el-col :span="8" class="tleft"> {{ templook.distributorTypeValue }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">经销商等级</el-col>
<el-col :span="8" class="tleft"> {{ templook.distributorLevelValue }}</el-col>
<el-col :span="4" class="trightb">企业性质</el-col>
<el-col :span="8" class="tleft"> {{ templook.enterpriseNature }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">统一社会信用代码</el-col>
<el-col :span="8" class="tleft"> {{ templook.numCode }}</el-col>
<el-col :span="4" class="trightb">注册资本</el-col>
<el-col :span="8" class="tleft"> {{ templook.registeredCapital }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">注册资本单位</el-col>
<el-col :span="8" class="tleft"> {{ templook.registeredCapitalOrg }}</el-col>
<el-col :span="4" class="trightb">成立日期</el-col>
<el-col :span="8" class="tleft"> {{ templook.setUpTime }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">营业期限开始时间</el-col>
<el-col :span="8" class="tleft"> {{ templook.businessTermStartTime }}</el-col>
<el-col :span="4" class="trightb">营业期限结束时间</el-col>
<el-col :span="8" class="tleft"> {{ templook.businessTermEndTime }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">登记机关</el-col>
<el-col :span="8" class="tleft"> {{ templook.registAuthority }}</el-col>
<el-col :span="4" class="trightb">核准日期</el-col>
<el-col :span="8" class="tleft"> {{ templook.approvalDate }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">登记状态</el-col>
<el-col :span="8" class="tleft"> {{ templook.registState }}</el-col>
<el-col :span="4" class="trightb">是否担保回购</el-col>
<el-col :span="8" class="tleft"> {{ templook.guaranteeOrNot == '1' ? '是' : '否' }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">业务联系人</el-col>
<el-col :span="8" class="tleft"> {{ templook.businessContact }}</el-col>
<el-col :span="4" class="trightb">联系方式</el-col>
<el-col :span="8" class="tleft"> {{ templook.businessMobile }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">企业负责人</el-col>
<el-col :span="8" class="tleft"> {{ templook.enterpriseContact }}</el-col>
<el-col :span="4" class="trightb">联系方式</el-col>
<el-col :span="8" class="tleft"> {{ templook.enterpriseMobile }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">通讯地址</el-col>
<el-col :span="8" class="tleft"> {{ templook.address }}</el-col>
<el-col :span="4" class="trightb">通讯地址邮编</el-col>
<el-col :span="8" class="tleft"> {{ templook.zipCode }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">使用组织</el-col>
<el-col :span="8" class="tleft"> {{ templook.useOrgName }}</el-col>
<el-col :span="4" class="trightb">备注</el-col>
<el-col :span="8" class="tleft"> {{ templook.remarks }}</el-col>
</el-row>
</el-form>
<div class="titcon">
<div class="title">人员列表</div>
</div>
<el-table :key="tableKey" v-loading="listLoading" :data="list" :index="index" border style="width: 100%;">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="姓名" align="center">
<template slot-scope="scope">
{{ scope.row.name }}
</template>
</el-table-column>
<el-table-column label="关联类型" align="center">
<template slot-scope="scope">
{{ scope.row.linkType }}
</template>
</el-table-column>
<el-table-column label="联系电话" align="center">
<template slot-scope="scope">
{{ scope.row.mobile }}
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<template slot-scope="scope">
{{ scope.row.remarks }}
</template>
</el-table-column>
</el-table>
</div>
<div v-show="dealerAttributes == '个人'">
<div class="titcon">
<div class="title">个人信息</div>
</div>
<el-form ref="dataForm" :model="templook" label-position="right" class="formadd" :rules="rules">
<el-row>
<el-col :span="4" class="trightb">姓名</el-col>
<el-col :span="8" class="tleft"> {{ templook.distributorName }}</el-col>
<el-col :span="4" class="trightb">身份证号</el-col>
<el-col :span="8" class="tleft"> {{ templook.numCode }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">经销商类型</el-col>
<el-col :span="8" class="tleft"> {{ templook.distributorTypeValue }}</el-col>
<el-col :span="4" class="trightb">联系电话</el-col>
<el-col :span="8" class="tleft"> {{ templook.businessMobile }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">通讯地址</el-col>
<el-col :span="8" class="tleft"> {{ templook.address }}</el-col>
<el-col :span="4" class="trightb">通讯地址邮编</el-col>
<el-col :span="8" class="tleft"> {{ templook.zipCode }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">项目类型</el-col>
<el-col :span="8" class="tleft"> {{ templook.projectType }}</el-col>
<el-col :span="4" class="trightb">区域</el-col>
<el-col :span="8" class="tleft">
{{ templook.province }}{{ templook.city }}{{ templook.county }}{{ templook.address }}
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">所属厂商</el-col>
<el-col :span="8" class="tleft"> {{ templook.belongsToVendor }}</el-col>
<el-col :span="4" class="trightb">经销品牌</el-col>
<el-col :span="8" class="tleft"> {{ templook.distributorBrand }}</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">其他区信息</el-col>
<el-col :span="20" class="tleft"> {{ templook.remarks }}</el-col>
</el-row>
</el-form>
</div>
<div class="titcon">
<div class="title">备案资料</div>
</div>
<el-table :key="FilingInformationKey" v-loading="listLoading" :data="FilingInformationList" border style="width: 100%;">
<el-table-column label="文件名" align="center">
<template slot-scope="scope">
<span>{{ scope.row.fileName }}</span>
</template>
</el-table-column>
<el-table-column label="文件类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.fileType }}</span>
</template>
</el-table-column>
<el-table-column label="上传人" align="center">
<template slot-scope="scope">
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="上传时间" align="center">
<template slot-scope="scope">
<span>{{ scope.row.createTime }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="250px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="handDown(row)">下载</el-button>
</template>
</el-table-column>
</el-table>
<div class="titcon">
<div class="title">备案账号</div>
</div>
<el-table :key="filingAccoutKey" v-loading="listLoading" :index="index" :data="filingAccoutList" border style="width: 100%">
<el-table-column width="80px" label="编号" type="index" :index="index + 1" align="center" />
<el-table-column label="收款单位" align="center">
<template slot-scope="scope">
<span>{{ scope.row.receivingUnit }}</span>
</template>
</el-table-column>
<el-table-column label="开户银行" align="center">
<template slot-scope="scope">
<span>{{ scope.row.bank }}</span>
</template>
</el-table-column>
<el-table-column label="收款账号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.receivingAccount }}</span>
</template>
</el-table-column>
<el-table-column label="开户支行" align="center">
<template slot-scope="scope">
<span>{{ scope.row.openingBranch }}</span>
</template>
</el-table-column>
<el-table-column label="开户行号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.bankNo }}</span>
</template>
</el-table-column>
<el-table-column label="银行所在地" align="center">
<template slot-scope="scope">
<span>{{ scope.row.bankLocation }}</span>
</template>
</el-table-column>
<el-table-column label="账户类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.accountType }}</span>
</template>
</el-table-column>
<el-table-column label="账户用途" align="center">
<template slot-scope="scope">
<span>{{ scope.row.accountUse }}</span>
</template>
</el-table-column>
<el-table-column label="评审状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.reviewState }}</span>
</template>
</el-table-column>
<el-table-column label="提报人" align="center">
<template slot-scope="scope">
<span>{{ scope.row.mention }}</span>
</template>
</el-table-column>
</el-table>
<div class="titcon">
<div class="title">相关项目</div>
</div>
<el-table :key="relevantProjectKey" v-loading="listLoading" :data="relevantProjectList" border style="width: 100%;">
<el-table-column label="客户名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.a }}</span>
</template>
</el-table-column>
<el-table-column label="项目类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column label="项目名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column label="客户经理" align="center">
<template slot-scope="scope">
<span>{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column label="所属大区" align="center">
<template slot-scope="scope">
<span>{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column label="流程号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column label="项目状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center">
<template slot-scope="scope">
<span>{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column label="更新时间" align="center">
<template slot-scope="scope">
<span>{{ scope.row.telephone }}</span>
</template>
</el-table-column>
</el-table>
</div>
</div> </div>
</template> </template>
<script> <script>
// import { mapGetters } from 'vuex' import { detailsFaRen } from '@/api/business/faRen'
// import { import { postDownload } from '@/api/business/beiAn'
// getServiceTypeList,
// getServiceTypePageList,
// addServiceType,
// getServiceType,
// editServiceType,
// delServiceType,
// } from "@/api/yanglao/serviceType";
// import { getFileType, parseDate, parseTime, ConvertMenuState } from "@/utils";
// import { findButtonByUserId } from '@/api/sys/permission'
import Jibenxinxi from '@/views/jingxiaoshang/infocomponents/jibenxinxiInfo'
import Beianziliao from '@/views/jingxiaoshang/infocomponents/beianziliaoInfo'
import Beianzhanghao from '@/views/jingxiaoshang/infocomponents/beianzhanghaoInfo'
import Xiangguanxiangmu from '@/views/jingxiaoshang/infocomponents/xiangguanxiangmuInfo'
export default {
name: 'Renwu',
components: {
Jibenxinxi,
Beianziliao,
Beianzhanghao, Xiangguanxiangmu
},
props: {
// // activeName: {
}, export default {
name: 'jingxiaoshangInfo',
data() { data() {
return { return {
activeNames: ['1'], index: 0,
activeName: 'first', tableKey: 0,
sid: '', FilingInformationKey: 1,
// --------- filingAccoutKey: 2,
// menuState: { relevantProjectKey: 3,
// add: false, // list: [],
// edit: false, // FilingInformationList: [],
// delete: false, // filingAccoutList: [],
// view: false, // relevantProjectList: [],
// audit: false, // dealerAttributes: '',
// input: false, // listLoading: false,
// output: false, // templook: {},
// upload: false, // dialogFormVisible: false, //
// release: false // dialogFormShowVisible: false, //
// } relevantProjectList: [],
// ------------------------------------ rules: {}
} }
}, },
created() {
this.sid = this.$route.params.sid
console.log('wiwiwiwi', this.sid)
// ...mapGetters([
// 'id',
// 'roles',
// 'rolesIds',
// 'departmentId',
// 'departmentCode'
// ])
},
methods: { methods: {
//
tabChangeHandle(e) { handleReturn() {
// switch (e) { this.$emit('doback')
// case '':
// console.log('' + e)
// break
// }
}, },
change(e) { //
this.activeName = e showInfo(row) {
this.dealerAttributes = row.distributorClassificationValue
detailsFaRen(row.sid).then((response) => {
if (response.code === '200') {
console.log(response.data)
this.templook = response.data
this.FilingInformationList = response.data.baseDistributorAppendixs
this.filingAccoutList = response.data.baseDistributorBanks
this.list = response.data.list
} else {
this.$notify({
title: '失败',
message: '查询失败',
type: 'error'
})
}
})
},
handDown(row) {
postDownload(row.filePath).then((res) => {
const blob = new Blob([res], {
type: 'application/msword'
})
const objectUrl = URL.createObjectURL(blob)
window.location.href = objectUrl
})
} }
} }
} }
</script> </script>
<style scoped> <style scoped>
/deep/ .el-collapse { .webtopb {
border-top: 0px solid #e6ebf5; display: flex;
border-bottom: 0px solid #e6ebf5; flex-direction: row;
justify-content: space-around;
align-items: center;
background-color: #f8fafd;
padding: 0px;
margin: 10px 0 8px 0;
border-radius: 8px;
border: 1px solid #f1f4f8;
}
.webtopb .farenb {
flex: 1;
text-align: center;
}
.webtopb .faren {
background-color: #edf1f7;
flex: 1;
display: flex;
flex-direction: row;
justify-content: center;
padding: 5px;
border-radius: 8px;
}
.formadd{
padding: 0px !important;
}
.listcon {
height: calc(100vh - 300px);
overflow-y: auto;
overflow-x: hidden;
} }
/deep/ .el-collapse-item__content { /deep/ .el-col-4 {
margin: 0;padding: 0; text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
} }
/deep/ .el-collapse-item__wrap { /deep/ .el-col-8 {
border-bottom: 0px solid #EBEEF5; font-size: 14px;
color: #606266;
line-height: 40px !important;
} }
/deep/ .el-collapse-item__header { /deep/ .el-col-20 {
border-bottom: 0px solid #e6ebf5; font-size: 14px;
color: #606266;
line-height: 40px !important;
} }
.tab{padding: 10px 0;}
</style> </style>

449
anrui-base/anrui-base-ui/src/views/jingxiaoshang/jingxiaoshangguanli/jingxiaoshangguanli.vue

@ -1,247 +1,122 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="tab-header webtop"> <div v-show="viewState ==1">
<div>经销商管理</div> <div class="tab-header webtop">
<div> <div>经销商管理</div>
<el-button type="primary" size="small" @click="handleCreate()">新建</el-button> <div>
<el-button type="primary" size="small" @click="handleUpdate()">修改</el-button> <el-button type="primary" size="small" @click="handleCreate()">新建</el-button>
<el-button type="danger" size="small" @click="handleDelete()">删除</el-button> <el-button type="primary" size="small" @click="handleUpdate()">修改</el-button>
<!-- <el-button type="primary" size="small" @click="handleDaoRu()">导入</el-button> --> <el-button type="danger" size="small" @click="handleDelete()">删除</el-button>
<el-button type="primary" size="small" disabled>下线</el-button> <!-- <el-button type="primary" size="small" @click="handleDaoRu()">导入</el-button> -->
<el-button type="success" size="small" @click="handleDaoChu()">导出</el-button> <el-button type="primary" size="small" disabled>下线</el-button>
<el-button type="success" size="small" @click="handleDaoChu()">导出</el-button>
</div>
</div> </div>
</div> <div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div class="searchcon"> <div v-show="isSearchShow" class="search">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button> <el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<div v-show="isSearchShow" class="search"> <el-form-item label="经销商名称">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> <el-input v-model="listQuery.params.distributorName" placeholder="请输入经销商名称" clearable class="filter-item" />
<el-form-item label="经销商名称"> </el-form-item>
<el-input v-model="listQuery.distributorName" placeholder="请输入经销商名称" clearable class="filter-item" /> <el-form-item label="审核状态">
</el-form-item> <el-select v-model="listQuery.params.type" class="filter-item" clearable placeholder="请选择审核状态" style="width: 200px;">
<el-form-item label="审核状态"> <el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value" />
<el-select v-model="listQuery.type" class="filter-item" clearable placeholder="请选择审核状态" style="width: 200px;"> </el-select>
<el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value" /> </el-form-item>
</el-select> <el-button type="primary" size="small" @click="handleFilter">查询</el-button>
</el-form-item> <el-button type="primary" size="small" @click="handleFilter">重置</el-button>
<el-button type="primary" @click="handleFilter">查询</el-button> </el-form>
</div>
</el-form> </div>
<div class="listtop">
<div class="tit">经销商信息列表</div>
<pageye v-show="list > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.pageSize" class="pagination" @pagination="getList" />
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center" />
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="经销商名称" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="handleCheck(scope.row)">{{ scope.row.distributorName }}</span>
</template>
</el-table-column>
<el-table-column label="经销商属性" align="center">
<template slot-scope="scope">
<span>{{ scope.row.distributorClassificationValue}}</span>
</template>
</el-table-column>
<el-table-column label="证件号码" align="center">
<template slot-scope="scope">
<span>{{ scope.row.numCode }}</span>
</template>
</el-table-column>
<el-table-column label="审核状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.telephone }}</span>
</template>
</el-table-column>
<el-table-column label="流程编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.hao }}</span>
</template>
</el-table-column>
<el-table-column label="指标" align="center">
<template slot-scope="scope">
<span>{{ scope.row.code }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div> </div>
</div> </div>
<div class="listtop"> <jingxiaoshangAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<div class="tit">经销商信息列表</div> <jingxiaoshangInfo v-show="viewState ==4" ref="divInfo" @doback="resetState"/>
<pageye v-show="total>0" :total="total" :page.sync="listQuery.pageNumber" :limit.sync="listQuery.pageSize" class="pagination" @pagination="getList" />
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change=" handleSelectionChange">
<el-table-column width="50px" type="selection" align="center" />
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="经销商名称" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="handleCheck(scope.row)">{{ scope.row.distributorName }}</span>
</template>
</el-table-column>
<el-table-column label="经销商属性" align="center">
<template slot-scope="scope">
<span>{{ scope.row.distributorClassificationValue}}</span>
</template>
</el-table-column>
<el-table-column label="证件号码" align="center">
<template slot-scope="scope">
<span>{{ scope.row.numCode }}</span>
</template>
</el-table-column>
<el-table-column label="审核状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.telephone }}</span>
</template>
</el-table-column>
<el-table-column label="流程编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.hao }}</span>
</template>
</el-table-column>
<el-table-column label="指标" align="center">
<template slot-scope="scope">
<span>{{ scope.row.code }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="操作" align="center" width="250px" class-name="small-padding fixed-width">
<template slot-scope="{row}">
<el-button size="mini" type="primary" @click="jingxiaoshangzhanghu(row)">经销商账户</el-button>
</template>
</el-table-column> -->
</el-table>
</div>
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="total>0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div>
</div> </div>
</template> </template>
<script> <script>
import { mapGetters } from 'vuex'
// import {
// getServiceTypeList,
// getServiceTypePageList,
// addServiceType,
// getServiceType,
// editServiceType,
// delServiceType,
// } from "@/api/yanglao/serviceType";
// import { getFileType, parseDate, parseTime, ConvertMenuState } from "@/utils";
// import { findButtonByUserId } from '@/api/sys/permission'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import { import { pagerList, deleteBySids, basefinbankExportExcel } from '@/api/business/jingXiaoShangGuanLi'
pagerList, import jingxiaoshangAdd from './jingxiaoshangAdd.vue'
deleteBySids, import jingxiaoshangInfo from './jingxiaoshangInfo.vue'
basefinbankExportExcel,
} from '@/api/business/jingXiaoShangGuanLi'
export default { export default {
name: 'Jingxiaoshangguanli', name: 'Jingxiaoshangguanli',
components: { components: {
Pagination, Pagination,
pageye, pageye,
jingxiaoshangAdd,
jingxiaoshangInfo,
}, },
// directives: {
// drag: {
// //
// bind: function(el) {
// const odiv = el //
// el.onmousedown = (e) => {
// //
// const disX = e.clientX - odiv.offsetLeft
// const disY = e.clientY - odiv.offsetTop
// let left = ''
// let top = ''
// document.onmousemove = (e) => {
// //
// left = e.clientX - disX
// top = e.clientY - disY
// // positionXpositionY
// //
// odiv.style.left = left + 'px'
// odiv.style.top = top + 'px'
// }
// document.onmouseup = (e) => {
// document.onmousemove = null
// document.onmouseup = null
// }
// }
// }
// },
// // v-focus
// focus: {
// //
// inserted: function(el) {
// //
// el.querySelector('input').focus()
// }
// }
// },
data() { data() {
return { return {
isSearchShow: false, isSearchShow: false,
searchxianshitit: '显示查询条件', searchxianshitit: '显示查询条件',
viewState: 1,
sids: [], sids: [],
// ---------
menuState: {
add: false, //
edit: false, //
delete: false, //
view: false, //
audit: false, //
input: false, //
output: false, //
upload: false, //
release: false, //
},
// -----------
tableKey: 0, tableKey: 0,
// list: null, list: [],
list: [
{
title: '庆安县万邦运输服务有限公司',
hao: '254102125466',
},
],
total: 1,
FormLoading: false,
listLoading: false, listLoading: false,
listQuery: { listQuery: {
current: 1, current: 1,
size: 20, size: 10,
params: { params: {
distributorName: '', distributorName: '',
type: ''
}, },
total: 0
}, },
selectDate: undefined,
temp: {}, //
templook: {}, //
textMap: {
update: '编辑',
create: '创建',
},
dialogFormVisible: false, //
dialogFormShowVisible: false, //
dialogStatus: '', //
typeOptions: [], typeOptions: [],
tureArrys: [ rules: {}
{
value: 1,
label: '是',
},
{
value: 0,
label: '否',
},
],
fenzuOptions: [
{
value: '1',
label: '单位',
},
{
value: '2',
label: '个人',
},
],
rules: {
title: [
{
required: true,
message: '请填写',
trigger: 'blur',
},
],
qc: [
{
required: true,
message: '请填写全称',
trigger: 'blur',
},
],
},
zhuangtai: '',
// ------------------------------------
} }
}, },
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
},
created() { created() {
//
this.init()
// //
this.getList() this.getList()
}, },
@ -255,188 +130,87 @@ export default {
this.searchxianshitit = '显示查询条件' this.searchxianshitit = '显示查询条件'
} }
}, },
init() {
// .
// findButtonByUserId(this.$route.path).then(response => {
// if (
// response.code === 20000 &&
// response.data &&
// response.data.length > 0
// ) {
// this.menuState = ConvertMenuState(response.data) //
// }
// })
},
// //
indexMethod(index) { indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart var pageindex = index + 1 + pagestart
return pageindex return pageindex
}, },
// //
getList() { getList() {
this.listLoading = true this.listLoading = true
console.log('查询:', this.listQuery) pagerList(this.listQuery).then((response) => {
pagerList({
current: this.listQuery.current,
size: this.listQuery.size,
params: {
distributorName: this.listQuery.distributorName,
},
}).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false this.listLoading = false
if (response.code === '200') { if (response.code === '200' && response.success) {
this.list = response.data.records this.list = response.data.records
this.total = response.data.total this.listQuery.total = response.data.total
} else { } else {
this.list = [] this.list = []
this.total = 0 this.listQuery.total = 0
} }
}) })
}, },
// //
handleFilter() { handleFilter() {
this.listQuery.pageNumber = 1 this.listQuery.current = 1
this.getList() this.getList()
}, },
// ------------------------------------------------------
//
resetTemp() {
this.temp = {
jc: '', // false string
organizationId: '', // false string
qc: '', // false string
remark: '', // false
string: '', //
state: '', //
}
},
// //
handleCreate() { handleCreate() {
if (this.$store.state.counter === 0) { this.viewState = 2
this.$store.state.counter this.$refs['divAdd'].showAdd()
console.log('打开添加对话框', this.$store.state.counter)
this.$router.push({
path: '/jingxiaoshang/jingxiaoshangAdd',
})
} else {
this.$store.state.counter = 0
this.$router.push({
path: '/jingxiaoshang/jingxiaoshangAdd',
})
}
}, },
handleSelectionChange(row) { handleSelectionChange(row) {
console.log(row, '99999999')
const aa = [] const aa = []
const bb = []
row.forEach((element) => { row.forEach((element) => {
console.log('79999999', element)
aa.push(element.sid) aa.push(element.sid)
bb.push(element.distributorClassification)
}) })
this.sids = aa this.sids = aa
this.zhuangtai = bb
console.log(this.zhuangtai, 'wowopwpwp')
console.log('02555555', this.sids)
}, },
// //
handleUpdate() { handleUpdate() {
if (this.sids.length === 1) { if (this.sids.length === 1) {
this.dialogStatus = 'update' this.viewState = 3
this.$router.push({ this.$refs['divAdd'].showEdit(this.sids)
path: `/jingxiaoshang/jingxiaoshangEdit/${this.sids[0]}`,
query: {
ztsid: this.zhuangtai,
},
})
} else if (this.sids.length > 1) { } else if (this.sids.length > 1) {
this.$notify({ this.$notify({
title: '提示', title: '提示',
message: '不能选中多个商修改!!', message: '不能选中多个经销商修改!',
type: 'info', type: 'info',
duration: 2000, duration: 2000
}) })
} else { } else {
this.$notify({ this.$notify({
title: '提示', title: '提示',
message: '没有选择经销商!!', message: '没有选择经销商!',
type: 'error', type: 'error',
duration: 2000, duration: 2000
}) })
return return
} }
}, },
//
updateData() {
// this.$refs['dataForm'].validate(valid => {
// if (valid) {
// //
// this.FormLoading = true
// // console.log('' + JSON.stringify(this.temp))
// editServiceType(this.temp).then(response => {
// this.FormLoading = false
// if (response.code === 20000) {
// this.getList()
// this.dialogFormVisible = false
// this.$notify({
// title: '',
// message: '',
// type: 'success',
// duration: 2000
// })
// } else {
// this.$notify({
// title: '',
// message: '',
// type: 'error'
// })
// }
// })
// }
// })
},
//
jingxiaoshangzhanghu(row) {
this.$router.push({
path: '/jingxiaoshang/jingxiaoshangInfo',
})
},
// //
handleCheck(row) { handleCheck(row) {
this.$store.distributionSid = '' this.viewState = 4
this.$store.distributionSid = row.sid this.$refs['divInfo'].showInfo(row)
this.$router.push({
path: `/jingxiaoshang/jingxiaoshangInfo/${row.sid}`,
query: {
ztids: row.distributorClassification,
},
})
}, },
// ID // ID
handleDelete() { handleDelete() {
if (this.sids.length > 0) { if (this.sids.length > 0) {
deleteBySids(this.sids).then((response) => { deleteBySids(this.sids).then((response) => {
console.log('3455', response)
if (response.code === '200') { if (response.code === '200') {
this.$notify({ this.$notify({
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'
}) })
} }
}) })
@ -445,16 +219,19 @@ export default {
title: '提示', title: '提示',
message: '没有选择经销商!!', message: '没有选择经销商!!',
type: 'error', type: 'error',
duration: 2000, duration: 2000
}) })
return return
} }
}, },
resetState() {
this.viewState = 1
},
// //
handleDaoChu() { handleDaoChu() {
basefinbankExportExcel(this.sids).then((res) => { basefinbankExportExcel(this.sids).then((res) => {
const blob = new Blob([res], { const blob = new Blob([res], {
type: 'application/vnd.ms-excel', type: 'application/vnd.ms-excel'
}) })
const objectUrl = URL.createObjectURL(blob) const objectUrl = URL.createObjectURL(blob)
window.location.href = objectUrl window.location.href = objectUrl
@ -462,7 +239,7 @@ export default {
title: '提示', title: '提示',
message: '导出成功', message: '导出成功',
type: 'success', type: 'success',
duration: 2000, duration: 2000
}) })
}) })
}, },
@ -471,7 +248,7 @@ export default {
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
@ -501,8 +278,8 @@ export default {
// message: '' // message: ''
// }) // })
// }) // })
}, }
}, }
} }
</script> </script>
<style scoped> <style scoped>
@ -523,8 +300,4 @@ export default {
/deep/ .el-collapse-item__header { /deep/ .el-collapse-item__header {
border-bottom: 0px solid #e6ebf5; border-bottom: 0px solid #e6ebf5;
} }
.searchli {
padding: 5px 100px;
}
</style> </style>

16
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderAllDto.java

@ -14,8 +14,8 @@ import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -31,25 +31,25 @@ public class BusSalesOrderAllDto implements Dto {
private String sid; private String sid;
@ApiModelProperty(value = "用户sid", required = true) @ApiModelProperty(value = "用户sid", required = true)
@NotBlank(message = "用户sid不能为空") @NotBlank(message = "参数错误:用户sid")
private String userSid; private String userSid;
@ApiModelProperty(value = "销售部门sid", required = true) @ApiModelProperty(value = "销售部门sid", required = true)
@NotBlank(message = "销售部门sid不能为空") @NotBlank(message = "参数错误:销售部门sid")
private String orgSid; private String orgSid;
@ApiModelProperty(value = "销售部门", required = true) @ApiModelProperty(value = "销售部门", required = true)
@NotBlank(message = "销售部门不能为空") @NotBlank(message = "参数错误:销售部门")
private String orgName; private String orgName;
@ApiModelProperty(value = "客户名称", required = true) @ApiModelProperty(value = "客户名称", required = true)
@NotBlank(message = "客户名称不能为空") @NotBlank(message = "客户名称不能为空")
private String customerName; private String customerName;
@ApiModelProperty(value = "客户sid", required = true) @ApiModelProperty(value = "客户sid", required = true)
@NotBlank(message = "客户sid不能为空") @NotBlank(message = "参数错误:客户sid")
private String customerSid; private String customerSid;
@ApiModelProperty(value = "销售专员", required = true) @ApiModelProperty(value = "销售专员", required = true)
@NotBlank(message = "销售专员不能为空") @NotBlank(message = "销售专员不能为空")
private String staffName; private String staffName;
@ApiModelProperty(value = "销售专员sid", required = true) @ApiModelProperty(value = "销售专员sid", required = true)
@NotBlank(message = "销售专员sid不能为空") @NotBlank(message = "参数错误:销售专员sid")
private String staffSid; private String staffSid;
@ApiModelProperty(value = "客户联系电话", required = true) @ApiModelProperty(value = "客户联系电话", required = true)
@NotBlank(message = "客户联系电话不能为空") @NotBlank(message = "客户联系电话不能为空")
@ -83,7 +83,7 @@ public class BusSalesOrderAllDto implements Dto {
@NotBlank(message = "销售订单车辆类型不能为空") @NotBlank(message = "销售订单车辆类型不能为空")
private String type; private String type;
@ApiModelProperty(value = "主车车型信息") @ApiModelProperty(value = "主车车型信息")
@NotNull(message = "车型信息不能为空") @Valid
private BusSalesOrderModelDto busSalesOrderModel; private BusSalesOrderModelDto busSalesOrderModel;
@ApiModelProperty(value = "现车车辆信息") @ApiModelProperty(value = "现车车辆信息")
private List<BusSalesOrderVehicleDto> busSalesOrderVehicleList; private List<BusSalesOrderVehicleDto> busSalesOrderVehicleList;
@ -92,12 +92,14 @@ public class BusSalesOrderAllDto implements Dto {
@ApiModelProperty(value = "上装配置信息") @ApiModelProperty(value = "上装配置信息")
private BusSalesOrderMakeupDto busSalesOrderMakeup; private BusSalesOrderMakeupDto busSalesOrderMakeup;
@ApiModelProperty(value = "价格信息") @ApiModelProperty(value = "价格信息")
@Valid
private BusSalesOrderPriceDto busSalesOrderPrice; private BusSalesOrderPriceDto busSalesOrderPrice;
@ApiModelProperty(value = "主车优惠明细") @ApiModelProperty(value = "主车优惠明细")
private List<BusSalesOrderDiscountDto> busSalesOrderDiscountList; private List<BusSalesOrderDiscountDto> busSalesOrderDiscountList;
@ApiModelProperty(value = "保险说明") @ApiModelProperty(value = "保险说明")
private BusSalesOrderInsuranceDto busSalesOrderInsurance; private BusSalesOrderInsuranceDto busSalesOrderInsurance;
@ApiModelProperty(value = "订金信息") @ApiModelProperty(value = "订金信息")
@Valid
private BusSalesOrderDepositDto busSalesOrderDeposit; private BusSalesOrderDepositDto busSalesOrderDeposit;
@ApiModelProperty(value = "虚拟订单和订金关联信息") @ApiModelProperty(value = "虚拟订单和订金关联信息")
private List<BusDepositFictitiousDto> busDepositFictitiousList; private List<BusDepositFictitiousDto> busDepositFictitiousList;

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java

@ -33,6 +33,8 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/** /**
* Project: anrui-buscenter(业务管理) <br/> * Project: anrui-buscenter(业务管理) <br/>
* File: BusSalesOrderFeign.java <br/> * File: BusSalesOrderFeign.java <br/>
@ -62,7 +64,7 @@ public interface BusSalesOrderFeign {
@ApiOperation("新增或修改") @ApiOperation("新增或修改")
@PostMapping("/saveOrUpdate") @PostMapping("/saveOrUpdate")
@ResponseBody @ResponseBody
public ResultBean<String> save(@RequestBody BusSalesOrderAllDto dto); public ResultBean<String> save(@Valid @RequestBody BusSalesOrderAllDto dto);
@ApiOperation("删除/批量删除") @ApiOperation("删除/批量删除")
@DeleteMapping("/delBySids") @DeleteMapping("/delBySids")

14
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositDto.java

@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
/** /**
* Project: anrui-buscenter(业务管理) <br/> * Project: anrui-buscenter(业务管理) <br/>
* File: BusSalesOrderDepositDto.java <br/> * File: BusSalesOrderDepositDto.java <br/>
@ -49,13 +51,17 @@ import lombok.Data;
public class BusSalesOrderDepositDto implements Dto { public class BusSalesOrderDepositDto implements Dto {
private static final long serialVersionUID = -5178085916707721474L; private static final long serialVersionUID = -5178085916707721474L;
@ApiModelProperty("单台订金") @ApiModelProperty(value = "单台订金", required = true)
@NotBlank(message = "参数错误:订金信息单台订金不能为空")
private String deposit; private String deposit;
@ApiModelProperty("订金合计") @ApiModelProperty(value = "订金合计", required = true)
@NotBlank(message = "参数错误:订金信息订金合计不能为空")
private String depositAll; private String depositAll;
@ApiModelProperty("订金交纳方式") @ApiModelProperty(value = "订金交纳方式", required = true)
@NotBlank(message = "参数错误:订金信息订金交纳方式不能为空")
private String depositType; private String depositType;
@ApiModelProperty("订金交纳方式key") @ApiModelProperty(value = "订金交纳方式key", required = true)
@NotBlank(message = "参数错误:订金交纳方式key")
private String depositTypeKey; private String depositTypeKey;
@ApiModelProperty("需补交订金") @ApiModelProperty("需补交订金")
private String makeUpDeposit; private String makeUpDeposit;

12
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderprice/BusSalesOrderPriceDto.java

@ -32,6 +32,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date; import java.util.Date;
/** /**
@ -52,18 +54,24 @@ import java.util.Date;
public class BusSalesOrderPriceDto implements Dto { public class BusSalesOrderPriceDto implements Dto {
private static final long serialVersionUID = -1959772405551004198L; private static final long serialVersionUID = -1959772405551004198L;
@ApiModelProperty("单台指导价(主车加上装)") @ApiModelProperty(value = "单台指导价(主车加上装)", required = true)
@NotBlank(message = "参数错误:价格信息单台指导价不能为空")
private String singleGuildPrice; private String singleGuildPrice;
@ApiModelProperty("单台成交价(主车加上装)") @ApiModelProperty(value = "单台成交价(主车加上装)", required = true)
@NotBlank(message = "参数错误:价格信息单台成交价不能为空")
private String singleFinalPrice; private String singleFinalPrice;
@ApiModelProperty("台数") @ApiModelProperty("台数")
@NotNull(message = "参数错误:价格信息台数不能为空")
private Integer quantity; private Integer quantity;
@ApiModelProperty("车价合计") @ApiModelProperty("车价合计")
@NotBlank(message = "参数错误:车价合计不能为空")
private String priceSum; private String priceSum;
@ApiModelProperty("计划提车地点") @ApiModelProperty("计划提车地点")
@NotBlank(message = "参数错误:计划提车地点不能为空")
private String plannedPickUpLocation; private String plannedPickUpLocation;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("计划提车日期") @ApiModelProperty("计划提车日期")
@NotNull(message = "参数错误:计划提车日期不能为空")
private Date plannedPickUpDate; private Date plannedPickUpDate;
} }

21
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -315,6 +315,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//验证台数是否正确 //验证台数是否正确
//初始化台数 //初始化台数
int vehicleNum = 0; int vehicleNum = 0;
//判断和价格信息中的台数是否一致
int quantity = dto.getBusSalesOrderPrice().getQuantity();
if ("1".equals(dto.getType())) { if ("1".equals(dto.getType())) {
//现车 //现车
vehicleNum = dto.getBusSalesOrderVehicleList().size(); vehicleNum = dto.getBusSalesOrderVehicleList().size();
@ -325,9 +327,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
for (int i = 0; i < busSalesVehicleOrderList.size(); i++) { for (int i = 0; i < busSalesVehicleOrderList.size(); i++) {
vehicleNum = vehicleNum + busSalesVehicleOrderList.get(i).getUsingNum(); vehicleNum = vehicleNum + busSalesVehicleOrderList.get(i).getUsingNum();
} }
}else{
vehicleNum = quantity;
} }
//判断和价格信息中的台数是否一致
int quantity = dto.getBusSalesOrderPrice().getQuantity();
if (vehicleNum != quantity) { if (vehicleNum != quantity) {
return rb.setMsg("选择的台数与价格信息中的台数数值不一致"); return rb.setMsg("选择的台数与价格信息中的台数数值不一致");
} }
@ -342,9 +345,11 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//包含上装 //包含上装
if ("1".equals(dto.getIsTop())) { if ("1".equals(dto.getIsTop())) {
//上装价格 //上装价格
String topPrice = dto.getBusSalesOrderMakeup().getTopPrice(); BusSalesOrderMakeupDto busSalesOrderMakeup = dto.getBusSalesOrderMakeup();
singleGuildPriceBig.add(new BigDecimal(topPrice)); String topPrice = busSalesOrderMakeup.getTopPrice();
singleFinalPriceBig.add(new BigDecimal(topPrice)); // String topPrice = dto.getBusSalesOrderMakeup().getTopPrice();
singleGuildPriceBig = singleGuildPriceBig.add(new BigDecimal(topPrice));
singleFinalPriceBig = singleFinalPriceBig.add(new BigDecimal(topPrice));
} }
//单台指导价(主车+上装价格) //单台指导价(主车+上装价格)
String singleGuildPrice = dto.getBusSalesOrderPrice().getSingleGuildPrice(); String singleGuildPrice = dto.getBusSalesOrderPrice().getSingleGuildPrice();
@ -372,8 +377,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
String price = busSalesOrderDiscountList.get(i).getPrice(); String price = busSalesOrderDiscountList.get(i).getPrice();
Integer num = busSalesOrderDiscountList.get(i).getNum(); Integer num = busSalesOrderDiscountList.get(i).getNum();
String totalValue = busSalesOrderDiscountList.get(i).getTotalValue(); String totalValue = busSalesOrderDiscountList.get(i).getTotalValue();
if (new BigDecimal(totalValue).compareTo(new BigDecimal(price).multiply(new BigDecimal(num.toString()))) != 0) { if(StringUtils.isNotBlank(price) && StringUtils.isNotBlank(totalValue) && num != 0){
return rb.setMsg("主车优惠明细中总价值数值计算错误"); if (new BigDecimal(totalValue).compareTo(new BigDecimal(price).multiply(new BigDecimal(num.toString()))) != 0) {
return rb.setMsg("主车优惠明细中总价值数值计算错误");
}
} }
} }
} }

15
anrui-buscenter/anrui-buscenter-ui/src/api/chukuguanli/chukubanli.js

@ -1,5 +1,4 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs'
// 待出库分页列表 已改 // 待出库分页列表 已改
export function listPage(params) { export function listPage(params) {
@ -13,7 +12,19 @@ export function listPage(params) {
}); });
} }
// 出库申请初始化/详情 已改 // 验证是否可出库
export function checkingApply(params) {
return request({
url: '/buscenter/v1/busdeliveredapply/checkingApply',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}
// 出库申请详情、编辑回显 已改
export function fetchDetailsBySid(params) { export function fetchDetailsBySid(params) {
return request({ return request({
url: '/buscenter/v1/busdeliveredapply/fetchDetailsBySid', url: '/buscenter/v1/busdeliveredapply/fetchDetailsBySid',

2
anrui-buscenter/anrui-buscenter-ui/src/api/jichuxinxi/salepolicy.js

@ -4,7 +4,7 @@ import qs from 'qs'
// 销售政策分页列表 // 销售政策分页列表
export function listPage(data) { export function listPage(data) {
return request({ return request({
url: '/buscenter/v1/busorderdiscount/listPage', url: '/base/v1/basediscountpackage/listPage',
method: 'post', method: 'post',
data: data, data: data,
headers: { headers: {

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

@ -1,8 +1,9 @@
import request from "@/utils/request"; import request from "@/utils/request";
// ----------------------------------- 订单管理 // ----------------------------------- 订单管理
export function getPageList(data) { // 销售订单管理列表 已改
export function getListPage(data) {
return request({ return request({
url: "/buscenter/v1/busorder/busOrderPagerList", url: "/buscenter/v1/bussalesorder/listPage",
method: "post", method: "post",
data: data, data: data,
headers: { headers: {
@ -10,10 +11,23 @@ export function getPageList(data) {
} }
}); });
} }
// 添加
// 销售订单批量删除销售订单 已改
export function delBySids(data) {
return request({
url: "/buscenter/v1/bussalesorder/delBySids",
method: "delete",
data: data,
headers: {
"Content-Type": "application/json"
}
});
}
// 销售订单新增保存 已改
export function saveOrderForm(data) { export function saveOrderForm(data) {
return request({ return request({
url: "/buscenter/v1/busorder/saveAll", url: "/buscenter/v1/bussalesorder/saveOrUpdate",
method: "post", method: "post",
data: data, data: data,
headers: { headers: {
@ -21,10 +35,11 @@ export function saveOrderForm(data) {
} }
}); });
} }
// 修改
export function updateOrderForm(data) { // 编辑、详情初始化 已改
export function fetchDetailsBySid(data) {
return request({ return request({
url: "/buscenter/v1/busorder/updateAll/" + data.busOrderDto.sid, url: "/buscenter/v1/bussalesorder/fetchDetailsBySid/" + data.sid,
method: "post", method: "post",
data: data, data: data,
headers: { headers: {
@ -32,16 +47,76 @@ export function updateOrderForm(data) {
} }
}); });
} }
// 根据编号查看详情
export function getOneDetailsByBillNo(data) { // 外联表接口
// 获取意向车型列表 已改
export function getYixiangList(data) {
return request({ return request({
url: "/buscenter/v1/busorder/getAllByBillNo", url: "/crm/v1/crmvehicledemand/selectPagePc",
method: "post", method: "post",
params: { billNo: data } data: data,
headers: {
"Content-Type": "application/json"
}
}); });
} }
// 根据订单id 获取详情 /buscenter/v1/busorder/fetchSid/{sid}
// 获取虚拟订单列表 已改
export function getXuniList(data) {
return request({
url: "/buscenter/v1/pcbusmaindeposit/pageList",
method: "post",
data: data,
headers: {
"Content-Type": "application/json"
}
});
}
// 车辆信息获取现车列表 已改
export function getXianList(data) {
return request({
url: "/base/v1/basevehicle/selectVo",
method: "post",
data: data,
headers: {
"Content-Type": "application/json"
}
});
}
// 采购订单查询分页列表 已改
export function getCaigouList(params) {
return request({
url: '/base/v1/busvehicleapplydetail/applyPage',
method: 'post',
data: params,
headers: {'Content-Type': 'application/json'}
})
}
// 销售政策分页列表 已改
export function selectSalesOrderList(params) {
return request({
url: '/base/v1/basediscountpackage/selectSalesOrderList',
method: 'post',
data: params,
headers: {'Content-Type': 'application/json'}
})
}
// 虚拟订单订金列表 已改
export function depositPageList(params) {
return request({
url: '/buscenter/v1/pcbusmaindeposit/depositPageList',
method: 'post',
data: params,
headers: {'Content-Type': 'application/json'}
})
}
// ==================== 分割 ========================
// 部门下拉 // 部门下拉
export function getListOrg(data) { export function getListOrg(data) {
return request({ return request({
@ -49,6 +124,7 @@ export function getListOrg(data) {
method: "get" method: "get"
}); });
} }
// 支付方式下拉 // 支付方式下拉
export function getPaymentType(data) { export function getPaymentType(data) {
return request({ return request({

40
anrui-buscenter/anrui-buscenter-ui/src/router/index.js

@ -288,26 +288,15 @@ export const constantRoutes = [{
title: '订销售订单详情' title: '订销售订单详情'
} }
}, },
// 消贷业务金融方案 {
// { path: '/xiaoshouguanli/xiaoshouzhengce',
// path: '/xiaoshouguanli/xiaodaijinrongfanganAdd', component: () =>
// component: () => import('@/views/xiaoshouguanli/xiaoshouzhengce/xiaoshouzhengce.vue'),
// import('@/views/xiaoshouguanli/xiaodaijinrongfangan/xiaodaijinrongfanganAdd.vue'), name: 'xiaoshouzhengce',
// name: 'xiaodaijinrongfanganAdd', meta: {
// meta: { title: '销售政策管理'
// title: '消贷业务金融方案添加' }
// } },
// },
// {
// path: '/xiaoshouguanli/xiaodaijinrongfanganInfo',
// component: () =>
// import('@/views/xiaoshouguanli/xiaodaijinrongfangan/xiaodaijinrongfanganinfo.vue'),
// name: 'xiaodaijinrongfanganInfo',
// meta: {
// title: '消贷业务金融方案详情'
// }
// },
// 挂车配置
{ {
path: '/xiaoshouguanli/guachepeizhixinxi', path: '/xiaoshouguanli/guachepeizhixinxi',
component: () => component: () =>
@ -317,16 +306,6 @@ export const constantRoutes = [{
title: '挂车配置' title: '挂车配置'
} }
}, },
// 上装配置
// {
// path: '/xiaoshouguanli/shangzhuanpeizhi',
// component: () =>
// import('@/views/xiaoshouguanli/jiaochedingdan/shangzhuanpeizhi.vue'),
// name: 'shangzhuanpeizhi',
// meta: {
// title: '上装配置'
// }
// },
// 车辆交付 // 车辆交付
{ {
path: '/xiaoshouguanli/cheliangjiaofu', path: '/xiaoshouguanli/cheliangjiaofu',
@ -668,6 +647,7 @@ export const constantRoutes = [{
// import('@/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdangan.vue'), // import('@/views/workflow/hetongguanliFlow/hetongdanganguanli/hetongdangan.vue'),
// name: 'hetongdangan', // name: 'hetongdangan',
// }, // },
// 404 page must be placed at the end !!! // 404 page must be placed at the end !!!
// { path: '*', redirect: '/404', hidden: true } // { path: '*', redirect: '/404', hidden: true }
] ]

6
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/chukushenqingAdd.vue

@ -243,7 +243,8 @@
useMessage = this.detailsList[i].useMessage useMessage = this.detailsList[i].useMessage
this.isShow = false this.isShow = false
this.isShowLook = true this.isShowLook = true
this.$refs['divUserInfo'].showInfo(useMessage, vinNo) const createBtn = false
this.$refs['divUserInfo'].showInfo(useMessage, vinNo,createBtn)
} }
} }
}, },
@ -328,7 +329,8 @@
this.temp.sid = sid this.temp.sid = sid
this.detailsList = response.data.listVo this.detailsList = response.data.listVo
for (var i = 0; i < this.detailsList.length; i++) { for (var i = 0; i < this.detailsList.length; i++) {
if (JSON.stringify(this.detailsList[i].useMessage) !== '{}') { //JSON.stringify()
if (this.detailsList[i].useMessage.vinNo !== '') {
this.detailsList[i].isExist = '1' this.detailsList[i].isExist = '1'
} }
} }

37
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/chukushenqingInfo.vue

@ -46,8 +46,8 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item> <el-form-item>
<el-radio v-model="temp.isTerminal" :label="0"></el-radio> <el-radio v-model="temp.isTerminal" disabled :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" :label="1"></el-radio> <el-radio v-model="temp.isTerminal" disabled :label="1"></el-radio>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="2"/> <el-col :span="2"/>
@ -99,7 +99,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<!-- && scope.row.exist == '1' scope.row.nodeState == '' ? false:scope.row.nodeState == '发起订单'?false : true --> <!-- && scope.row.exist == '1' scope.row.nodeState == '' ? false:scope.row.nodeState == '发起订单'?false : true -->
<el-button <el-button
v-show="temp.isTerminal === 0" v-show="temp.isTerminal === 0 && scope.row.isExist == '1'"
size="medium" size="medium"
type="primary" type="primary"
@click="lookUserInfo(scope.row.vinNo)" @click="lookUserInfo(scope.row.vinNo)"
@ -166,14 +166,7 @@
applyDate: "", // applyDate: "", //
detailsList: [], detailsList: [],
}, // }, //
detailsList: [ detailsList: [],
{
price: "", //
remarks: "", //
vinNo: "", //
useMessage: {},
},
],
sids: [], sids: [],
vinNo_info: "", vinNo_info: "",
submitDto: { submitDto: {
@ -195,24 +188,9 @@
}, },
created() { created() {
// //
this.init();
}, },
methods: { methods: {
// ------------ ------------ // ------------ ------------
init() {
this.temp = {
applyName: window.sessionStorage.getItem("name"), //
applySid: window.sessionStorage.getItem("staffSid"), // sid staffSid
contractNo: "", //
isTerminal: 3, // 10
modelName: "", //
name: "", //
sid: "",
applyDate: "", //
detailsList: [],
isUse: false,
};
},
resetState() { resetState() {
this.isShow = true; this.isShow = true;
this.isShowLook = false; this.isShowLook = false;
@ -230,8 +208,10 @@
this.temp = response.data; this.temp = response.data;
this.temp.sid = sid; this.temp.sid = sid;
this.detailsList = response.data.listVo; this.detailsList = response.data.listVo;
console.log('详情回显车辆信息', this.detailsList)
for (var i = 0; i < this.detailsList.length; i++) { for (var i = 0; i < this.detailsList.length; i++) {
if (JSON.stringify(this.detailsList[i].useMessage) !== "{}") { //JSON.stringify()
if (this.detailsList[i].useMessage.vinNo !== "") {
this.detailsList[i].isExist = "1"; this.detailsList[i].isExist = "1";
} }
} }
@ -251,7 +231,8 @@
useMessage = this.detailsList[i].useMessage; useMessage = this.detailsList[i].useMessage;
this.isShow = false; this.isShow = false;
this.isShowLook = true; this.isShowLook = true;
this.$refs["divUserInfo"].showInfo(useMessage, vinNo); const createBtn = true
this.$refs["divUserInfo"].showInfo(useMessage, vinNo,createBtn);
} }
} }
}, },

4
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/daichukucheliang.vue

@ -97,7 +97,7 @@
import {mapGetters} from 'vuex' import {mapGetters} from 'vuex'
import { import {
listPage, listPage,
fetchDetailsBySid, checkingApply,
typeValues, typeValues,
customerName, customerName,
checkNum checkNum
@ -327,7 +327,7 @@
} }
if (this.sids.length > 0) { if (this.sids.length > 0) {
this.FormLoading = true this.FormLoading = true
fetchDetailsBySid(this.initObj).then(response => { checkingApply(this.initObj).then(response => {
if (response.success) { if (response.success) {
this.viewState = 2 this.viewState = 2
this.temp = response.data this.temp = response.data

3
anrui-buscenter/anrui-buscenter-ui/src/views/chukuguanli/chukubanli/relation/userInfoLook.vue

@ -122,12 +122,13 @@
init() { init() {
}, },
showInfo(useMessage, vinNo) { showInfo(useMessage, vinNo,createBtn) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['dataForm'].clearValidate() this.$refs['dataForm'].clearValidate()
}); });
console.log('详情拿到的信息', useMessage) console.log('详情拿到的信息', useMessage)
this.tempUserLook = useMessage this.tempUserLook = useMessage
this.createBtn = createBtn
}, },
// ------------ ------------ // ------------ ------------

421
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/modellibrary.vue

@ -0,0 +1,421 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>车型库</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="webcon">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-row>
<el-form-item label="品牌:" class="searchlist">
<el-select v-model="listQuery.params.carBrand" placeholder="请选择" filterable clearable>
<el-option v-for="item in carBrand_list" :key="item.sid" :label="item.brandName"
:value="item.brandName"/>
</el-select>
</el-form-item>
<el-form-item label="功能:" class="searchlist">
<el-select v-model="listQuery.params.vehicleType" placeholder="请选择" filterable clearable>
<el-option v-for="item in vehicleType_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="系列:" class="searchlist">
<el-select v-model="listQuery.params.productLine" placeholder="请选择" filterable clearable>
<el-option v-for="item in productLine_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="驱动:" class="searchlist">
<el-select v-model="listQuery.params.driveForm" placeholder="请选择" filterable clearable>
<el-option v-for="item in driveForm_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="马力:" class="searchlist">
<el-select v-model="listQuery.params.power" placeholder="请选择" filterable clearable>
<el-option v-for="item in power_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="版本:" class="searchlist">
<el-select v-model="listQuery.params.vehicleVersion" placeholder="请选择" filterable clearable>
<el-option v-for="item in vehicleVersion_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="燃料:" class="searchlist">
<el-select v-model="listQuery.params.fuelType" placeholder="请选择" filterable clearable>
<el-option v-for="item in fuelType_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="车型编码:" class="searchlist">
<el-input v-model="listQuery.params.applyName" placeholder="" clearable style="width: 150px"/>
</el-form-item>
<el-form-item label="变速箱:" class="searchlist">
<el-select v-model="listQuery.params.gearboxType" placeholder="请选择" filterable clearable>
<el-option v-for="item in gearboxType_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="排放标准:" class="searchlist">
<el-select v-model="listQuery.params.emissionStandard" placeholder="请选择" filterable clearable>
<el-option v-for="item in emissionStandard_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="发动机型号:" class="searchlist">
<el-select v-model="listQuery.params.engineType" placeholder="请选择" filterable clearable>
<el-option v-for="item in engineType_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="细分市场:" class="searchlist">
<el-select v-model="listQuery.params.marketSegments" placeholder="请选择" filterable clearable>
<el-option v-for="item in marketSegments_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="规格型号:" class="searchlist">
<el-input v-model="listQuery.params.specifications" placeholder="" clearable style="width: 150px"/>
</el-form-item>
<el-form-item label="快捷检索:" class="searchlist">
<el-input v-model="listQuery.params.modelName" placeholder="" clearable style="width: 150px"/>
</el-form-item>
</el-row>
<div class="searchbtns">
<el-button type="primary" @click="handleFilter">查询</el-button>
<el-button type="primary" @click="handReset">重置</el-button>
</div>
</el-form>
</div>
</div>
<div class="listtop">
<div class="tit">车辆列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="handlink(scope.row)">{{ scope.row.vehicleAlias }}</span>
</template>
</el-table-column>
<el-table-column label="版本" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vehicleVersionValue }}</span>
</template>
</el-table-column>
<el-table-column label="燃料" align="center">
<template slot-scope="scope">
<span>{{ scope.row.fuelTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="变速箱" align="center">
<template slot-scope="scope">
<span>{{ scope.row.gearboxTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="销售指导价(万元)" align="center">
<template slot-scope="scope">
<span>{{ scope.row.guidedPrice }}</span>
</template>
</el-table-column>
<el-table-column label="现车" align="center">
<template slot-scope="scope">
<span>{{ scope.row.nowCarNum }}</span>
</template>
</el-table-column>
<el-table-column label="排产" align="center">
<template slot-scope="scope">
<span>{{ scope.row.productionCarNum }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="handlook(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<el-dialog :visible.sync="dialogVisible" width="50%">
<el-table :key="tableKey" :data="datalist" border style="width: 100%">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="分公司名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.company }}</span>
</template>
</el-table-column>
<el-table-column label="现车" align="center">
<template slot-scope="scope">
<span>{{ scope.row.nowCarNum }}</span>
</template>
</el-table-column>
<el-table-column label="排产车" align="center">
<template slot-scope="scope">
<span>{{ scope.row.productionCarNum }}</span>
</template>
</el-table-column>
</el-table>
</el-dialog>
<!-- 车型配置分页列表 -->
<configuration v-show="viewState == 2" ref="divConfiguration" @doback="resetState"/>
</div>
</template>
<script>
import {
brandDown,
dataDictionary,
modelPageList,
notTheCompanyModelPageList
} from '@/api/chexingchaxun/modelinquire'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import configuration from './vehiclelibraryconfiguration.vue'
export default {
name: 'chexingchaxun',
components: {
Pagination,
pageye,
configuration
},
data() {
return {
isSearchShow: false,
dialogVisible: false,
searchxianshitit: '隐藏查询条件',
viewState: 1,
tableKey: 0,
list: [],
datalist: [],
carBrand_list: [],
vehicleType_list: [],
productLine_list: [],
driveForm_list: [],
power_list: [],
vehicleVersion_list: [],
fuelType_list: [],
gearboxType_list: [],
emissionStandard_list: [],
engineType_list: [],
marketSegments_list: [],
listLoading: false,
dialogQuery: {
current: 1,
size: 10,
params: {
modelSid: '',
modelConfigSid: '',
userSid: window.sessionStorage.getItem('userSid') //
}
},
listQuery: {
current: 1,
size: 10,
params: {
carBrand: '', //
driveForm: '', //
fuelType: '', //
gearboxType: '', //
modelName: '', //
power: '', //
productLine: '', //
useOrg: '', //
userSid: window.sessionStorage.getItem('userSid'), //
vehicleType: '', //
vehicleVersion: '', //
emissionStandard: '', //
engineType: '', //
marketSegments: '', //
specifications: '' //
},
total: 0
}
}
},
created() {
//
this.init()
this.Dictionary()
//
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
init() {
this.getList()
},
// ------------------
//
Dictionary() {
brandDown().then((res) => {
if (res.code === '200') {
this.carBrand_list = res.data
}
})
dataDictionary({type: 'vehicleFunction'}).then((res) => {
if (res.code === '200') {
this.vehicleType_list = res.data
}
})
dataDictionary({type: 'productLine'}).then((res) => {
if (res.code === '200') {
this.productLine_list = res.data
}
})
dataDictionary({type: 'driver'}).then((res) => {
if (res.code === '200') {
this.driveForm_list = res.data
}
})
dataDictionary({type: 'horsepower'}).then((res) => {
if (res.code === '200') {
this.power_list = res.data
}
})
dataDictionary({type: 'vehicleVersion'}).then((res) => {
if (res.code === '200') {
this.vehicleVersion_list = res.data
}
})
dataDictionary({type: 'fuelType'}).then((res) => {
if (res.code === '200') {
this.fuelType_list = res.data
}
})
dataDictionary({type: 'gearbox'}).then((res) => {
if (res.code === '200') {
this.gearboxType_list = res.data
}
})
dataDictionary({type: 'emissionStandard'}).then((res) => {
if (res.code === '200') {
this.emissionStandard_list = res.data
}
})
dataDictionary({type: 'engineType'}).then((res) => {
if (res.code === '200') {
this.engineType_list = res.data
}
})
dataDictionary({type: 'marketSegments'}).then((res) => {
if (res.code === '200') {
this.marketSegments_list = res.data
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
modelPageList(this.listQuery).then((response) => {
this.listLoading = false
if (response.code === '200') {
this.listQuery.total = response.data.total
this.list = response.data.records
}
})
},
//
handleFilter() {
this.getList()
},
handReset() {
this.listQuery = {
current: 1,
size: 10,
params: {
carBrand: '', //
driveForm: '', //
fuelType: '', //
gearboxType: '', //
modelName: '', //
power: '', //
productLine: '', //
useOrg: '', //
userSid: window.sessionStorage.getItem('userSid'), //
vehicleType: '', //
vehicleVersion: '', //
emissionStandard: '', //
engineType: '', //
marketSegments: '', //
specifications: '' //
},
total: 0
}
this.getList()
},
handlook(row) {
this.dialogVisible = true
this.dialogQuery.params.modelSid = row.sid
notTheCompanyModelPageList(this.dialogQuery).then((res) => {
if (res.code === '200') {
this.datalist = res.data.records
}
})
},
handlink(row) {
this.viewState = 2
this.$refs['divConfiguration'].showData(row)
},
resetState() {
this.viewState = 1
this.handReset()
},
handleReturn() {
this.$emit('doReturn') //
}
}
}
</script>
<style scoped>
.listtop {
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
.tit {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
}
</style>

565
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/vehiclelibraryconfiguration.vue

@ -0,0 +1,565 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>车型库配置列表</div>
<div>
<el-button type="primary" size="small" @click="handleConfirm()">确认</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="webcon">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-row>
<el-form-item label="颜色:" class="searchlist">
<el-select v-model="listQuery.params.carColor" placeholder="请选择" filterable clearable>
<el-option v-for="item in carColor_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="缓速器:" class="searchlist">
<el-select v-model="listQuery.params.slowMachine" placeholder="请选择" filterable clearable>
<el-option v-for="item in slowMachine_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="后视镜:" class="searchlist">
<el-select v-model="listQuery.params.rearViewMirrorKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in rearViewMirror_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="轮胎:" class="searchlist">
<el-select v-model="listQuery.params.tireSizeKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in tireSize_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="驾驶室:" class="searchlist">
<el-select v-model="listQuery.params.specification" placeholder="请选择" filterable clearable>
<el-option v-for="item in specification_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="后桥速比:" class="searchlist">
<el-select v-model="listQuery.params.rearAxleRatio" placeholder="请选择" filterable clearable>
<el-option v-for="item in rearAxleRatio_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="空调:" class="searchlist">
<el-select v-model="listQuery.params.airConditionerKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in airConditioner_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="轮毂材质:" class="searchlist">
<el-select v-model="listQuery.params.hubMaterialKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in hubMaterial_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="导流罩:" class="searchlist">
<el-select v-model="listQuery.params.baffleModelKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in baffleModel_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="悬架:" class="searchlist">
<el-select v-model="listQuery.params.suspensionKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in suspension_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="座椅:" class="searchlist">
<el-select v-model="listQuery.params.seatKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in seat_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="护轮罩:" class="searchlist">
<el-select v-model="listQuery.params.tireCoverKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in tireCover_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="鞍座:" class="searchlist">
<el-select v-model="listQuery.params.saddleKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in saddle_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="轴距:" class="searchlist">
<el-select v-model="listQuery.params.wheelbaseKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in wheelbase_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="保险杠:" class="searchlist">
<el-select v-model="listQuery.params.bumperKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in bumper_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="配置包:" class="searchlist">
<el-select v-model="listQuery.params.configuringBaoKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in configuringBao_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="独立热源:" class="searchlist">
<el-select v-model="listQuery.params.independentSourcesKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in independentSources_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="燃料箱:" class="searchlist">
<el-select v-model="listQuery.params.fuelTank" placeholder="请选择" filterable clearable>
<el-option v-for="item in fuelTank_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item label="多媒体:" class="searchlist">
<el-select v-model="listQuery.params.multimediaKey" placeholder="请选择" filterable clearable>
<el-option v-for="item in multimedia_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="快捷检索:" class="searchlist">
<el-input v-model="listQuery.params.configName" placeholder="" clearable style="width: 150px"/>
</el-form-item>
</el-row>
<div class="searchbtns">
<el-button type="primary" @click="handleFilter">查询</el-button>
<el-button type="primary" @click="handReset">重置</el-button>
</div>
</el-form>
</div>
</div>
<div class="listtop">
<div class="tit">{{ modelName }}车型常用配置列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table ref="multipleTable" :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="常用配置" align="center">
<template slot-scope="scope">
<span>{{ scope.row.configName }}</span>
<!-- <span class="bluezi" @click="handlink(scope.row)">{{}}</span>-->
</template>
</el-table-column>
<el-table-column label="颜色" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.carColor }}</span>
</template>
</el-table-column>
<el-table-column label="现车(台)" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.nowCarNum }}</span>
<!-- <span class="bluezi" @click="handvehicle(scope.row)"></span>-->
</template>
</el-table-column>
<el-table-column label="排产(台)" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.productionCarNum }}</span>
<!-- <span class="bluezi" @click="handproduction(scope.row)"></span>-->
</template>
</el-table-column>
<el-table-column label="销售指导价(万元)" align="center" width="150">
<template slot-scope="scope">
<span>{{ scope.row.guidedPrice }}</span>
</template>
</el-table-column>
<el-table-column label="价格有效期" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.priceValidity }}</span>
</template>
</el-table-column>
<el-table-column label="其他更多" align="center" width="100">
<template slot-scope="scope">
<el-button type="primary" size="small" @click="handlook(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<el-dialog :visible.sync="dialogVisible" width="50%">
<el-table :key="tableKey" :data="datalist" border style="width: 100%">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="分公司名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.company }}</span>
</template>
</el-table-column>
<el-table-column label="现车" align="center">
<template slot-scope="scope">
<span>{{ scope.row.nowCarNum }}</span>
</template>
</el-table-column>
<el-table-column label="排产车" align="center">
<template slot-scope="scope">
<span>{{ scope.row.productionCarNum }}</span>
</template>
</el-table-column>
</el-table>
</el-dialog>
<!-- 车型配置标准页面 -->
<!-- <modelstandardconfiguration v-show="viewState == 2" ref="divInfo" @doback="resetState"/>-->
<!-- 现车车辆列表 -->
<!-- <vehiclecar v-show="viewState == 3" ref="divVehiclecar" @doback="resetState"/>-->
<!-- 排产订单列表 -->
<!-- <productionschedulingorder v-show="viewState == 4" ref="divProduction" @doback="resetState"/>-->
</div>
</template>
<script>
import {configPageList, dataDictionary, notTheCompanyModelPageList} from '@/api/chexingchaxun/modelinquire'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
// import modelstandardconfiguration from './modelstandardconfiguration'
// import vehiclecar from './vehiclecar.vue'
// import productionschedulingorder from './productionschedulingorder.vue'
export default {
name: 'chexingchaxun',
components: {
Pagination,
pageye,
// modelstandardconfiguration,
// vehiclecar,
// productionschedulingorder
},
data() {
return {
isSearchShow: false,
dialogVisible: false,
searchxianshitit: '隐藏查询条件',
viewState: 1,
tableKey: 0,
list: [],
datalist: [],
carColor_list: [],
slowMachine_list: [],
rearViewMirror_list: [],
tireSize_list: [],
specification_list: [],
rearAxleRatio_list: [],
airConditioner_list: [],
hubMaterial_list: [],
baffleModel_list: [],
suspension_list: [],
seat_list: [],
tireCover_list: [],
saddle_list: [],
wheelbase_list: [],
bumper_list: [],
configuringBao_list: [],
independentSources_list: [],
fuelTank_list: [],
multimedia_list: [],
listLoading: false,
modelName: '', //
modelSid: '',
dialogQuery: {
current: 1,
size: 10,
params: {
modelSid: '',
modelConfigSid: '',
userSid: window.sessionStorage.getItem('userSid') //
}
},
listQuery: {
current: 1,
size: 10,
params: {
carColor: '', //
configName: '', //
fuelTank: '', //
rearAxleRatio: '', //
modelSid: '', // sid
slowMachine: '', //
specification: '', //
rearViewMirrorKey: '', //
tireSizeKey: '', //
airConditionerKey: '', //
hubMaterialKey: '', //
baffleModelKey: '', //
suspensionKey: '', //
seatKey: '', //
tireCoverKey: '', //
saddleKey: '', //
wheelbaseKey: '', //
bumperKey: '', //
configuringBaoKey: '', //
independentSourcesKey: '', //
multimediaKey: '', //
userSid: window.sessionStorage.getItem('userSid')
},
total: 0
},
row: {},//
peiZhiList: {} //
}
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
// ------------------
Dictionary() {
dataDictionary({type: 'whether'}).then((res) => {
if (res.code === '200') {
this.airConditioner_list = res.data
this.baffleModel_list = res.data
this.tireCover_list = res.data
this.independentSources_list = res.data
this.multimedia_list = res.data
}
})
dataDictionary({type: 'bodyColor'}).then((res) => {
if (res.code === '200') {
this.carColor_list = res.data
}
})
dataDictionary({type: 'slowMachine'}).then((res) => {
if (res.code === '200') {
this.slowMachine_list = res.data
}
})
dataDictionary({type: 'rearViewMirror'}).then((res) => {
if (res.code === '200') {
this.rearViewMirror_list = res.data
}
})
dataDictionary({type: 'tireSize'}).then((res) => {
if (res.code === '200') {
this.tireSize_list = res.data
}
})
dataDictionary({type: 'specification'}).then((res) => {
if (res.code === '200') {
this.specification_list = res.data
}
})
dataDictionary({type: 'rearAxleRatio'}).then((res) => {
if (res.code === '200') {
this.rearAxleRatio_list = res.data
}
})
dataDictionary({type: 'hubMaterial'}).then((res) => {
if (res.code === '200') {
this.hubMaterial_list = res.data
}
})
dataDictionary({type: 'suspension'}).then((res) => {
if (res.code === '200') {
this.suspension_list = res.data
}
})
dataDictionary({type: 'seat'}).then((res) => {
if (res.code === '200') {
this.seat_list = res.data
}
})
dataDictionary({type: 'saddle'}).then((res) => {
if (res.code === '200') {
this.saddle_list = res.data
}
})
dataDictionary({type: 'wheelbase'}).then((res) => {
if (res.code === '200') {
this.wheelbase_list = res.data
}
})
dataDictionary({type: 'bumper'}).then((res) => {
if (res.code === '200') {
this.bumper_list = res.data
}
})
dataDictionary({type: 'configuringBao'}).then((res) => {
if (res.code === '200') {
this.configuringBao_list = res.data
}
})
dataDictionary({type: 'fuelType'}).then((res) => {
if (res.code === '200') {
this.fuelTank_list = res.data
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
showData(row) {
console.log('所选车型', row)
this.listQuery.params.modelSid = row.sid
this.modelSid = row.sid
this.modelName = row.vehicleAlias
this.Dictionary()
this.getList()
},
//
getList() {
this.listLoading = true
configPageList(this.listQuery).then((response) => {
this.listLoading = false
if (response.code === '200') {
this.listQuery.total = response.data.total
this.list = response.data.records
}
})
},
//
handleFilter() {
this.getList()
},
handReset() {
this.listQuery = {
current: 1,
size: 10,
params: {
carColor: '', //
configName: '', //
fuelTank: '', //
rearAxleRatio: '', //
slowMachine: '', //
specification: '', //
rearViewMirrorKey: '', //
tireSizeKey: '', //
airConditionerKey: '', //
hubMaterialKey: '', //
baffleModelKey: '', //
suspensionKey: '', //
seatKey: '', //
tireCoverKey: '', //
saddleKey: '', //
wheelbaseKey: '', //
bumperKey: '', //
configuringBaoKey: '', //
independentSourcesKey: '', //
multimediaKey: '', //
modelSid: this.modelSid,
userSid: window.sessionStorage.getItem('userSid')
},
total: 0
}
this.getList()
},
handlook(row) {
this.dialogVisible = true
this.dialogQuery.params.modelSid = this.listQuery.params.modelSid
this.dialogQuery.params.modelConfigSid = row.sid
notTheCompanyModelPageList(this.dialogQuery).then((res) => {
if (res.code === '200') {
this.datalist = res.data.records
}
})
},
handleSelectionChange(row) {
console.log('选择', row)
if (row.length > 1) {
this.$message({
showClose: true,
message: '仅可选择一条配置!',
type: 'error'
});
this.$refs.multipleTable.clearSelection();
return
}
this.peiZhiList = row
},
handleConfirm() {
if (this.peiZhiList.length > 0) {
var modelData = new Object()
this.peiZhiList.forEach((element) => {
modelData = {
brandName: this.row.brandName,
brandSid: this.row.brandSid,
config: element.configName, //
guildPrice: element.guidedPrice, //
modelConfig: this.row.modelName, //
modelConfigSid: element.sid, //sid
// modelName: element, //
modelSid: this.row.sid, //sid
moreConfig: element.otherConfig, //
}
})
const type = 2
this.$emit('handleChexing', modelData,type)
this.handleReturn()
} else {
this.$message({
showClose: true,
message: '请选择车型配置!',
type: 'error'
});
}
},
handleReturn() {
this.$emit('doback')
},
resetState() {
this.viewState = 1
this.handReset()
},
// handlink(row) {
// this.viewState = 2
// this.$refs['divInfo'].showInfo(this.listQuery.params.modelSid, row)
// },
// handvehicle(row) {
// this.viewState = 3
// this.$refs['divVehiclecar'].showInfo(this.listQuery.params.modelSid, row)
// },
// handproduction(row) {
// this.viewState = 4
// this.$refs['divProduction'].showInfo(this.listQuery.params.modelSid, this.modelName, row)
// },
}
}
</script>
<style scoped>
.listtop {
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
.tit {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
}
</style>

477
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xiaoshouzhengce.vue

@ -0,0 +1,477 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>销售政策管理</div>
<div>
<el-button type="primary" size="small" @click="handleConfirm()">确认</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="webcon">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="130px" class="tab-header">
<el-form-item label="政策类别">
<el-select v-model="listQuery.params.salesPolicy" placeholder="请选择" @change="salesPolicyChange">
<el-option
v-for="item in salesPolicy_list"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="优惠包类别">
<el-select v-model="listQuery.params.discountType" placeholder="请选择" @change="discountTypeChange">
<el-option
v-for="item in discountType_list"
:key="item.dictKey"
:label="item.dictValue"
:value="item.dictKey">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否有效">
<el-select v-model="listQuery.params.isEmploy" placeholder="请选择" @change="isEmployChange">
<el-option
v-for="item in effective"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="有效期">
<div class="block">
<el-date-picker
v-model="listQuery.params.getEffectiveStartDate"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</div>
<label></label>
<div class="block">
<el-date-picker
v-model="listQuery.params.getEffectiveEndDate"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</div>
</el-form-item>
<div class="searchbtns">
<el-button type="primary" @click="handleFilter">查询</el-button>
<el-button type="primary" @click="handleReset">重置</el-button>
</div>
</el-form>
</div>
</div>
<div class="listtop">
<div class="tit">销售政策列表</div>
<pageye v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="编号" type="index" :index="indexMethod" align="center"/>
<el-table-column width="150px" label="操作" align="center">
<template slot-scope="scope">
<div class="searchbtns"> <!--:disabled=""-->
<el-button size="small" type="primary"
@click="changeNodeState(scope.row)">办理
</el-button>
<el-button size="small" type="primary" @click="handleCheck(scope.row)">查看</el-button>
</div>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="政策类别" align="center">
<template slot-scope="scope">
<span>{{ scope.row.salesPolicy }}</span>
</template>
</el-table-column>
<el-table-column label="优惠包类别" align="center">
<template slot-scope="scope">
<span>{{ scope.row.discountType }}</span>
</template>
</el-table-column>
<el-table-column label="优惠包名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.discountName }}</span>
</template>
</el-table-column>
<el-table-column label="优惠包价值" align="center">
<template slot-scope="scope">
<span>{{ scope.row.amount }}</span>
</template>
</el-table-column>
<el-table-column label="优惠项目说明" align="center">
<template slot-scope="scope">
<span>{{ scope.row.detail }}</span>
</template>
</el-table-column>
<el-table-column label="有效期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.effectiveDate }}</span>
</template>
</el-table-column>
<el-table-column label="是否生效" align="center">
<template slot-scope="scope">
<span>{{ scope.row.isEmploy }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<!-- <xiaoshouzhengce-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState"-->
<!-- @reloadlist="getList"></xiaoshouzhengce-add>-->
<!-- <xiaoshouzhengce-info v-show="viewState == 4" ref="divinfo" @doback="resetState"></xiaoshouzhengce-info>-->
</div>
</template>
<script>
import {mapGetters} from 'vuex'
import {deleteBySids, listPage, typeValues} from '@/api/jichuxinxi/salepolicy'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
// import xiaoshouzhengceAdd from "./xiaoshouzhengceAdd"
// import xiaoshouzhengceInfo from "./xiaoshouzhengceInfo"
export default {
name: "xiaoshouzhengce",
components: {
Pagination,
pageye,
// xiaoshouzhengceAdd,
// xiaoshouzhengceInfo
},
data() {
return {
disabled: false, //
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2- 3 4 5-
// -----------
salesPolicy_list: [], //
discountType_list: [], //
effective: [{ //
value: 0,
label: '是'
}, {
value: 1,
label: '否'
}],
tableKey: 0,
list: [],
sids: [],
total: 1,
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 20,
params: {
discountType: '', //
discountTypeKey: '', //key
getEffectiveEndDate: '', //
getEffectiveStartDate: '', //
isEmploy: '', //
salesPolicy: '', //
salesPolicyKey: '', //key
staffSid: window.sessionStorage.getItem('staffSid')
},
},
submitDto: {
businessSid: '',
userSid: window.sessionStorage.getItem('userSid'),
},
nodeState: '',
row:[], //
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
},
created() {
//
this.init()
//
this.getList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
init() {
this.getType()
},
// ------------------
resetState() {
this.viewState = 1
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 20,
params: {
discountType: '',
discountTypeKey: '',
getEffectiveEndDate: '',
getEffectiveStartDate: '',
isEmploy: '',
salesPolicy: '',
salesPolicyKey: ''
},
}
},
//
getType() {
typeValues({
type: 'discountPolicyType'
}).then((res) => {
if (res.code === '200') {
this.salesPolicy_list = res.data
console.log('下拉框请求政策类别', this.salesPolicy_list)
}
})
typeValues({
type: 'discountPackageType'
}).then((res) => {
if (res.code === '200') {
this.discountType_list = res.data
console.log('下拉框请求优惠包类别', this.discountType_list)
}
})
},
//
salesPolicyChange(value) {
console.log('触发下拉框按钮')
let bb = {}
this.salesPolicy_list.forEach((e) => {
if (e.dictKey === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.listQuery.params.salesPolicy = bb.name
this.listQuery.params.salesPolicyKey = bb.key
console.log('name', this.listQuery.params.salesPolicy)
},
//
discountTypeChange(value) {
console.log('触发下拉框按钮')
let bb = {}
this.discountType_list.forEach((e) => {
if (e.dictKey === value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.listQuery.params.discountType = bb.name
this.listQuery.params.discountTypeKey = bb.name
console.log('name', this.listQuery.params.discountType)
},
isEmployChange(value) {
console.log('触发下拉框按钮')
let bb = {}
this.effective.forEach((e) => {
if (e.dictKey === value) {
bb = {
name: e.value,
}
}
})
this.listQuery.params.isEmploy = bb.name
console.log('name', this.listQuery.params.isEmploy)
},
//
handleCreate() {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
//
handleUpdate() {
if (this.sids.length === 1) {
this.viewState = 3
this.$refs['divadd'].showEdit(this.sids[0])
} else if (this.sids.length > 1) {
this.$notify({
title: '提示',
message: '不能选中多个信息修改!!',
type: 'info',
duration: 2000,
})
} else {
this.$notify({
title: '提示',
message: '没有选择信息!!',
type: 'error',
duration: 2000,
})
return
}
},
//
changeNodeState(row) {
console.log('111', row)
// if (row.flowState === 0) {
this.viewState = 3
this.$refs['divadd'].showEdit(row.sid)
// } else {
// return
// }
},
//
handleCheck(row) {
this.viewState = 4
this.$refs['divinfo'].showInfo(row.sid)
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
listPage(this.listQuery).then((response) => {
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
} else {
this.list = []
this.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleSelectionChange(row) {
console.log('row', row)
this.row = row
const aa = []
const bb = []
row.forEach((element) => {
aa.push(element.sid)
bb.push(element.depositBillTypeKey)
});
this.sids = aa
this.billType = bb
console.log('选择sid', this.sids)
console.log('选择订单类型', this.billType)
},
// ID
handleDelete() {
if (this.sids.length > 0) {
const sids = this.sids
deleteBySids(sids).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '删除成功',
type: 'success',
duration: 2000,
})
this.getList()
} else {
this.$notify({
title: '删除失败',
message: response.msg,
type: 'error',
})
}
})
} else {
this.$notify({
title: '提示',
message: '没有选择资方信息!!',
type: 'error',
duration: 2000,
})
// return likeGetCustomerName
}
},
handleConfirm() {
this.$emit('handleYouhui',this.row)
this.handleReturn()
},
//
handleReturn() {
this.$emit('doReturn') //
},
}
}
</script>
<style scoped>
/* .listcon{height: calc(100vh - 480px);overflow-y: auto;overflow-x: hidden;} */
.el-input__icon {
width: 40px;
}
.el-form-item .el-form-item__label {
width: 100% !important;
}
.block {
display: inline-block;
}
.el-form-item__content label {
padding: 0 5px;
}
</style>

7
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xuanzekehu.vue

@ -77,7 +77,7 @@
</div> </div>
</div> </div>
</div> </div>
<xuanzekehu-add ref="addAndUpdate" @handleReturn="resetState"></xuanzekehu-add> <xuanzekehu-add v-show="kehu_add == true" ref="addAndUpdate" @handleReturn="resetState"></xuanzekehu-add>
<el-dialog <el-dialog
title="客户登记-类型" title="客户登记-类型"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
@ -108,7 +108,7 @@
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import {pagerList, typeValues} from '@/api/jichuxinxi/busdepositvehicle' import {pagerList, typeValues} from '@/api/jichuxinxi/busdepositvehicle'
import xuanzekehuAdd from "./xuanzekehuAdd"; import xuanzekehuAdd from "./xuanzekehuAdd.vue";
export default { export default {
name: "xuanzekehu", name: "xuanzekehu",
@ -191,6 +191,8 @@
}, },
handleOpen() { handleOpen() {
if (this.customerTypeList.visitWay !== '' && this.customerTypeList.customerType !== '') { if (this.customerTypeList.visitWay !== '' && this.customerTypeList.customerType !== '') {
this.kehu_xuanze = false
this.kehu_add = true
this.dialogVisible = false this.dialogVisible = false
const customerTypeList = this.customerTypeList const customerTypeList = this.customerTypeList
this.$refs.addAndUpdate.openCreate(customerTypeList, () => { this.$refs.addAndUpdate.openCreate(customerTypeList, () => {
@ -234,7 +236,6 @@
// }, // },
// ------------------ // ------------------
handleCreate() { handleCreate() {
this.kehu_xuanze = false
this.dialogVisible = true this.dialogVisible = true
// this.$refs['addAndUpdate']. // this.$refs['addAndUpdate'].
// this.kehu_add = true // this.kehu_add = true

26
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xuanzekehuAdd.vue

@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div v-show="visible"> <div>
<div class="tab-header webtop"> <div class="tab-header webtop">
<div>新增客户信息</div> <div>新增客户信息</div>
<div> <div>
@ -9,7 +9,7 @@
</div> </div>
</div> </div>
<div class="listconadd"> <div class="listconadd">
<el-form ref="dataForm" :model="temp" label-position="top" label-width="190px" class="formadd " <el-form ref="dataForm" :model="temp" label-position="top" label-width="190px" class="formadd"
:rules="rules"> :rules="rules">
<div class="titwu">客户信息</div> <div class="titwu">客户信息</div>
<div class="title" style="display: flex;align-items: center;justify-content: space-between;height:40px"> <div class="title" style="display: flex;align-items: center;justify-content: space-between;height:40px">
@ -45,7 +45,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item prop="mobile"> <el-form-item prop="mobile">
<el-input v-model="temp.mobile" maxlength="20" placeholder="请输入联系电话" style="width:50%" class="addinputw" clearable/> <el-input v-model="temp.mobile" maxlength="20" placeholder="请输入联系电话" style="width:50%" class="addinputw" clearable/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" class="trightb"> <el-col :span="4" class="trightb">
@ -562,20 +562,6 @@
trigger: 'blur', trigger: 'blur',
}, },
], ],
// mobile: [
// {
// required: true,
// validator: checkSubmit,
// trigger: 'blur',
// },
// ],
// idnumber: [
// {
// required: true,
// validator: identitycard,
// trigger: 'blur',
// },
// ],
}, },
} }
}, },
@ -613,8 +599,6 @@
this.stateId = sid this.stateId = sid
console.log('888888888888', this.stateId) console.log('888888888888', this.stateId)
this.isOnRemind='否' this.isOnRemind='否'
// this.client = customer.name
// this.clientphone = customer.mobile
if (this.stateId !== '0') { if (this.stateId !== '0') {
getPcCustomerInfoBySid(this.stateId).then((response) => { getPcCustomerInfoBySid(this.stateId).then((response) => {
console.log(response.data) console.log(response.data)
@ -622,7 +606,6 @@
this.$refs['dataForm'].clearValidate() this.$refs['dataForm'].clearValidate()
this.temp = response.data this.temp = response.data
this.temp.birthday = this.getDates(this.temp.birthday) this.temp.birthday = this.getDates(this.temp.birthday)
// this.temp.address=this.temp.province+this.temp.city+this.temp.county
this.visible = true this.visible = true
if(this.temp.customerType!==''){ if(this.temp.customerType!==''){
typeValues({type: 'customerType'}).then((res) => { typeValues({type: 'customerType'}).then((res) => {
@ -859,6 +842,7 @@
handleReturn() { handleReturn() {
this.visible=false this.visible=false
this.activeNames=['1'] this.activeNames=['1']
this.$emit('doReturn')
this.$emit('handleReturn') this.$emit('handleReturn')
}, },
// //
@ -914,7 +898,7 @@
// //
changexuanze() { changexuanze() {
this.aseTypeBox = [this.aseTypeBox[this.aseTypeBox.length - 1]] this.aseTypeBox = [this.aseTypeBox[this.aseTypeBox.length - 1]]
var item = this.findselect(this.aseType, this.aseTypeBox[0]) const item = this.findselect(this.aseType, this.aseTypeBox[0]);
this.templooke.purchase_time = item.divtkey this.templooke.purchase_time = item.divtkey
}, },
// //

449
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xunidingdanguanli.vue

@ -0,0 +1,449 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>销售虚拟订单管理</div>
<div>
<el-button type="primary" size="small" @click="handleConfirm()">确认</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="webcon">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="130px" class="tab-header">
<el-form-item label="客户(付款人)">
<el-input v-model="listQuery.params.customerName" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="创建日期">
<div class="block">
<el-date-picker
v-model="listQuery.params.startTime"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</div>
<label></label>
<div class="block">
<el-date-picker
v-model="listQuery.params.endTime"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</div>
</el-form-item>
<div class="searchbtns">
<el-button type="primary" @click="handleFilter">查询</el-button>
<el-button type="primary" @click="handleReset">重置</el-button>
</div>
</el-form>
</div>
</div>
<div class="listtop">
<div class="tit">销售虚拟订车单列表</div>
<pageye v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="编号" type="index" :index="indexMethod" align="center"/>
<el-table-column width="150px" label="操作" align="center">
<template slot-scope="scope">
<div class="searchbtns">
<el-button size="small" type="primary"
:disabled="scope.row.nodeState == '' ? false:scope.row.nodeState == '发起订单'?false : true"
@click="changeNodeState(scope.row)">办理
</el-button>
<el-button size="small" type="primary" @click="handleCheck(scope.row)">查看</el-button>
</div>
</template>
</el-table-column>
<el-table-column label="状态" align="center">
<template slot-scope="scope">
<span>{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="虚拟订单类型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.depositBillType }}</span>
</template>
</el-table-column>
<el-table-column label="单据编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.billNo }}</span>
</template>
</el-table-column>
<el-table-column label="创建日期" align="center">
<template slot-scope="scope">
<span>{{ scope.row.createDate }}</span>
</template>
</el-table-column>
<el-table-column label="销售专员" align="center">
<template slot-scope="scope">
<span>{{ scope.row.staffName }}</span>
</template>
</el-table-column>
<el-table-column label="客户(付款人)" align="center">
<template slot-scope="scope">
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="联系电话" align="center">
<template slot-scope="scope">
<span>{{ scope.row.mobile }}</span>
</template>
</el-table-column>
<el-table-column label="订金(元)" align="center">
<template slot-scope="scope">
<span>{{ scope.row.deposit }}</span>
</template>
</el-table-column>
<el-table-column label="已使用订金(元)" align="center">
<template slot-scope="scope">
<span>{{ scope.row.usedDeposit }}</span>
</template>
</el-table-column>
<el-table-column label="预订车辆" align="center">
<template slot-scope="scope">
<span>{{ scope.row.depositVehicle }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
</div>
</div>
</div>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
import {deleteBySids} from '@/api/jichuxinxi/busdeposit'
import {depositPageList} from '@/api/salesManagement/orderManagement'
// import {submitApprove, updateState} from '@/api/portal/workFlow'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
export default {
name: 'Xunidingdanguanli',
components: {
Pagination,
pageye,
},
data() {
return {
disabled: false, //
billTypeKey: '',
dialogVisible: false, //
isSearchShow: false,
searchxianshitit: '显示查询条件',
btndisabled: false,
viewState: 1, // 1 2- 3 4 5-
// -----------
tableKey: 0,
list: [],
nodeState_list: [], //
sids: [],
billType: [],
total: 1,
FormLoading: false,
listLoading: false,
listQuery: {
current: 1,
size: 20,
params: {
userSid: window.sessionStorage.getItem('userSid'),
orgName: '',
staffName: '',
customerName: '',
billType: '',
startTime: '',
endTime: '',
},
},
submitDto: {
businessSid: '',
userSid: window.sessionStorage.getItem('userSid'),
},
updateDto: {
nodeState: '',
sid: '',
},
nodeState: '',
selectDate: undefined,
temp: {}, //
visible: true,
hetongdanganguanliInfoShow: false,
row:[],//
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
},
created() {
//
this.init()
//
this.getList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
init() {
},
// ------------------
resetState() {
this.viewState = 1
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 20,
}
},
//
handleGenerate() {
},
//
handleCreate() {
this.dialogVisible = true
},
//
handleConfirm() {
this.$emit('handleXuniList', this.row)
this.handleReturn()
},
//
handleReturn() {
this.$emit('doReturn') //
},
//
handleUpdate() {
if (this.sids.length == 1) {
if (this.billType[0] == '01') {
this.viewState = 5;
this.dialogStatus = 'edit'
const sid = this.sids[0]
const nodeState = this.nodeState_list[0]
this.$refs['divDing'].showEdit(sid, nodeState)
} else {
this.viewState = 3;
this.dialogStatus = 'edit'
const sid = this.sids[0]
const nodeState = this.nodeState_list[0]
this.$refs['divadd'].showEdit(sid, nodeState)
}
} else if (this.sids.length == 0) {
this.$notify({
title: '您还未选择,请选择数据!!!',
type: 'error',
})
} else if (this.sids.length > 1) {
this.$notify({
title: '您未选择的数据过多,请选择一条数据编辑!!',
type: 'error',
})
}
},
//
handleCheck(row) {
if (row.depositBillTypeKey == '01') {
this.viewState = 6
this.$refs['divDingInfo'].showInfo(row.sid, row.nodeState)
} else {
this.viewState = 4
this.$refs['divinfo'].showInfo(row.sid, row.nodeState)
}
},
handleInfo() {
this.viewState = 4
},
// ------------------
noClickclose() {
this.viewState = 1
this.hetongdanganguanliInfoShow = false
},
//
handleCheckhetong() {
this.viewState = false
this.hetongdanganguanliInfoShow = true
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
depositPageList({
current: this.listQuery.current,
size: this.listQuery.size,
params: {
// orgName: this.listQuery.orgName,
// staffName: this.listQuery.staffName,
customerName: this.listQuery.customerName,
startTime: this.listQuery.startTime,
endTime: this.listQuery.endTime,
userSid: window.sessionStorage.getItem('userSid'),
staffSid: window.sessionStorage.getItem('staffSid')
},
}).then((response) => {
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
for (var i = 0; i < response.data.records.length; i++) {
var timeArr = response.data.records[i].createDate.split(' ');
this.list[i].createDate = timeArr[0];
}
this.total = response.data.total
} else {
this.list = []
this.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleSelectionChange(row) {
console.log('row', row)
this.row = row
const aa = []
const bb = []
const cc = []
row.forEach((element) => {
aa.push(element.sid)
bb.push(element.depositBillTypeKey)
cc.push(element.nodeState)
});
this.sids = aa
this.billType = bb
this.nodeState_list = cc
console.log('选择sid', this.sids)
console.log('选择订单类型', this.billType)
console.log('流程状态', this.nodeState_list)
},
// ID
handleDelete() {
if (this.sids.length > 0) {
const sids = this.sids
deleteBySids(sids).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '删除成功',
type: 'success',
duration: 2000,
})
this.getList()
} else {
this.$notify({
title: '删除失败',
message: response.msg,
type: 'error',
})
}
})
} else {
this.$notify({
title: '提示',
message: '没有选择资方信息!!',
type: 'error',
duration: 2000,
})
return
}
},
//
changeNodeState(row) {
console.log('111', row)
if (row.nodeState == '' || row.nodeState == '发起订单') {
if (row.depositBillTypeKey == '01') {
this.viewState = 5;
this.dialogStatus = 'edit'
this.$refs['divDing'].showEdit(row.sid, row.nodeState)
} else if (row.depositBillTypeKey == '02') {
this.viewState = 3;
this.dialogStatus = 'edit'
this.$refs['divadd'].showEdit(row.sid, row.nodeState)
}
}
},
//
handleDaoChu() {
// basefinbankExportExcel(this.sids).then((res) => {
// const blob = new Blob([res], {
// type: 'application/vnd.ms-excel',
// })
// const objectUrl = URL.createObjectURL(blob)
// window.location.href = objectUrl
// this.$notify({
// title: '',
// message: '',
// type: 'success',
// duration: 2000,
// })
// })
},
},
}
</script>
<style scoped lang="scss">
/* .listcon{height: calc(100vh - 480px);overflow-y: auto;overflow-x: hidden;} */
.el-input__icon {
width: 40px;
}
.el-form-item .el-form-item__label {
width: 100% !important;
}
.block {
display: inline-block;
}
.el-form-item__content label {
padding: 0 5px;
}
</style>

204
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/xunidingdanxuanze.vue

@ -0,0 +1,204 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>车型选择</div>
<div>
<el-button type="primary" size="medium" @click="handleConfirm()">确认</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="webcon">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="130px" class="tab-header">
<el-form-item label="车型">
<el-input v-model="listQuery.params.modelName" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<el-form-item label="车型配置">
<el-input v-model="listQuery.params.modelConfigName" placeholder="请输入" clearable class="filter-item"/>
</el-form-item>
<div class="searchbtns">
<el-button type="primary" @click="handleFilter">查询</el-button>
</div>
</el-form>
</div>
</div>
<pageye v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
<div class="">
<el-table ref="multipleTable" :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="品牌" align="center">
<template slot-scope="scope">
<span>{{ scope.row.brandName }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.modelAlias }}</span>
</template>
</el-table-column>
<el-table-column label="常用配置" align="center">
<template slot-scope="scope">
<span>{{ scope.row.config }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList"/>
</div>
</div>
</div>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import {getXuniList} from '@/api/salesManagement/orderManagement'
export default {
name: "xunidingdanxuanze",
components: {
Pagination,
pageye
},
data() {
return {
isSearchShow: false,
searchxianshitit: '显示查询条件',
// -----------
tableKey: 0,
list: [],
sids: [],
listLoading: false,
total: 1,
listQuery: {
current: 1,
size: 20,
params: {
customerSid: '', // sid
modelConfigName: '', //
modelName: '', //
},
},
row: [],//
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
},
created() {
//
this.init()
},
methods: {
init() {
this.getList()
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
//
handleSelectionChange(row) {
if (row.length > 1) {
this.$message({
showClose: true,
message: '仅可选择一个车型!',
type: 'error'
});
this.$refs.multipleTable.clearSelection();
return
}
this.row = row
},
showXuni(customerSid, staffSid) {
console.log('虚拟订单选择', customerSid, staffSid)
this.listQuery.params.customerSid = customerSid
this.listQuery.params.staffSid = staffSid
this.getList()
},
// ------------------
handleConfirm() {
if (this.row.length > 0) {
var modelData = new Object();
this.row.forEach((element) => {
modelData = element
})
const type = 2
this.$emit('handlexuniList', modelData, type)
this.handleReturn()
} else {
this.$message({
showClose: true,
message: '请选择虚拟订单!',
type: 'error'
});
}
},
//
handleReturn() {
this.$emit('doReturn') //
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
getXuniList(this.listQuery).then((response) => {
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
} else {
this.list = []
this.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
}
}
</script>
<style scoped>
.searchcon {
margin-top: 8px;
}
</style>

208
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/relation/yixiangchexingxuanze.vue

@ -0,0 +1,208 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>车型选择</div>
<div>
<el-button type="primary" size="medium" @click="handleConfirm()">确认</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="webcon">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="130px" class="tab-header">
<el-form-item label="车型">
<el-input v-model="listQuery.params.modelName" placeholder="请输入" clearable class="filter-item" />
</el-form-item>
<el-form-item label="车型配置">
<el-input v-model="listQuery.params.modelConfigName" placeholder="请输入" clearable class="filter-item" />
</el-form-item>
<div class="searchbtns">
<el-button type="primary" @click="handleFilter">查询</el-button>
</div>
</el-form>
</div>
</div>
<pageye v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList" />
<div class="">
<el-table ref="multipleTable" :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center" />
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column label="品牌" align="center">
<template slot-scope="scope">
<span>{{ scope.row.brandName }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.modelAlias }}</span>
</template>
</el-table-column>
<el-table-column label="常用配置" align="center">
<template slot-scope="scope">
<span>{{ scope.row.config }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination v-show="total > 0" :total="total" :page.sync="listQuery.current" :limit.sync="listQuery.size"
class="pagination" @pagination="getList" />
</div>
</div>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import { getYixiangList } from '@/api/salesManagement/orderManagement'
export default {
name: "yixiangchexing",
components: {
Pagination,
pageye
},
data() {
return {
isSearchShow: false,
searchxianshitit: '显示查询条件',
// -----------
tableKey: 0,
list: [],
sids: [],
listLoading: false,
total: 1,
listQuery: {
current: 1,
size: 20,
params: {
customerSid: '', // sid
modelConfigName: '', //
modelName: '', //
},
},
row: [],
// ------------------------------------
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
},
created() {
//
this.init()
},
methods: {
init() {
this.getList()
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
//
handleSelectionChange(row) {
console.log('row:', row)
if (row.length > 1) {
this.$message({
showClose: true,
message: '仅可选择一个车型!',
type: 'error'
});
this.$refs.multipleTable.clearSelection();
return
}
if (row.length == 1) {
this.row = row
}
},
showYixiang(sid) {
console.log('意向车型', sid)
this.listQuery.params.customerSid = sid
console.log('意向车型', this.listQuery.params.customerSid)
this.getList()
},
// ------------------
//
handleConfirm() {
if (this.row.length > 0) {
var modelData = new Object();
this.row.forEach((element) => {
modelData = element
})
const type = 1
this.$emit('handleyixiangList', modelData,type)
this.handleReturn()
}else{
this.$message({
showClose: true,
message: '请选择意向车型!',
type: 'error'
});
}
},
//
handleReturn() {
this.$emit('doReturn') //
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
getYixiangList(this.listQuery).then((response) => {
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
} else {
this.list = []
this.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
}
}
</script>
<style scoped>
.searchcon {
margin-top: 8px;
}
</style>

848
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdan.vue

@ -6,7 +6,7 @@
<div> <div>
<el-button type="primary" size="small" @click="handleCreate()">新增</el-button> <el-button type="primary" size="small" @click="handleCreate()">新增</el-button>
<el-button type="danger" size="small" @click="handleDelete()">删除</el-button> <el-button type="danger" size="small" @click="handleDelete()">删除</el-button>
<el-button type="primary" size="small" :disabled="isableSub" @click="handleSubmit()">提交</el-button> <!-- <el-button type="primary" size="small" :disabled="isableSub" @click="handleSubmit()">提交</el-button> -->
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button> <el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div> </div>
</div> </div>
@ -16,7 +16,7 @@
<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="请选择">
<el-option :value="listQuery.params.orgName" style="height: auto"> <el-option :value="listQuery.params.orgName" style="height: auto">
<el-tree ref="tree" :data="treedata" default-expand-all show-checkbox check-strictly node-key="sid" highlight-current :props="defaultProps" @check-change="handleCheckChange" /> <el-tree ref="tree" :data="treedata" default-expand-all show-checkbox check-strictly node-key="sid" highlight-current :props="defaultProps" @check-change="handleCheckChange" />
@ -24,26 +24,26 @@
</el-select> --> </el-select> -->
</el-form-item> </el-form-item>
<el-form-item label="业务员姓名" class="searchlist"> <el-form-item label="业务员姓名" class="searchlist">
<el-input v-model="listQuery.params.staffName" placeholder="" clearable class="filter-item"/> <el-input v-model="listQuery.params.staffName" placeholder="" clearable class="filter-item" />
</el-form-item> </el-form-item>
<el-form-item label="客户名称" class="searchlist"> <el-form-item label="客户名称" class="searchlist">
<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-input v-model="listQuery.params.modelName" placeholder="" clearable class="filter-item"/> <el-input v-model="listQuery.params.modelName" placeholder="" clearable class="filter-item" />
</el-form-item> </el-form-item>
<div class="searchbtns"> <div class="searchbtns">
<el-button type="primary" @click="handleFilter">查询</el-button> <el-button type="primary" @click="handleFilter">查询</el-button>
@ -55,22 +55,24 @@
<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="160px" label="操作" align="center"> <el-table-column width="160px" label="操作" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="searchbtns"> <div class="searchbtns">
<el-button size="small" type="primary" :disabled="scope.row.nodeState == ''?false:true" <el-button size="small" type="primary"
@click="changeNodeState(scope.row)">办理 :disabled="scope.row.nodeState == '待提交' ? false : scope.row.nodeState == '' ? false : true"
@click="changeNodeState(scope.row)">办理
</el-button> </el-button>
<el-button size="small" type="primary" :disabled="scope.row.nodeState == ''?false:true" <el-button size="small" type="primary"
@click="handleCheck(scope.row)">查看 :disabled="scope.row.nodeState == '' ? false : true"
@click="handleCheck(scope.row)">查看
</el-button> </el-button>
<!-- <el-button size="small" type="primary" @click="printContract(scope.row)">打印合同</el-button>--> <!-- <el-button size="small" type="primary" @click="printContract(scope.row)">打印合同</el-button>-->
</div> </div>
@ -128,507 +130,427 @@
</el-table-column> </el-table-column>
<el-table-column label="是否保险" align="center"> <el-table-column label="是否保险" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.isInsurance}}</span> <span>{{ scope.row.isInsurance }}</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="部门名称" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.orgName }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="业务员" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.staffName }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="提车方式" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.saleType }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="FL(元)" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.fl }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="车型名称" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.modelName }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="开票价格" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.single_invoice_price }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="销售合同" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <span class="bluezi" @click="xiaoshouhetong(scope.row)">{{ scope.row.contractNum }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="总金融方案" align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <span class="bluezi" @click="handleCheckxiaodai(row)">{{ scope.row.name }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table> </el-table>
</div> </div>
<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>
<!--新增修改部分组件--> <!--新增修改部分组件-->
<div-add @handleReturn="visible = true" ref="divadd" @doback="resetState" @reloadlist="getList"/> <div-add @handleReturn="visible = true" ref="divadd" @doback="resetState" @reloadlist="getList" />
<!--详情部分组件--> <!--详情部分组件-->
<div-info @handleReturn="visible = true" ref="dingdanxinxiinfo" @doback="resetState"/> <div-info @handleReturn="visible = true" ref="dingdanxinxiinfo" @doback="resetState" />
<!-- <dingdanxinxi-add ref="addAndUpdate" @handleReturn="visible=true" @created="dataCreated" @updated="dataUpdated" />
<dingdanxinxi-info ref="openInfo" @handleReturn="visible = true" /> -->
<!--消贷业务金融方案详情预览-->
<!-- <xiaodaijinrongfangan-info v-show="xiaodaijinrongfanganInfoShow" @noClickclose="noClickclose"/>-->
<!-- 合同编辑-->
<!-- <hetongdanganguanliInfo ref="hetongdanganguanli-Info" @handleReturn="visible = true"/> -->
<!-- 打印合同 -->
<!-- <divPrint ref="divPrint" @doback="resetState"/>-->
</div> </div>
</template> </template>
<script> <script>
import {deleteByids, dictType, getListOrg, getPageList} from '@/api/salesManagement/orderManagement' import { delBySids, dictType, getListOrg, getListPage } 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 { loginDetails } from '@/api/dictcommons/basemanufacturer'
import {getStorage} from '@/utils/auth' import { getStorage } from '@/utils/auth'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import divAdd from './xiaoshoudingdanAdd.vue' import divAdd from './xiaoshoudingdanAdd.vue'
import divInfo from './xiaoshoudingdanInfo.vue' import divInfo from './xiaoshoudingdanInfo.vue'
// import divPrint from './dayinxiangshezhi.vue' // import divPrint from './dayinxiangshezhi.vue'
// import xiaodaijinrongfanganInfo from '../../xiaodaijinrongfangan/xiaodaijinrongfanganinfo.vue' // import xiaodaijinrongfanganInfo from '../../xiaodaijinrongfangan/xiaodaijinrongfanganinfo.vue'
// import hetongdanganguanliInfo from '@/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue' // import hetongdanganguanliInfo from '@/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue'
export default { export default {
name: 'xiaoshoudingdan', name: 'xiaoshoudingdan',
components: { components: {
Pagination, Pagination,
pageye, pageye,
divAdd, divAdd,
divInfo, divInfo,
// divPrint, // 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,
userSid: '', userSid: '',
treedata: [], treedata: [],
payTypeList: [], payTypeList: [],
saleTypeList: [], saleTypeList: [],
isSearchShow: false, isSearchShow: false,
searchxianshitit: '隐藏查询条件', searchxianshitit: '隐藏查询条件',
// ----------- // -----------
tableKey: 0, tableKey: 0,
addOrUpdatetypes: '', addOrUpdatetypes: '',
list: [ list: [
{ {
name: '2345', name: '2345',
contractNum: '2222' contractNum: '2222'
} }
], ],
sids: [], sids: [],
defaultProps: { nodeState_list: [],
children: 'children', defaultProps: {
label: 'name' children: 'children',
}, label: 'name'
total: 1, },
listLoading: false, total: 1,
listQuery: { listLoading: false,
current: 1, listQuery: {
size: 20, current: 1,
params: { size: 20,
customerName: '', params: {
modelName: '', customerName: '',
orgName: '', modelName: '',
payType: '', orgName: '',
saleType: '', payType: '',
staffName: '' saleType: '',
} staffName: ''
}, }
temp: { },
contactMobile: '1' temp: {
}, // contactMobile: '1'
nodeState: '', // }, //
submitDto: { nodeState: '', //
businessSid: '',
userSid: window.sessionStorage.getItem('userSid') visible: true
}, // ------------------------------------
updateDto: { }
nodeState: '', },
sid: '' computed: {},
}, created() {
visible: true //
// ------------------------------------ this.getList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
} }
}, },
computed: {}, init() {
created() { },
// // ------------------
resetState() {
this.visible = true
this.getList() this.getList()
}, },
methods: { xiaoshouhetong(row) {
// console.log('9511', row)
clicksearchShow() { this.visible = false
this.isSearchShow = !this.isSearchShow this.$refs['hetongdanganguanli-Info'].showOrderHeTong(row.sid)
if (this.isSearchShow) { },
this.searchxianshitit = '隐藏查询条件' //
} else { handleCheck(row) {
this.searchxianshitit = '显示查询条件' this.visible = false
} this.$refs['dingdanxinxiinfo'].showInfo(row.billNo)
}, },
init() { //
}, handleCreate(row) {
// ------------------ this.visible = false
resetState() { this.$refs['divadd'].showAdd()
this.visible = true },
this.getList() //
}, changeNodeState(row) {
xiaoshouhetong(row) { if (row.nodeState == '') {
console.log('9511', row)
this.visible = false
this.$refs['hetongdanganguanli-Info'].showOrderHeTong(row.sid)
},
//
handleCheck(row) {
this.visible = false
this.$refs['dingdanxinxiinfo'].showInfo(row.billNo)
},
//
handleCreate(row) {
this.visible = false this.visible = false
this.$refs['divadd'].showAdd() this.$refs['divadd'].showEdit(row.sid)
}, }
// },
changeNodeState(row) { //
if (row.nodeState == '') { openInfo() {
this.visible = false this.visible = false
this.$refs['divadd'].showEdit(row.sid) this.$refs['dingdanxinxiinfo'].showInfo()
},
printContract(row) {
this.visible = false
this.$refs['divPrint'].showInfo(row)
},
// ------------------
// ------------------
noClickclose() {
this.xiaodaijinrongfanganInfoShow = false
this.hetongdanganguanliAddShow = false
this.viewState = 1
},
//
handleCheckxiaodai() {
this.viewState = false
this.xiaodaijinrongfanganInfoShow = true
this.hetongdanganguanliAddShow = false
},
// ------------------
//
handleReset() {
this.listQuery.params.customerName = ''
this.listQuery.params.modelName = ''
this.listQuery.params.orgName = ''
this.listQuery.params.payType = ''
this.listQuery.params.saleType = ''
this.listQuery.params.staffName = ''
this.listQuery.params.createDateEnd = ''
this.listQuery.params.createDateStart = ''
// // this.getList()
},
//
handleReturn() {
this.$router.go(-1)
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
// treedata
getOrgList() {
getListOrg().then((response) => {
if (response.code === '200' && response.data) {
this.treedata = response.data[0].children
this.getpayTypeList()
} }
}, })
printContract(row) { },
this.visible = false // purchaseType
this.$refs['divPrint'].showInfo(row) getpayTypeList() {
}, dictType({
type: 'purchaseType',
}).then((response) => {
if (response.code === '200' && response.data) {
this.payTypeList = response.data
// ------------------ this.getpaySaleList()
// ------------------ }
noClickclose() { })
this.xiaodaijinrongfanganInfoShow = false },
this.hetongdanganguanliAddShow = false // saleType
this.viewState = 1 getpaySaleList() {
}, dictType({
type: 'saleType'
}).then((response) => {
if (response.code === '200' && response.data) {
this.saleTypeList = response.data
}
})
},
//
getList() {
this.listLoading = true
getListPage(this.listQuery).then((response) => {
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
this.getHuoquyonghu()
} else {
this.list = []
this.total = 0
}
})
},
// handleCheckChange(data, checked, node) {
handleCheckxiaodai() { this.listQuery.params.orgName = data.name
this.viewState = false },
this.xiaodaijinrongfanganInfoShow = true //
this.hetongdanganguanliAddShow = false handleFilter() {
}, this.listQuery.current = 1
// ------------------ this.getList()
// },
handleReset() {
this.listQuery.params.customerName = ''
this.listQuery.params.modelName = ''
this.listQuery.params.orgName = ''
this.listQuery.params.payType = ''
this.listQuery.params.saleType = ''
this.listQuery.params.staffName = ''
this.listQuery.params.createDateEnd = ''
this.listQuery.params.createDateStart = ''
// // this.getList()
},
//
handleReturn() {
this.$router.go(-1)
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
// treedata
getOrgList() {
getListOrg().then((response) => {
if (response.code === '200' && response.data) {
this.treedata = response.data[0].children
this.getpayTypeList()
}
})
},
// purchaseType
getpayTypeList() {
dictType({
type: 'purchaseType',
}).then((response) => {
if (response.code === '200' && response.data) {
this.payTypeList = response.data
this.getpaySaleList() //
} handleSelectionChange(row) {
}) const aa = []
}, const bb = []
// saleType row.forEach((element) => {
getpaySaleList() { aa.push(element.sid)
dictType({ bb.push(element.nodeState)
type: 'saleType' })
}).then((response) => { this.sids = aa
if (response.code === '200' && response.data) { this.nodeState_list = bb
this.saleTypeList = response.data },
}
})
},
//
getList() {
this.listLoading = true
getPageList(this.listQuery).then((response) => {
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.total = response.data.total
this.getHuoquyonghu()
} else {
this.list = []
this.total = 0
}
})
},
handleCheckChange(data, checked, node) { //
this.listQuery.params.orgName = data.name getHuoquyonghu() {
}, var token = getStorage()
// loginDetails(token).then((response) => {
handleFilter() { if (response.code === '200') {
this.listQuery.current = 1 this.userSid = response.data.sid
this.getList() this.getOrgList()
}, }
})
},
// //
handleSelectionChange(row) { handleSubmit() {
const aa = [] if (this.sids.length == 1) {
row.forEach((element) => { this.$confirm('是否确定提交该业务', '提示', {
aa.push(element.sid) confirmButtonText: '确定',
console.log(element.sid) cancelButtonText: '取消',
// setuser(this.sids) type: 'warning'
}).then(() => {
this.submitDto.businessSid = this.sids[0]
submitSales(this.submitDto).then((response) => {
if (response.code === '200') {
this.updateDto.nodeState = response.data.nodeState
this.$notify({
title: '提示',
message: '添加成功',
type: 'success',
duration: 2000
})
//
this.updateDto.sid = this.sids[0]
updateSales(this.updateDto).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '更新成功',
type: 'success',
duration: 2000
})
this.getList()
} else {
this.$notify({
title: '更新失败',
message: response.msg,
type: 'error'
})
}
})
} else {
this.$notify({
title: '添加失败',
message: response.msg,
type: 'error'
})
}
})
}) })
this.sids = aa } else if (this.sids.length == 0) {
const bb = [] this.$notify({
row.forEach((element) => { title: '您还未选择,请选择数据!!!',
bb.push(element.nodeState) type: 'error'
console.log(element.nodeState)
if (element.nodeState !== '') {
this.isableSub = true
} else if (element.nodeState == '') {
this.isableSub = false
}
}) })
}, } else if (this.sids.length > 1) {
// this.$notify({
getHuoquyonghu() { title: '您选择的数据过多,请选择一条数据编辑!!',
var token = getStorage() type: 'error'
loginDetails(token).then((response) => {
if (response.code === '200') {
this.userSid = response.data.sid
this.getOrgList()
}
}) })
}, }
},
// // sid
handleSubmit() { handleDelete() {
if (this.sids.length == 1) { if (this.sids.length === 0) {
this.$confirm('是否确定提交该业务', '提示', { this.$notify({
confirmButtonText: '确定', title: '提示',
cancelButtonText: '取消', message: '没有选择!!',
type: 'warning' type: 'warning',
}).then(() => { duration: 2000
this.submitDto.businessSid = this.sids[0] })
submitSales(this.submitDto).then((response) => { return
if (response.code === '200') { }
this.updateDto.nodeState = response.data.nodeState delBySids(this.sids.join(',')).then((response) => {
this.$notify({ if (response.code === '200') {
title: '提示',
message: '添加成功',
type: 'success',
duration: 2000
})
//
this.updateDto.sid = this.sids[0]
updateSales(this.updateDto).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '更新成功',
type: 'success',
duration: 2000
})
this.getList()
} else {
this.$notify({
title: '更新失败',
message: response.msg,
type: 'error'
})
}
})
} else {
this.$notify({
title: '添加失败',
message: response.msg,
type: 'error'
})
}
})
})
} else if (this.sids.length == 0) {
this.$notify({ this.$notify({
title: '您还未选择,请选择数据!!!', title: '提示',
type: 'error' message: '删除成功',
type: 'success',
duration: 2000
}) })
} else if (this.sids.length > 1) { this.getList()
} else {
this.$notify({ this.$notify({
title: '您选择的数据过多,请选择一条数据编辑!!', title: '删除失败',
message: response.msg,
type: 'error' type: 'error'
}) })
} }
}, })
// },
// submitOrder() { //
// submitOrder(this.userSid, this.sids.join(',')).then((response) => { handleDaoChu(row) {
// if (response.code === '200') { this.$confirm('确定要导出数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
// .then(() => {
// const tempData = Object.assign({}, row) // copy obj
// // console.log('ID' + JSON.stringify(tempData.id))
// delServiceType(tempData.id).then(response => {
// if (response.code === 20000) {
// // console.log('' + JSON.stringify(response))
// this.$notify({ // this.$notify({
// 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'
// }) // })
// } // }
// }) // })
// }, // })
// ID // .catch(() => {
handleDelete() { // this.$message({
if (this.sids.length === 0) { // type: 'info',
this.$notify({ // message: ''
title: '提示', // })
message: '没有选择!!', // })
type: 'warning', },
duration: 2000 //
}) AddUpdateReturn() {
return this.visible = true
} },
deleteByids(this.sids.join(',')).then((response) => { //
if (response.code === '200') { dataCreated() {
this.$notify({ this.visible = true
title: '提示', this.getList()
message: '删除成功', },
type: 'success', //
duration: 2000 dataUpdated() {
}) this.visible = true
this.getList() this.getList()
} else {
this.$notify({
title: '删除失败',
message: response.msg,
type: 'error'
})
}
})
},
//
handleDaoChu(row) {
this.$confirm('确定要导出数据, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
// .then(() => {
// const tempData = Object.assign({}, row) // copy obj
// // console.log('ID' + JSON.stringify(tempData.id))
// delServiceType(tempData.id).then(response => {
// if (response.code === 20000) {
// // console.log('' + JSON.stringify(response))
// this.$notify({
// title: '',
// message: '',
// type: 'success',
// duration: 2000
// })
// this.getList()
// } else {
// this.$notify({
// title: '',
// message: response.msg,
// type: 'error'
// })
// }
// })
// })
// .catch(() => {
// this.$message({
// type: 'info',
// message: ''
// })
// })
},
//
AddUpdateReturn() {
this.visible = true
},
//
dataCreated() {
this.visible = true
this.getList()
},
//
dataUpdated() {
this.visible = true
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>

2126
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanAdd.vue

File diff suppressed because it is too large

585
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue

@ -1,13 +1,596 @@
<template> <template>
<div class="app-container">
<div v-show="relState == '2'">
<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="dataForm" :model="temp" label-position="right" class="formadd">
<!-- --------------------------订单----------------- -->
<div class="tit">
销售订单
<div class="times">
<div>
<span>销售机构</span>
<span>{{ temp.billNo }}</span>
</div>
<div>
<span>编号</span>
<span>{{ temp.billNo }}</span>
</div>
</div>
</div>
<div class="times02">
<div>
<span>销售部门</span>
<span>{{ temp.orgName}}</span>
</div>
<div>
<span>销售专员</span>
<span>{{ temp.staffName }}</span>
</div>
<div>
<span>制单日期</span>
<span>{{ temp.createDate }}</span>
</div>
</div>
<!-- ==================== 客户信息 ======================================== -->
<div class="titleleft">客户信息</div>
<el-row class="bordertopline">
<el-col :span="3">
<span>客户名称</span>
</el-col>
<el-col :span="9">
<el-form-item prop="customerName">
<span>{{ temp.customerName }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>联系电话</span>
</el-col>
<el-col :span="9">
<el-form-item prop="mobile">
<span>{{temp.mobile}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>挂靠公司</span>
</el-col>
<el-col :span="21">
<el-form-item prop="affiliatedCompany">
<span>{{temp.affiliatedCompany}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>订单类型</span>
</el-col>
<el-col :span="5">
<el-form-item prop="billingType">
<span>{{temp.type}}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>付款方式</span>
</el-col>
<el-col :span="5">
<el-form-item prop="billingType">
<span>{{temp.payTypeKey}}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>开票类型</span>
</el-col>
<el-col :span="5">
<el-form-item prop="billingType">
<span>{{temp.billingTypeKey}}</span>
</el-form-item>
</el-col>
</el-row>
<!-- ==================== 主车信息 ======================================== -->
<div class="titleleft">
<span>主车信息</span>
</div>
<el-row>
<el-col :span="4">
<span>车型名称</span>
</el-col>
<el-col :span="20">
<el-form-item>
<span>{{temp.busSalesOrderModel.modelName}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>常用配置</span>
</el-col>
<el-col :span="20">
<el-form-item>
<span>{{temp.busSalesOrderModel.config}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>更多配置</span>
</el-col>
<el-col :span="20">
<el-form-item>
<span>{{temp.busSalesOrderModel.moreConfig}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>特殊配置说明</span>
</el-col>
<el-col :span="20">
<el-form-item>
<span>{{temp.busSalesOrderModel.specialConfig}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>上装</span>
</el-col>
<el-col :span="20">
<el-form-item>
<span>{{ temp.busSalesOrderMakeup.announcementModel }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>车架号</span>
</el-col>
<el-col :span="20">
<el-form-item>
<span>{{temp.busSalesOrderMakeup.linkNo}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>采购订单编号</span>
</el-col>
<el-col :span="20">
<el-form-item>
<span>{{temp.busSalesOrderMakeup.linkNo}}</span>
</el-form-item>
</el-col>
</el-row>
<!-- ==================== 挂车(暂不考虑) ======================================== -->
<div class="titleleft space_up">挂车信息</div>
<div class="shangzhuangstyle">
<el-row>
<el-col :span="24"></el-col>
</el-row>
</div>
<!-- ==================== 价格信息 ======================================== -->
<div class="titleleft space_up">价格信息</div>
<div>
<el-container>
<el-main>
<el-row>
<el-col :span="4">
<span>主车成交价</span>
</el-col>
<el-col :span="8">
<el-form-item prop="billingType">
<span>{{temp.type}}</span>
</el-form-item>
</el-col>
<el-col :span="4">
<span>主车台数</span>
</el-col>
<el-col :span="8">
<el-form-item prop="billingType">
<span>{{temp.payTypeKey}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<span>挂车价格</span>
</el-col>
<el-col :span="8">
<el-form-item prop="billingType">
<span>{{temp.type}}</span>
</el-form-item>
</el-col>
<el-col :span="4">
<span>挂车台数</span>
</el-col>
<el-col :span="8">
<el-form-item prop="billingType">
<span>{{temp.payTypeKey}}</span>
</el-form-item>
</el-col>
</el-row>
</el-main>
<el-aside width="240px" class="aside_one">
<span>车架合计</span>
</el-aside>
<el-aside width="240px" class="aside_two">
<span>{{temp.payTypeKey}}</span>
</el-aside>
</el-container>
<el-row>
<el-col :span="3">
<span>计划提车地点</span>
</el-col>
<el-col :span="9">
<el-form-item prop="billingType">
<span>{{temp.busSalesOrderPrice.plannedPickUpLocation}}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>预计提车日期</span>
</el-col>
<el-col :span="9">
<el-form-item prop="billingType">
<span>{{temp.busSalesOrderPrice.plannedPickUpDate}}</span>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- ==================== 优惠说明 ======================================== -->
<div class="titleleft space_up">优惠说明</div>
<div class="shangzhuangstyle">
<el-row>
<el-col :span="24"></el-col>
</el-row>
</div>
<!-- ==================== 保险说明 ======================================== -->
<div class="titleleft">
<span>保险说明</span>
</div>
<el-row>
<el-col :span="24"></el-col>
</el-row>
<!-- ==================== 金融方案(暂不考虑) ======================================== -->
<div class="titleleft">
<span>金融方案</span>
<!-- <div class="jinrongTit">-->
<!-- <span>单车方案编辑</span>-->
<!-- <span> 预览总方案</span>-->
<!-- </div>-->
</div>
<!-- ==================== 订金信息 ======================================== -->
<div class="titleleft space_up">
<span>订金信息</span>
</div>
<div class="shangzhuangstyle">
<el-row>
<el-col :span="3">
<span>单台订金</span>
</el-col>
<el-col :span="9">
<el-form-item>
{{temp.busSalesOrderDeposit.deposit}}
</el-form-item>
</el-col>
<el-col :span="3">
<span>订金合计</span>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.busSalesOrderDeposit.depositAll }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>定金备注</span>
</el-col>
<el-col :span="21">
<el-form-item>
<span>{{temp.busSalesOrderDeposit.remarks}}</span>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- ==================== 补充说明 ======================================== -->
<div class="titleleft">
<span>补充说明</span>
</div>
<el-row>
<el-input v-model="temp.remarks" type="textarea" placeholder="补充说明" class="addinputw"/>
</el-row>
<!-- ==================== 尾部署名 ======================================== -->
<div class="footer_con">
<div class="footer_tit"><span>销售专员{{temp.staffName}}</span></div>
<div class="footer_tit"><span>客户签名{{temp.customerName}}</span></div>
</div>
<div class="footer_time">
<div class="footer_tit"><span>{{temp.createDate}}</span></div>
<div class="footer_tit"><span>{{temp.createDate}}</span></div>
</div>
</el-form>
</div>
</div>
</div>
</template> </template>
<script> <script>
import {mapGetters} from 'vuex'
import {fetchDetailsBySid} from '@/api/salesManagement/orderManagement'
export default { export default {
name: "xiaoshoudingdanInfo" name: "xiaoshoudingdanInfo",
data() {
return {
state: '',
relState: '', // 1 2 3 1.1 1.2 2.1 2.2 2.3
// 4.1 5.1
nodeState: '', //
temp: {
billNo: '', //
affiliatedCompany: '', //
affiliatedCompanySid: '', //sid
billingType: '', //value
billingTypeKey: '', //key
busDepositFictitiousList: [{
depositBillNo: '', //
depositPrice: '', //
depositSid: '', //sid
payPath: '', //
price: '', //
}], //
busSalesOrderDeposit: {
deposit: '', //
depositAll: '', //
depositType: '', //
depositTypeKey: '', // key
makeUpDeposit: '', //
}, //
busSalesOrderDiscountList: [{
discountExplain: '', //
name: '', //
num: '', //
price: '', //
salesPolicySid: '', //sid
totalValue: '', //
}], //
busSalesOrderInsurance: {
insuranceCarMoney: '', //
insuranceName: '', //
insuranceNum: '', //
}, //
busSalesOrderMakeup: {
announcementModel: '', //
contractPath: '', //
moreConfig: '', //
overallDimension: '', //
plateMaterial: '', //
plateThickness: '', //
refitFactory: '', //
refitMethod: '', //
topName: '', //
topPrice: '', //
}, //
busSalesOrderModel: {
brandName: '', //
config: '', //
finalPrice: '', //
guildPrice: '', //
modelConfig: '', //
modelConfigSid: '', //sid
modelName: '', //
modelSid: '', //sid
moreConfig: '', //
specialConfig: '', //
}, //
busSalesOrderPrice: {
plannedPickUpDate: '', //
plannedPickUpLocation: '', //
priceSum: '', //
quantity: '', //
singleFinalPrice: '', // (
singleGuildPrice: '', // (
}, //
busSalesOrderVehicleList: [],//
busSalesVehicleOrderList: [], //
// {
// linkNo: '', //
// linkSid: '', //sid
// linkText: '', //
// }
createDate: '', //
customerName: '', //
customerSid: '', //sid
isInsurance: '', //
isTop: '', //
mobile: '', //
notes: '', //
orgName: window.sessionStorage.getItem('Orgname'), //
orgSid: window.sessionStorage.getItem('orgSid'), //sid
payType: '', //value
payTypeKey: '', //key
sid: '',
staffName: window.sessionStorage.getItem('name'), //
staffSid: window.sessionStorage.getItem('staffSid'), //sid
type: '', // 123
}, //
// ------------------------------------
}
},
methods: {
showInfo(billNo) {
this.relState = '2'
},
handleReturn() {
this.relState = ''
this.$emit('doback')
}
}
} }
</script> </script>
<style scoped> <style scoped>
.formadd {
width: 95%;
margin: 0 auto;
}
.shangzhuangstyle /deep/ .el-col-4 {
text-align: left
}
.jiagestyle /deep/ .el-col-4 {
text-align: left
}
.chosseBtn /deep/ .el-col-4 {
text-align: left
}
.tit {
margin: 0 0 10px 0;
padding: 10px 0 0 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 30px 0 10px 0;
margin: 0 auto 0 auto;
width: 75%;
font-size: 14px;
text-align: center;
}
.times02 {
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 0 0 24px 0;
margin: 0 auto 0 auto;
width: 75%;
font-size: 14px;
text-align: center;
}
/deep/ .el-col-3, .el-col-4, .el-col-2 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
/deep/ .el-button--small {
border-radius: 4px;
}
.space_up {
margin-top: 1px;
}
.qitas .left {
text-align: left;
}
.qitas .right {
text-align: right;
}
.addinputw {
display: inline-block !important;
}
.jinrongTit span {
margin-left: 10px;
}
/deep/ .is-checked /deep/ .el-checkbox__label {
color: white;
}
/deep/ .el-checkbox__label {
color: white;
font-weight: bold;
font-size: 20px;
}
/deep/ .el-collapse-item__header {
height: 40px;
padding: 10px;
font-weight: bold;
font-size: 20px;
text-align: left;
color: #ffffff;
background-color: #0294d7;
}
/deep/ .el-collapse-item__content {
padding-bottom: 0;
}
/deep/ .el-main {
padding: 0;
}
.aside_one {
border-right: 1px solid #e0e3eb;
border-bottom: 1px solid #e0e3eb;
font-size: 14px;
color: #606266;
font-weight: 600;
text-align: right;
line-height: 100px;
padding-right: 10px;
}
.aside_two {
border-right: 1px solid #e0e3eb;
border-bottom: 1px solid #e0e3eb;
font-size: 14px;
color: #606266;
font-weight: 600;
text-align: left;
line-height: 100px;
padding-left: 10px;
}
.footer_con {
padding: 40px 25px 0 45px;
}
.footer_time {
padding: 25px 25px 0 95px;
}
.footer_con .footer_tit {
display: inline-block;
width: 20%;
font-size: 14px;
color: #606266;
font-weight: 600;
}
.footer_time .footer_tit {
display: inline-block;
width: 20%;
font-size: 14px;
color: #606266;
font-weight: 600;
}
.footer_tit:last-child {
float: right;
margin: 0;
right: 120px;
}
</style> </style>

549
anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanSubmit.vue

@ -0,0 +1,549 @@
<template>
<div class="app-container">
<div v-show="relState == '3'">
<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="dataForm" :model="temp" label-position="right" class="formadd" :rules="rules">
<!-- --------------------------订单----------------- -->
<div class="tit">
订单提交时补充内容
<div class="times">
<div>
<span>编号</span>
<span>{{ temp.billNo }}</span>
</div>
<div>
<span>制单日期</span>
<span>{{ temp.createDate }}</span>
</div>
</div>
</div>
<div class="times02">
<div>
<span>客户名称</span>
<span>{{ temp.customerName }}</span>
</div>
<div>
<span>联系电话</span>
<span>{{ temp.mobile }}</span>
</div>
</div>
<!-- ==================== 价格说明 ======================================== -->
<div class="titleleft space_up">价格说明</div>
<div class="jiagestyle">
<el-row>
<el-col :span="2">
<span>单台指导价</span>
</el-col>
<el-col :span="4">
<el-form-item>
<span>{{ temp.busSalesOrderPrice.singleGuildPrice }}</span>
</el-form-item>
</el-col>
<el-col :span="2">
<span>单台成交价</span>
</el-col>
<el-col :span="4">
<el-form-item>
<span>{{ temp.busSalesOrderPrice.singleFinalPrice }}</span>
</el-form-item>
</el-col>
<el-col :span="2"/>
<el-col :span="4"/>
<el-col :span="2">
<span>台数</span>
</el-col>
<el-col :span="4">
<el-form-item>
<span>{{ temp.busSalesOrderPrice.quantity }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="2">
<span>车架合计</span>
</el-col>
<el-col :span="10">
<el-form-item>
<span>{{ temp.busSalesOrderPrice.priceSum }}</span>
</el-form-item>
</el-col>
<el-col :span="2">
<span>计划提车地点</span>
</el-col>
<el-col :span="4">
<el-form-item>
<span>{{ temp.busSalesOrderPrice.plannedPickUpLocation }}</span>
</el-form-item>
</el-col>
<el-col :span="2">
<span>预计提车日期</span>
</el-col>
<el-col :span="4">
<el-form-item>
<span>{{ temp.busSalesOrderPrice.plannedPickUpDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="2">
<span>价格说明</span>
</el-col>
<el-col :span="22">
<el-input v-model="temp.busSalesOrderPrice.plannedPickUpLocation" placeholder="请输入价格说明"
class="addinputw" clearable/>
</el-col>
</el-row>
</div>
<!-- ==================== 优惠说明 ======================================== -->
<div class="titleleft space_up">优惠说明</div>
<el-table :key="tableKey" v-loading="listLoading" :data="temp.busSalesOrderDiscountList" border fit
highlight-current-row :index="index" style="width: 100%;">
<el-table-column label="序号" type="index" width="80" align="center"/>
<el-table-column label="优惠名称" align="center">
<template slot-scope="scope">
<span>{{ scope.row.name }}</span>
</template>
</el-table-column>
<el-table-column label="价值" align="center">
<template slot-scope="scope">
<span>{{ scope.row.price }}</span>
</template>
</el-table-column>
<el-table-column label="优惠项目说明" align="center">
<template slot-scope="scope">
<span>{{ scope.row.discountExplain }}</span>
</template>
</el-table-column>
<el-table-column label="数量" align="center">
<template slot-scope="scope">
<span>{{ scope.row.num }}</span>
</template>
</el-table-column>
<el-table-column label="总价值" align="center">
<template slot-scope="scope">
<span>{{ scope.row.totalValue }}</span>
</template>
</el-table-column>
</el-table>
<el-row>
<el-col :span="2">
<span>备注说明</span>
</el-col>
<el-col :span="22">
<el-input v-model="temp.remarks" placeholder="请输入备注说明"
class="addinputw" clearable/>
</el-col>
</el-row>
<!-- ==================== 完善以下信息 ======================================== -->
<div class="titleleft space_up">完善以下信息</div>
<div>
<el-row>
<el-col :span="3">
<span>中介名称</span>
</el-col>
<el-col :span="5">
<el-form-item prop="billingType">
<el-input v-model="temp.remarks" placeholder="请输入中介名称"
class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="3">
<span>联系电话</span>
</el-col>
<el-col :span="5">
<el-form-item prop="billingType">
<el-input v-model="temp.remarks" placeholder="请输入联系电话"
class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="3">
<span>合同</span>
</el-col>
<el-col :span="5">
<el-form-item prop="billingType">
<span>{{ temp.billingTypeKey }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>单车中介服务费</span>
</el-col>
<el-col :span="5">
<el-form-item prop="billingType">
<el-input v-model="temp.remarks" placeholder="请输入价格说明"
class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="3">
<span>台数</span>
</el-col>
<el-col :span="5">
<el-form-item prop="billingType">
<span>{{ temp.payTypeKey }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>返利合计</span>
</el-col>
<el-col :span="5">
<el-form-item prop="billingType">
<el-input v-model="temp.remarks" placeholder="请输入返利合计"
class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>返利备注</span>
</el-col>
<el-col :span="19">
<el-form-item prop="billingType">
<el-input v-model="temp.remarks" placeholder="请输入返利备注"
class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="3">
<span>内部引荐人</span>
</el-col>
<el-col :span="19">
<el-form-item prop="billingType">
<el-input v-model="temp.remarks" placeholder="请选择内部引荐人"
class="addinputw" clearable/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
</div>
</div>
</template>
<script>
export default {
name: "xiaoshoudingdanSubmit",
data() {
return {
//
viewTitle: '',
state: '',
relState: '', // 1 2 3 1.1 1.2 2.1 2.2 2.3
// 4.1 5.1
dialogStatus: 'add',
index: 0,
customerVisible: false,
xiancheVisible: false,
caigouVisible: false,
formLabelWidth: '110px',
disabled: false,
checked: false, //
checkedGua: false, //
checkedBaoxian: false, //
activeNames: ['1'], //
contractPdfView: false, //
contractPdf: '', // pdf
customerList: [],
payTypeList: [],
billingType_list: [], //
payType_list: [],
guaKaoCompanyList: [],
visitWay_list: [],
tableKey: 0,
tableKey2: 1,
tableKey3: 2,
tableKey4: 3,
FormLoading: false, //
listLoading: false,
nodeState: '', //
orderSid: '', // sid
//
customerTypeList: {
visitWay: '', //
visitWayKey: '',
customerType: ''//
},
temp: {
affiliatedCompany: '', //
affiliatedCompanySid: '', //sid
billingType: '', //value
billingTypeKey: '', //key
busDepositFictitiousList: [{
depositBillNo: '', //
depositPrice: '', //
depositSid: '', //sid
payPath: '', //
price: '', //
}], //
busSalesOrderDeposit: {
deposit: '', //
depositAll: '', //
depositType: '', //
depositTypeKey: '', // key
makeUpDeposit: '', //
}, //
busSalesOrderDiscountList: [{
discountExplain: '', //
name: '', //
num: '', //
price: '', //
salesPolicySid: '', //sid
totalValue: '', //
}], //
busSalesOrderInsurance: {
insuranceCarMoney: '', //
insuranceName: '', //
insuranceNum: '', //
}, //
busSalesOrderMakeup: {
announcementModel: '', //
contractPath: '', //
moreConfig: '', //
overallDimension: '', //
plateMaterial: '', //
plateThickness: '', //
refitFactory: '', //
refitMethod: '', //
topName: '', //
topPrice: '', //
}, //
busSalesOrderModel: {
brandName: '', //
config: '', //
finalPrice: '', //
guildPrice: '', //
modelConfig: '', //
modelConfigSid: '', //sid
modelName: '', //
modelSid: '', //sid
moreConfig: '', //
specialConfig: '', //
}, //
busSalesOrderPrice: {
plannedPickUpDate: '', //
plannedPickUpLocation: '', //
priceSum: '', //
quantity: '', //
singleFinalPrice: '', // (
singleGuildPrice: '', // (
}, //
busSalesOrderVehicleList: [],//
busSalesVehicleOrderList: [], //
// {
// linkNo: '', //
// linkSid: '', //sid
// linkText: '', //
// }
createDate: '', //
customerName: '', //
customerSid: '', //sid
isInsurance: '', //
isTop: '', //
mobile: '', //
notes: '', //
orgName: window.sessionStorage.getItem('Orgname'), //
orgSid: window.sessionStorage.getItem('orgSid'), //sid
payType: '', //value
payTypeKey: '', //key
sid: '',
staffName: window.sessionStorage.getItem('name'), //
staffSid: window.sessionStorage.getItem('staffSid'), //sid
type: '', // 123
}, //
isXuanzeShow: '',
//
xianchetotal: 1,
xiancheLoading: false,
xiancheList: {
current: 1,
size: 20,
params: {
customerSid: '',
modelConfigSid: '',
modelSid: '',
staffSid: '',
type: ''
}
},
//
caigoutotal: 1,
caigouLoading: false,
caigouList: {
current: 1,
size: 20,
params: {
billNo: '',
createDate: '',
customerName: ''
}
},
//
listXianche: [],
//
listCaigou: [],
//
rules: {},
// ------------------------------------
}
},
methods: {
showSubmit() {
this.relState = '3'
},
handleReturn() {
this.$emit('doback')
}
}
}
</script>
<style scoped>
.formadd {
width: 95%;
margin: 0 auto;
}
.shangzhuangstyle /deep/ .el-col-4 {
text-align: left
}
.jiagestyle /deep/ .el-col-4 {
text-align: left
}
.chosseBtn /deep/ .el-col-4 {
text-align: left
}
.tit {
margin: 0 0 10px 0;
padding: 10px 0 0 0;
}
.times {
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 30px 0 10px 0;
margin: 0 auto 0 auto;
width: 75%;
font-size: 14px;
text-align: center;
}
.times02 {
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 0 0 24px 0;
margin: 0 auto 0 auto;
width: 75%;
font-size: 14px;
text-align: center;
}
.customer_sel {
width: 65% !important;
}
/deep/ .el-col-3,
.el-col-4,
.el-col-2 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
/*/deep/ .el-form-item__content {*/
/* margin-left: 0 !important;*/
/*}*/
.chooseForm {
margin-left: 15px;
display: inline-block;
}
/deep/ .el-button--small {
border-radius: 4px;
}
.space_up {
margin-top: 1px;
}
.qitas .left {
text-align: left;
}
.qitas .right {
text-align: right;
}
.addinputw {
display: inline-block !important;
}
.checkedBaoxian {
margin-left: 15px;
}
.baoxianInput {
text-align: left;
}
.jinrongTit {
float: right;
}
.jinrongTit span {
margin-left: 10px;
}
/deep/ .is-checked /deep/ .el-checkbox__label {
color: white;
}
/deep/ .el-checkbox__label {
color: white;
font-weight: bold;
font-size: 20px;
}
/deep/ .el-collapse-item__header {
height: 40px;
padding: 10px;
font-weight: bold;
font-size: 20px;
text-align: left;
color: #ffffff;
background-color: #0294d7;
}
/deep/ .el-collapse-item__content {
padding-bottom: 0;
}
.zhucheBtn {
margin-left: 10px;
}
.xiancheBtn {
float: right;
}
.xiancheForm {
text-align: center;
}
.dialogBtn {
text-align: left;
}
</style>

97
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplication.vue

@ -6,18 +6,15 @@
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button> <el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button>
<div v-show="isSearchShow" class="search"> <div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header"> <el-form :inline="true" class="tab-header">
<el-form-item label="申请编号"><el-input v-model="queryParams.params.applicationCode" placeholder="请输入申请编号" clearable /></el-form-item> <el-form-item label="申请日期:">
<el-form-item label="申请人姓名"><el-input v-model="queryParams.params.createByName" placeholder="请输入申请人姓名" clearable /></el-form-item> <el-date-picker v-model="queryParams.params.applicationStartDate" class="filter-item" type="date"
<el-form-item label="申请日期"><el-input v-model="queryParams.params.applicationDate" placeholder="请输入申请日期" clearable /></el-form-item> format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
<el-form-item label="外采类型value"><el-input v-model="queryParams.params.externalMiningTypeValue" placeholder="请输入外采类型value" clearable /></el-form-item> <label></label>
<el-form-item label="采购单位名称"><el-input v-model="queryParams.params.purchasingUnitName" placeholder="请输入采购单位名称" clearable /></el-form-item> <el-date-picker v-model="queryParams.params.applicationEndDate" class="filter-item" type="date"
<el-form-item label="车型名称"><el-input v-model="queryParams.params.modelName" placeholder="请输入车型名称" clearable /></el-form-item> format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
<el-form-item label="常用配置名称"><el-input v-model="queryParams.params.configName" placeholder="请输入常用配置名称" clearable /></el-form-item> </el-form-item>
<el-form-item label="采购价格"><el-input v-model="queryParams.params.purchasePrice" placeholder="请输入采购价格" clearable /></el-form-item> <el-form-item label="车型:">
<el-form-item label="销售指导价"><el-input v-model="queryParams.params.guidedPrice" placeholder="请输入销售指导价" clearable /></el-form-item> <el-input v-model="queryParams.params.modelName" placeholder="请输入车型名称" clearable /></el-form-item>
<el-form-item label="厂家合同价"><el-input v-model="queryParams.params.manufactorSettlementPrice" placeholder="请输入厂家合同价" clearable /></el-form-item>
<el-form-item label="费用名称"><el-input v-model="queryParams.params.expenseName" placeholder="请输入费用名称" clearable /></el-form-item>
<el-form-item label="费用金额合计"><el-input v-model="queryParams.params.totalExpenseAmount" placeholder="请输入费用金额合计" clearable /></el-form-item>
<el-divider /> <el-divider />
<div class="btn" style="text-align: center;"> <div class="btn" style="text-align: center;">
<el-button type="primary" @click="dosearch">查询</el-button> <el-button type="primary" @click="dosearch">查询</el-button>
@ -34,25 +31,28 @@
<!-- End 项目列表头部 --> <!-- End 项目列表头部 -->
<!-- Start 项目列表 --> <!-- Start 项目列表 -->
<div class="listcon"> <div class="listcon" style="height: 100%;">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange"> <el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="30px" type="selection" align="center" /> <el-table-column width="30px" type="selection" align="center" />
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" /> <el-table-column width="50px" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="applicationCode" label="申请编号" align="center" /> <el-table-column width="150px" label="操作" align="center" >
<el-table-column prop="createByName" label="申请人姓名" align="center" /> <template slot-scope="scope">
<el-table-column prop="applicationDate" label="申请日期" align="center" /> <el-button v-if="scope.row.nodeState==''" type="primary" size="mini" @click="edit(scope.row)">办理</el-button>
<el-table-column prop="externalMiningTypeValue" label="外采类型value" align="center" /> <el-button v-else type="info" size="mini">办理</el-button>
<el-table-column prop="purchasingUnitName" label="采购单位名称" align="center" /> <el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button></template>
<el-table-column prop="modelName" label="车型名称" align="center" /> </el-table-column>
<el-table-column prop="configName" label="常用配置名称" align="center" /> <el-table-column prop="applicationCode" width="130px;" label="申请编号" align="center" />
<el-table-column prop="purchasePrice" label="采购价格" align="center" /> <el-table-column prop="nodeState" width="80px;" label="状态" align="center" >
<el-table-column prop="guidedPrice" label="销售指导价" align="center" /> <template slot-scope="scope">
<el-table-column prop="manufactorSettlementPrice" label="厂家合同价" align="center" /> <span v-if="scope.row.nodeState==''">待提交</span>
<el-table-column prop="num" label="台数" align="center" /> <span v-else >scope.row.nodeState</span>
<el-table-column prop="deposit" label="订金" align="center" /> </template>
<el-table-column prop="expenseName" label="费用名称" align="center" /> </el-table-column>
<el-table-column prop="totalExpenseAmount" label="费用金额合计" align="center" /> <el-table-column prop="applicationDate" width="110px;" label="申请日期" align="center" />
<el-table-column prop="orgSid" label="部门sid" align="center" /> <el-table-column prop="modelName" label="车型" align="center" />
<el-table-column prop="num" width="60px;" label="台数" align="center" />
<el-table-column prop="purchasePrice" width="90px;" label="采购价格" align="center" />
<el-table-column prop="guidedPrice" width="90px;" label="指导价" align="center" />
</el-table> </el-table>
</div> </div>
<!-- End 项目列表 --> <!-- End 项目列表 -->
@ -76,7 +76,7 @@
<!-- 详情部分组件 --> <!-- 详情部分组件 -->
<div-info v-show="viewState == 4" ref="divinfo" @doback="resetState" /> <div-info v-show="viewState == 4" ref="divinfo" @doback="resetState" />
<div-info v-show="viewState == 5" ref="divinfo" @doback="resetState" /> <!--<div-info v-show="viewState == 5" ref="divinfo" @doback="resetState" />-->
</div> </div>
</template> </template>
@ -109,10 +109,13 @@ export default {
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
staffSid: window.sessionStorage.getItem('staffSid'),
sids: [], // SID sids: [], // SID
applicationCode: '', // applicationCode: '', //
createByName: '', // createByName: '', //
applicationDate: '', // applicationDate: '', //
applicationStartDate:'',
applicationEndDate:'',
externalMiningTypeKey: '', // key externalMiningTypeKey: '', // key
externalMiningTypeValue: '', // value externalMiningTypeValue: '', // value
purchasingUnitSid: '', // sid purchasingUnitSid: '', // sid
@ -168,19 +171,23 @@ export default {
this.viewState = 2 this.viewState = 2
this.$refs['divadd'].showAdd() this.$refs['divadd'].showAdd()
}, },
toEdit() { toEdit() {
if (this.multipleSelection.length === 0) { if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑' }) this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑' })
return return
} }
if (this.multipleSelection.length > 1) { if (this.multipleSelection.length > 1) {
this.$message({ showClose: true, type: 'error', message: '只能选择一条记录进行编辑' }) this.$message({ showClose: true, type: 'error', message: '只能选择一条记录进行编辑' })
return return
} }
this.viewState = 3 this.viewState = 3
const row = this.multipleSelection[0] const row = this.multipleSelection[0]
this.$refs['divadd'].showEdit(row) this.$refs['divadd'].showEdit(row)
}, },
edit(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
doSubmit(row) { doSubmit(row) {
// //
this.btndisabled = true this.btndisabled = true
@ -316,9 +323,9 @@ export default {
return pageindex return pageindex
}, },
toInfo(row) { toInfo(row) {
this.$refs['divinfo'].showInfo(row)
this.viewState = 4 this.viewState = 4
} this.$refs['divinfo'].showInfo(row)
}
} }
} }
</script> </script>

268
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue

@ -8,6 +8,7 @@
<!-- start 添加修改按钮 --> <!-- start 添加修改按钮 -->
<div> <div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button> <el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="doSubmit">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button> <el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div> </div>
<!-- end 添加修改按钮 --> <!-- end 添加修改按钮 -->
@ -19,183 +20,210 @@
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="right" class="formadd"> <el-form ref="form_obj" :model="formobj" :rules="rules" label-position="right" class="formadd">
<div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div> <div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div>
<br><br> <br><br>
<el-row> <el-row style="border-left: none;">
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>申请编号</span> <span><span class="icon">*</span>申请编号</span>
</el-col> </el-col>
<el-col :span="5" class="trightb"> <el-col :span="5" class="trightb">
<el-form-item prop="applicationCode"></el-form-item> <el-form-item prop="applicationCode">{{formobj.applicationCode}}</el-form-item>
</el-col> </el-col>
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>申请人</span> <span><span class="icon">*</span>申请人</span>
</el-col> </el-col>
<el-col :span="5" class="trightb"> <el-col :span="5" class="trightb">
<el-form-item prop="createByName">张三</el-form-item> <el-form-item prop="createByName">{{formobj.createByName}}</el-form-item>
</el-col> </el-col>
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>申请日期</span> <span><span class="icon">*</span>申请日期</span>
</el-col> </el-col>
<el-col :span="5" class="trightb"> <el-col :span="5" class="trightb">
<el-form-item prop="applicationDate"></el-form-item> <el-form-item prop="applicationDate">{{formobj.applicationDate}}</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row style="border-left: none;">
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>外采类型</span> <span><span class="icon">*</span>外采类型</span>
</el-col> </el-col>
<el-col :span="21" class="trightb"> <el-col :span="21" class="trightb" >
<el-radio v-model="formobj.externalMiningTypeKey" label="1">直接外采</el-radio> <el-radio v-model="formobj.externalMiningTypeKey" label="1">直接外采</el-radio>
<el-radio v-model="formobj.externalMiningTypeKey" label="2">政策外采</el-radio> <el-radio v-model="formobj.externalMiningTypeKey" label="2">政策外采</el-radio>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row style="border-left: none; ">
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>采购单位</span> <span><span class="icon">*</span>采购单位</span>
</el-col> </el-col>
<el-col :span="21" class="trightb"> <el-col :span="21" class="trightb">
<el-form-item prop="purchasingUnitSid"><el-input v-model="formobj.purchasingUnitSid" placeholder="采购单位" class="addinputw" clearable /></el-form-item> <el-form-item prop="purchasingUnitName"><el-input size="small" v-model="formobj.purchasingUnitName" placeholder="采购单位" class="addinputw" clearable /></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row style="border-left: none;">
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>车型</span> <span><span class="icon">*</span>车型</span>
</el-col> </el-col>
<el-col :span="19" class="trightb"> <el-col :span="19" class="trightb">
<el-form-item prop="modelSid"></el-form-item> <el-form-item prop="modelName">{{formobj.modelName}}</el-form-item>
</el-col> </el-col>
<el-col :span="2" class="trightb"> <el-col :span="2" class="trightb">
<!--<button type="primary" size="small" @click="saveOrUpdate">选择</button>--> <!--<button type="primary" size="small" @click="saveOrUpdate">选择</button>-->
<el-button type="primary" size="small" @click="selectModel">选择</el-button> <el-button type="primary" size="small" @click="selectModel">选择</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row style="border-left: none;">
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>常用配置名称</span> <span><span class="icon">*</span>常用配置名称</span>
</el-col> </el-col>
<el-col :span="21" class="trightb"> <el-col :span="21" class="trightb">
<el-form-item prop="configName"></el-form-item> <el-form-item prop="configName">{{formobj.configName}}</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row style="border-left: none;">
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>采购价格</span> <span><span class="icon">*</span>采购价格</span>
</el-col> </el-col>
<el-col :span="9" class="trightb"> <el-col :span="9" class="trightb">
<el-form-item prop="purchasePrice"><el-input v-model="formobj.purchasePrice" placeholder="采购价格" class="addinputw" clearable /></el-form-item> <el-form-item prop="purchasePrice"><el-input size="small" v-model="formobj.purchasePrice" placeholder="采购价格" class="addinputw" clearable /></el-form-item>
</el-col> </el-col>
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>销售指导价</span> <span><span class="icon">*</span>销售指导价</span>
</el-col> </el-col>
<el-col :span="9" class="trightb"> <el-col :span="9" class="trightb">
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="guidedPrice"><el-input v-model="formobj.guidedPrice" placeholder="销售指导价" class="addinputw" clearable /></el-form-item> <el-form-item v-show="formobj.externalMiningTypeKey==1" prop="guidedPrice"><el-input size="small" v-model="formobj.guidedPrice" placeholder="销售指导价" class="addinputw" clearable /></el-form-item>
<el-form-item v-show="formobj.externalMiningTypeKey==2"prop="guidedPrice">10000</el-form-item> <el-form-item v-show="formobj.externalMiningTypeKey==2" prop="guidedPrice">{{formobj.guidedPrice}}</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row style="border-left: none;">
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>厂家合同价</span> <span><span class="icon">*</span>厂家合同价</span>
</el-col> </el-col>
<el-col :span="9" class="trightb"> <el-col :span="9" class="trightb">
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="manufactorSettlementPrice"><el-input v-model="formobj.manufactorSettlementPrice" placeholder="厂家合同价" class="addinputw" clearable /></el-form-item> <el-form-item v-show="formobj.externalMiningTypeKey==1" prop="manufactorSettlementPrice"><el-input size="small" v-model="formobj.manufactorSettlementPrice" placeholder="厂家合同价" class="addinputw" clearable /></el-form-item>
<el-form-item v-show="formobj.externalMiningTypeKey==2" prop="manufactorSettlementPrice">10000</el-form-item> <el-form-item v-show="formobj.externalMiningTypeKey==2" prop="manufactorSettlementPrice">{{formobj.manufactorSettlementPrice}}</el-form-item>
</el-col> </el-col>
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>台数</span> <span><span class="icon">*</span>台数</span>
</el-col> </el-col>
<el-col :span="9" class="trightb"> <el-col :span="9" class="trightb">
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="num"><el-input v-model="formobj.num" placeholder="台数" class="addinputw" clearable /></el-form-item> <el-form-item v-show="formobj.externalMiningTypeKey==1" prop="num"><el-input size="small" v-model="formobj.num" placeholder="台数" class="addinputw" clearable /></el-form-item>
<el-form-item v-show="formobj.externalMiningTypeKey==2" prop="num">2</el-form-item> <el-form-item v-show="formobj.externalMiningTypeKey==2" prop="num">{{formobj.num}}</el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row style="border-left: none;">
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>订金</span> <span><span class="icon">*</span>订金</span>
</el-col> </el-col>
<el-col :span="21" class="trightb"> <el-col :span="21" class="trightb">
<el-form-item prop="deposit"><el-input v-model="formobj.deposit" placeholder="订金" class="addinputw" clearable /></el-form-item> <el-form-item prop="deposit"><el-input size="small" style="height:10px;" v-model="formobj.deposit" placeholder="订金" class="addinputw" clearable /></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row style="border-left: none;">
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>费用名称</span> <span><span class="icon">*</span>费用名称</span>
</el-col> </el-col>
<el-col :span="9" class="trightb"> <el-col :span="9" class="trightb">
<el-form-item prop="expenseName"><el-input v-model="formobj.expenseName" placeholder="费用名称" class="addinputw" clearable /></el-form-item> <el-form-item prop="expenseName"><el-input size="small" v-model="formobj.expenseName" placeholder="费用名称" class="addinputw" clearable /></el-form-item>
</el-col> </el-col>
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>费用金额合计</span> <span><span class="icon">*</span>费用金额合计</span>
</el-col> </el-col>
<el-col :span="9" class="trightb"> <el-col :span="9" class="trightb">
<el-form-item prop="totalExpenseAmount"><el-input v-model="formobj.totalExpenseAmount" placeholder="费用金额合计" class="addinputw" clearable /></el-form-item> <el-form-item prop="totalExpenseAmount"><el-input size="small" v-model="formobj.totalExpenseAmount" placeholder="费用金额合计" class="addinputw" clearable /></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="listcon" v-show="formobj.externalMiningTypeKey==2"> <div class="listcon" v-show="formobj.externalMiningTypeKey==2">
<el-table v-loading="tableLoading" :data="formobj.baseOutsourcingApplicationVehicleDtos" border style="width: 100%" > <div style="border:1px solid #c0c0c0;padding:5px 5px 5px 5px;">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" /> 车辆列表 <el-button type="primary" size="small" @click="selectVehicleDialog">选择车辆</el-button>
<el-table-column width="80px" label="操作" type="index" align="center" > </div>
<el-table :data="formobj.baseOutsourcingApplicationVehicleDtos" border style="width: 100%" >
<el-table-column width="60px" label="序号" type="index" align="center" />
<el-table-column label="操作" align="center" >
<template slot-scope="scope"> <template slot-scope="scope">
1235 <el-button type="danger" size="small" @click="deleteVehicle(scope.row)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="applicationCode" label="车架号" align="center" /> <el-table-column prop="vinNo" label="车架号" align="center" />
</el-table> </el-table>
</div> </div>
</el-form> </el-form>
</div> </div>
</div><!-- End 添加修改部分 --> </div><!-- End 添加修改部分 -->
<!-- 车型配置分页列表 --> <!-- 车型配置分页列表 -->
<configuration v-show="viewState == 2" ref="divConfiguration" @doback="resetState"/> <el-dialog
<modellibrary v-show="viewState == 3" ref="modellibrary" @doback="resetState"/> title="车型库"
:visible.sync="dialogVisible"
width="90%"
show-close="false"
:before-close="handleClose">
<modellibrary ref="modellibrary" @doback="resetState"/>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="queding(this)"> </el-button>
</span>
</el-dialog>
<!-- 车型配置分页列表 -->
<el-dialog
title="车辆列表"
:visible.sync="vehicleDialogVisible"
width="90%"
show-close="false"
:before-close="handleClose">
<vehicle ref="vehicle" @doback="resetState" :selectedSids="selectedSids"
:modelSid="formobj.modelSid"
:configSid="formobj.configSid"/>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="quedingVehicle(this)"> </el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import configuration from '@/views/chexingchaxun/modelinquire/vehiclelibraryconfiguration.vue'
import modellibrary from '@/views/chexingchaxun/modelinquire/modellibrary.vue' import modellibrary from '@/views/chexingchaxun/modelinquire/modellibrary.vue'
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication' import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication'
import vehicle from '@/views/baseoutsourcingapplication/baseoutsourcingapplicationvehicle.vue'
export default { export default {
name: 'BaseOutsourcingApplicationAdd', name: 'BaseOutsourcingApplicationAdd',
components:{ components:{
configuration,modellibrary modellibrary,vehicle
}, },
data() { data() {
return { return {
viewState:'1', selectedSids:'',
vehicleDialogVisible: false,
dialogVisible: false,
viewState: '1',
submitdisabled: false, submitdisabled: false,
viewTitle: '', viewTitle: '',
formobj: { formobj: {
sid: '', sid: '',
staffSid: window.sessionStorage.getItem('staffSid'),
applicationCode: '', // applicationCode: '', //
createByName: '', // createByName: window.sessionStorage.getItem('name'), //
applicationDate: '', // applicationDate: '', //
externalMiningTypeKey: '1', // key externalMiningTypeKey: '1', // key
externalMiningTypeValue: '', // value externalMiningTypeValue: '', // value
purchasingUnitSid: '', // sid
purchasingUnitName: '', // purchasingUnitName: '', //
modelSid: '', // sid modelSid: '', // sid
modelName: '', // modelName: '', //
configName: '', // configName: '', //
configSid: '', // sid
purchasePrice: '', // purchasePrice: '', //
guidedPrice: '', // guidedPrice: '', //
manufactorSettlementPrice: '', // manufactorSettlementPrice: '', //
num: '', // num: '0', //
deposit: '', // deposit: '', //
expenseName: '', // expenseName: '', //
totalExpenseAmount: '', // totalExpenseAmount: '', //
orgSid: '', // sid orgSid: '', // sid
baseOutsourcingApplicationVehicleDtos:[] baseOutsourcingApplicationVehicleDtos:[]
}, },
rules: { rules: {
applicationCode: [{ required: true, message: '申请编号不能为空', trigger: 'blur' }], //
createByName: [{ required: true, message: '申请人姓名不能为空', trigger: 'blur' }], // createByName: [{ required: true, message: '申请人姓名不能为空', trigger: 'blur' }], //
applicationDate: [{ required: true, message: '申请日期不能为空', trigger: 'blur' }], //
externalMiningTypeKey: [{ required: true, message: '外采类型key不能为空', trigger: 'blur' }], // key externalMiningTypeKey: [{ required: true, message: '外采类型key不能为空', trigger: 'blur' }], // key
externalMiningTypeValue: [{ required: true, message: '外采类型value不能为空', trigger: 'blur' }], // value externalMiningTypeValue: [{ required: true, message: '外采类型value不能为空', trigger: 'blur' }], // value
purchasingUnitSid: [{ required: true, message: '采购单位sid不能为空', trigger: 'blur' }], // sid
purchasingUnitName: [{ required: true, message: '采购单位名称不能为空', trigger: 'blur' }], // purchasingUnitName: [{ required: true, message: '采购单位名称不能为空', trigger: 'blur' }], //
modelSid: [{ required: true, message: '车型sid不能为空', trigger: 'blur' }], // sid modelSid: [{ required: true, message: '车型不能为空', trigger: 'blur' }], // sid
modelName: [{ required: true, message: '车型名称不能为空', trigger: 'blur' }], // configSid: [{ required: true, message: '常用配置不能为空', trigger: 'blur' }], //
configName: [{ required: true, message: '常用配置名称不能为空', trigger: 'blur' }], //
purchasePrice: [{ required: true, message: '采购价格不能为空', trigger: 'blur' }], // purchasePrice: [{ required: true, message: '采购价格不能为空', trigger: 'blur' }], //
guidedPrice: [{ required: true, message: '销售指导价不能为空', trigger: 'blur' }], // guidedPrice: [{ required: true, message: '销售指导价不能为空', trigger: 'blur' }], //
manufactorSettlementPrice: [{ required: true, message: '厂家合同价不能为空', trigger: 'blur' }], // manufactorSettlementPrice: [{ required: true, message: '厂家合同价不能为空', trigger: 'blur' }], //
@ -207,16 +235,65 @@ export default {
} }
} }
}, },
created() {}, created() {
},
methods: { methods: {
quedingVehicle(){
var obj = this.$refs['vehicle'].getSids();
var length = obj.length;
if(length < 1){
alert('必须选择一条数据!');
return ;
}
this.formobj.num=length;
this.formobj.baseOutsourcingApplicationVehicleDtos = obj;
this.vehicleDialogVisible = false
},
queding(dialog) {
var obj = this.$refs['modellibrary'].getConfigDataList();
var length = obj.configs.length;
if (length > 1) {
alert('只能选择一条数据!');
return ;
} else if(length < 1){
alert('必须选择一条数据!');
return ;
}
this.formobj.modelName = obj.model.vehicleAlias
this.formobj.modelSid = obj.model.sid
this.formobj.configName = obj.configs[0].configName
this.formobj.configSid = obj.configs[0].sid
this.formobj.guidedPrice = obj.configs[0].guidedPrice //
this.formobj.manufactorSettlementPrice = obj.configs[0].manufactorSettlementPrice //
this.formobj.baseOutsourcingApplicationVehicleDtos = [];
this.formobj.num=0;
this.dialogVisible = false
},
resetState() { resetState() {
this.viewState = 1 this.viewState = 1
this.handReset() this.handReset()
}, },
selectModel(){ selectModel(){
/* this.$router.push({ path: '/chexingchaxun/modelinquire/modellibrary' });*/ /* this.$router.push({ path: '/chexingchaxun/modelinquire/modellibrary' });*/
this.viewState = 3 /* this.viewState = 3
this.$refs['modellibrary'].showData('123456'); this.$refs['modellibrary'].showData('123456');*/
this.dialogVisible = true;
},
selectVehicleDialog(){
var objs = this.formobj.baseOutsourcingApplicationVehicleDtos
var s = "";
for(var i=0; i<objs.length; i++){
if(i==objs.length-1){
s =s+ objs[i].sid;
}else{
s =s+ objs[i].sid+",";
}
}
this.selectedSids = s;
this.vehicleDialogVisible = true;
this.$refs['vehicle'].loadList();
}, },
handleReturn(isreload) { handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist') if (isreload === 'true') this.$emit('reloadlist')
@ -227,7 +304,6 @@ export default {
this.applicationDate = '' // this.applicationDate = '' //
this.externalMiningTypeKey = '' // key this.externalMiningTypeKey = '' // key
this.externalMiningTypeValue = '' // value this.externalMiningTypeValue = '' // value
this.purchasingUnitSid = '' // sid
this.purchasingUnitName = '' // this.purchasingUnitName = '' //
this.modelSid = '' // sid this.modelSid = '' // sid
this.modelName = '' // this.modelName = '' //
@ -238,8 +314,8 @@ export default {
this.num = '' // this.num = '' //
this.deposit = '' // this.deposit = '' //
this.expenseName = '' // this.expenseName = '' //
this.totalExpenseAmount = '' // this.totalExpenseAmount = '' // this.$store.getters.userInfo.orgSid,
this.orgSid = '' // sid this.orgSid = ''
this.$refs['form_obj'].resetFields() this.$refs['form_obj'].resetFields()
this.$emit('doback') this.$emit('doback')
@ -256,20 +332,17 @@ export default {
}) })
this.viewTitle = '【修改】外采申请表' this.viewTitle = '【修改】外采申请表'
const _this = this const _this = this
_this.formobj.sid = row.sid // SID
req req
.fetchBySid(row.sid) .fetchBySid(row.sid)
.then(resp => { .then(resp => {
if (resp.sucess) { if (resp.success) {
const vdata = resp.data const vdata = resp.data
_this.formobj.id = vdata.id
_this.formobj.sid = vdata.sid // SID
_this.formobj.applicationCode = vdata.applicationCode // _this.formobj.applicationCode = vdata.applicationCode //
_this.formobj.createByName = vdata.createByName // _this.formobj.createByName = vdata.createByName //
_this.formobj.applicationDate = vdata.applicationDate // _this.formobj.applicationDate = vdata.applicationDate //
_this.formobj.externalMiningTypeKey = vdata.externalMiningTypeKey // key _this.formobj.externalMiningTypeKey = vdata.externalMiningTypeKey // key
_this.formobj.externalMiningTypeValue = vdata.externalMiningTypeValue // value _this.formobj.externalMiningTypeValue = vdata.externalMiningTypeValue // value
_this.formobj.purchasingUnitSid = vdata.purchasingUnitSid // sid
_this.formobj.purchasingUnitName = vdata.purchasingUnitName // _this.formobj.purchasingUnitName = vdata.purchasingUnitName //
_this.formobj.modelSid = vdata.modelSid // sid _this.formobj.modelSid = vdata.modelSid // sid
_this.formobj.modelName = vdata.modelName // _this.formobj.modelName = vdata.modelName //
@ -281,7 +354,8 @@ export default {
_this.formobj.deposit = vdata.deposit // _this.formobj.deposit = vdata.deposit //
_this.formobj.expenseName = vdata.expenseName // _this.formobj.expenseName = vdata.expenseName //
_this.formobj.totalExpenseAmount = vdata.totalExpenseAmount // _this.formobj.totalExpenseAmount = vdata.totalExpenseAmount //
_this.formobj.orgSid = vdata.orgSid // sid _this.formobj.orgSid = vdata.orgSid // sid
_this.formobj.baseOutsourcingApplicationVehicleDtos = vdata.baseOutsourcingApplicationVehicleVos // sid
} else { } else {
// resp.code // resp.code
} }
@ -290,9 +364,38 @@ export default {
this.formobj = row this.formobj = row
}) })
}, },
handleClose(){
this.vehicleDialogVisible = false
this.dialogVisible=false
},
indexMethod(index){
/* var pagestart=(this.queryParams.current-1) * this.queryParams.size;
var pageindex=index+1+pagestart;
return pageindex;*/
},
doSubmit(row) {
//
this.submitdisabled = true
this.formobj.userSid = window.sessionStorage.getItem('userSid');
this.formobj.orgSid = this.$store.getters.orgSid;
req
.doSubmit(this.formobj)
.then(resp => {
this.submitdisabled = false
if (resp.success) {
//
} else {
// resp.code
}
})
.catch(() => {
this.submitdisabled = false
})
},
saveOrUpdate() { saveOrUpdate() {
const _this = this const _this = this
this.formobj.userSid = window.sessionStorage.getItem('userSid'); this.formobj.userSid = window.sessionStorage.getItem('userSid');
this.formobj.orgSid = this.$store.getters.orgSid;
this.$refs['form_obj'].validate(valid => { this.$refs['form_obj'].validate(valid => {
if (valid) { if (valid) {
this.submitdisabled = true this.submitdisabled = true
@ -314,9 +417,42 @@ export default {
return false return false
} }
}) })
} },
deleteVehicle(row){
var arr=this.formobj.baseOutsourcingApplicationVehicleDtos;
const tip = '请确认是否删除车架号为'+row.vinNo+'记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(()=>{
for(var i=0;i<arr.length;i++){
if(row.vinNo==arr[i].vinNo){
arr.splice(i,1);
}
}
this.formobj.num=this.formobj.num-1;
}).catch(() => {})
}
} }
} }
</script> </script>
<style scoped></style> <style scoped>
/*.tleftb{
text-align: right;
font-size: 14px;
color: #606266;
line-height: 20px !important;
font-weight: 600;
}
.formadd .el-row .el-col {
border-right: 1px solid #e0e3eb;
border-bottom: 1px solid #e0e3eb;
padding: 0px 15px 0px 15px !important;
!* min-height: 50px; *!
line-height: 1;
}*/
</style>

140
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationInfo.vue

@ -10,81 +10,68 @@
</div> </div>
<!-- 标题按钮部分结束 --> <!-- 标题按钮部分结束 -->
<div class="listconadd"> <div class="listconadd">
<el-form ref="form_obj" :model="formobj" label-position="right" class="formadd"> <el-form ref="form_obj" :model="formobj" label-position="right" class="formadd"> <div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div>
<div class="wlInfo"><span>外采申请表</span></div>
<el-row> <el-row>
<el-col :span="4" class="tleftb">申请编号</el-col> <el-col :span="3" class="tleftb">申请编号</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.applicationCode }}</span></el-form-item></el-col> <el-col :span="5" class="trightb"><el-form-item prop="applicationCode">
<span>{{ formobj.applicationCode }}</span></el-form-item></el-col>
<el-col :span="3" class="tleftb">申请人姓名</el-col>
<el-col :span="5" class="trightb"><el-form-item prop="createByName"><span>{{ formobj.createByName }}</span></el-form-item></el-col>
<el-col :span="3" class="tleftb">申请日期</el-col>
<el-col :span="5" class="trightb"><el-form-item prop="applicationDate"><span>{{ formobj.applicationDate }}</span></el-form-item></el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="4" class="tleftb">申请人姓名</el-col> <el-col :span="3" class="tleftb">外采类型</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.createByName }}</span></el-form-item></el-col> <el-col :span="21" class="trightb">
</el-row> <el-form-item prop="externalMiningTypeValue">
<el-row> <span v-show="formobj.externalMiningTypeKey==2">政策外采</span>
<el-col :span="4" class="tleftb">申请日期</el-col> <span v-show="formobj.externalMiningTypeKey==1">直接外采</span>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.applicationDate }}</span></el-form-item></el-col> </el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">外采类型key</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.externalMiningTypeKey }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">外采类型value</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.externalMiningTypeValue }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">采购单位sid</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.purchasingUnitSid }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">采购单位名称</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.purchasingUnitName }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">车型sid</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.modelSid }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">车型名称</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.modelName }}</span></el-form-item></el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="4" class="tleftb">常用配置名称</el-col> <el-col :span="3" class="tleftb">采购单位名称</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.configName }}</span></el-form-item></el-col> <el-col :span="21" class="trightb"><el-form-item prop="purchasingUnitName"><span>{{ formobj.purchasingUnitName }}</span></el-form-item></el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="4" class="tleftb">采购价格</el-col> <el-col :span="3" class="tleftb">车型名称</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.purchasePrice }}</span></el-form-item></el-col> <el-col :span="21" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.modelName }}</span></el-form-item></el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3" class="tleftb">常用配置名称</el-col>
<el-col :span="21" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.configName }}</span></el-form-item></el-col>
</el-row>
<el-row><el-col :span="3" class="tleftb">采购价格</el-col>
<el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.purchasePrice }}</span></el-form-item></el-col>
<el-col :span="4" class="tleftb">销售指导价</el-col> <el-col :span="4" class="tleftb">销售指导价</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.guidedPrice }}</span></el-form-item></el-col> <el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.guidedPrice }}</span></el-form-item></el-col>
</el-row> </el-row>
<el-row> <el-row> <el-col :span="3" class="tleftb">厂家合同价</el-col>
<el-col :span="4" class="tleftb">厂家合同价</el-col> <el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.manufactorSettlementPrice }}</span></el-form-item></el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.manufactorSettlementPrice }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">台数</el-col> <el-col :span="4" class="tleftb">台数</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.num }}</span></el-form-item></el-col> <el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.num }}</span></el-form-item></el-col>
</el-row> </el-row>
<el-row> <el-row> <el-col :span="3" class="tleftb">订金</el-col>
<el-col :span="4" class="tleftb">订金</el-col> <el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.deposit }}</span></el-form-item></el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.deposit }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">费用名称</el-col> <el-col :span="4" class="tleftb">费用名称</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.expenseName }}</span></el-form-item></el-col> <el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.expenseName }}</span></el-form-item></el-col>
</el-row> </el-row>
<el-row> <el-row> <el-col :span="3" class="tleftb">费用金额合计</el-col>
<el-col :span="4" class="tleftb">费用金额合计</el-col> <el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.totalExpenseAmount }}</span></el-form-item></el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.totalExpenseAmount }}</span></el-form-item></el-col> </el-row>
</el-row> <div class="listcon" v-show="formobj.externalMiningTypeKey==2">
<el-row> <div style="border:1px solid #c0c0c0;padding:5px 5px 5px 5px;">
<el-col :span="4" class="tleftb">部门sid</el-col> 车辆列表
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.orgSid }}</span></el-form-item></el-col> </div>
</el-row> <el-table :data="formobj.baseOutsourcingApplicationVehicleDtos" border style="width: 100%" >
<el-table-column width="60px" label="序号" type="index" align="center" />
<el-table-column prop="vinNo" label="车架号" align="center" />
</el-table>
</div>
</el-form> </el-form>
</div> </div>
</div> </div>
</template> </template>
@ -95,22 +82,44 @@ export default {
name: 'BaseOutsourcingApplicationInfo', name: 'BaseOutsourcingApplicationInfo',
data() { data() {
return { return {
formobj: {} formobj: {
sid: '',
applicationCode: '123456', //
createByName: window.sessionStorage.getItem('name'), //
applicationDate: '', //
externalMiningTypeKey: '1', // key
externalMiningTypeValue: '', // value
purchasingUnitName: '', //
modelSid: '', // sid
modelName: '', //
configName: '', //
configSid: '', // sid
purchasePrice: '', //
guidedPrice: '', //
manufactorSettlementPrice: '', //
num: '0', //
deposit: '', //
expenseName: '', //
totalExpenseAmount: '', //
orgSid: '', // sid
baseOutsourcingApplicationVehicleDtos:[]
}
} }
}, },
methods: { methods: {
handleReturn() { handleReturn() {
this.formobj = {}
this.$emit('doback') this.$emit('doback')
}, },
showInfo(row) { showInfo(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
const _this = this
req req
.fetchBySid(row.sid) .fetchBySid(row.sid)
.then(resp => { .then(resp => {
if (resp.success) { if (resp.success) {
const vdata = resp.data const vdata = resp.data
_this.formobj.id = vdata.id
_this.formobj.sid = vdata.sid // SID
_this.formobj.applicationCode = vdata.applicationCode // _this.formobj.applicationCode = vdata.applicationCode //
_this.formobj.createByName = vdata.createByName // _this.formobj.createByName = vdata.createByName //
_this.formobj.applicationDate = vdata.applicationDate // _this.formobj.applicationDate = vdata.applicationDate //
@ -122,13 +131,14 @@ export default {
_this.formobj.modelName = vdata.modelName // _this.formobj.modelName = vdata.modelName //
_this.formobj.configName = vdata.configName // _this.formobj.configName = vdata.configName //
_this.formobj.purchasePrice = vdata.purchasePrice // _this.formobj.purchasePrice = vdata.purchasePrice //
_this.formobj.guidedPrice = vdata.guidedPrice // _this.formobj.guidedPrice = vdata.guidedPrice //
_this.formobj.manufactorSettlementPrice = vdata.manufactorSettlementPrice // _this.formobj.manufactorSettlementPrice = vdata.manufactorSettlementPrice //
_this.formobj.num = vdata.num // _this.formobj.num = vdata.num //
_this.formobj.deposit = vdata.deposit // _this.formobj.deposit = vdata.deposit //
_this.formobj.expenseName = vdata.expenseName // _this.formobj.expenseName = vdata.expenseName //
_this.formobj.totalExpenseAmount = vdata.totalExpenseAmount // _this.formobj.totalExpenseAmount = vdata.totalExpenseAmount //
_this.formobj.orgSid = vdata.orgSid // sid _this.formobj.orgSid = vdata.orgSid // sid
_this.formobj.baseOutsourcingApplicationVehicleDtos = vdata.baseOutsourcingApplicationVehicleVos
} }
}) })
.catch(e => { .catch(e => {

241
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationvehicle.vue

@ -1,12 +1,10 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div v-show="viewState == 1"> <div v-show="viewState == 1">
<button-bar view-title="外采申请车辆列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="searchcon"> <div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button> <el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button>
<div v-show="isSearchShow" class="search"> <div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header"> <el-form :inline="true" class="tab-header">
<el-form-item label="外采申请单sid"><el-input v-model="queryParams.params.outAppSid" placeholder="请输入外采申请单sid" clearable /></el-form-item>
<el-form-item label="车架号"><el-input v-model="queryParams.params.VIN" placeholder="请输入车架号" clearable /></el-form-item> <el-form-item label="车架号"><el-input v-model="queryParams.params.VIN" placeholder="请输入车架号" clearable /></el-form-item>
<el-divider /> <el-divider />
<div class="btn" style="text-align: center;"> <div class="btn" style="text-align: center;">
@ -16,26 +14,43 @@
</el-form> </el-form>
</div> </div>
</div> </div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">外采申请车辆列表列表</div>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 --> <!-- Start 项目列表 -->
<div class="listcon"> <div class="listcon">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange"> <el-table ref="multipleTable" :key="tableKey" v-loading="listLoading" :data="dataList" border style="width: 100%"
<el-table-column width="50px" type="selection" align="center" /> @selection-change="handleSelectionChange">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" /> <el-table-column width="50px" type="selection" align="center"/>
<el-table-column label="SID" align="center"> <el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<template slot-scope="scope"> <el-table-column label="品牌" align="center">
<span class="bluezi" @click="toInfo(scope.row)">{{ scope.row.sid }}</span> <template slot-scope="scope">
</template> <span>{{ scope.row.brandName }}</span>
</el-table-column> </template>
<el-table-column prop="outAppSid" label="外采申请单sid" align="center" /> </el-table-column>
<el-table-column prop="VIN" label="车架号" align="center" /> <el-table-column label="车型" align="center">
</el-table> <template slot-scope="scope">
<span>{{ scope.row.vehicleAlias }}</span>
</template>
</el-table-column>
<el-table-column label="车架号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vinNo }}</span>
</template>
</el-table-column>
<el-table-column label="颜色" align="center">
<template slot-scope="scope">
<span>{{ scope.row.color }}</span>
</template>
</el-table-column>
<el-table-column label="存放地点" align="center">
<template slot-scope="scope">
<span>{{ scope.row.location }}</span>
</template>
</el-table-column>
<el-table-column label="销售指导价(万元)" align="center">
<template slot-scope="scope">
<span>{{ scope.row.guidedPrice }}</span>
</template>
</el-table-column>
</el-table>
</div> </div>
<!-- End 项目列表 --> <!-- End 项目列表 -->
<div class="pages"> <div class="pages">
@ -51,13 +66,6 @@
/> />
</div> </div>
</div> </div>
<!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 -->
<div-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" />
<!-- 详情部分组件 -->
<div-info v-show="viewState == 4" ref="divinfo" @doback="resetState" />
</div> </div>
</template> </template>
@ -66,31 +74,47 @@ import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplicationvehi
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import divAdd from './baseoutsourcingapplicationvehicleAdd'
import divInfo from './baseoutsourcingapplicationvehicleInfo'
export default { export default {
name: 'BaseOutsourcingApplicationVehicleIndex', name: 'BaseOutsourcingApplicationVehicleIndex',
components: { components: {
ButtonBar, ButtonBar,
Pagination, Pagination,
pageye, pageye
divAdd,
divInfo
}, },
props:{
selectedSids:{
type:String,
required:true
},
modelSid:{
type:String,
required:true
},
configSid:{
type:String,
required:true
}
},
data() { data() {
return { return {
btndisabled: false, btndisabled: false,
viewState: 1, // 1 2 3 4 viewState: 1, // 1 2 3 4
isSearchShow: true, isSearchShow: false,
tableLoading: false, tableLoading: false,
dataList: [], dataList: [],
list: [],
tableKey:0,
listLoading: false,
sids: [],
queryParams: { queryParams: {
current: 1, current: 1,
size: 10, size: 10,
total: 0, total: 0,
params: { params: {
sids: [], // SID modelSid:"",
configSid:"",
vehicleSid: "", // SID
outAppSid: '', // sid outAppSid: '', // sid
VIN: '' // VIN: '' //
} }
@ -102,159 +126,28 @@ export default {
this.loadList() this.loadList()
}, },
methods: { methods: {
getSids(){
return this.multipleSelection;
},
resetState() { resetState() {
this.viewState = 1 this.viewState = 1
}, },
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doSubmit':
this.doSubmit()
break
case 'doDel':
this.doDel()
break
case 'doImport':
this.doImport()
break
case 'doExport':
this.doExport()
break
default:
break
}
},
toAdd(row) {
this.viewState = 2
this.$refs['divadd'].showAdd()
},
toEdit() {
if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑' })
return
}
if (this.multipleSelection.length > 1) {
this.$message({ showClose: true, type: 'error', message: '只能选择一条记录进行编辑' })
return
}
this.viewState = 3
const row = this.multipleSelection[0]
this.$refs['divadd'].showEdit(row)
},
doSubmit(row) {
//
this.btndisabled = true
req
.doSubmit(this.queryParams.params)
.then(resp => {
console.log(resp)
this.btndisabled = false
if (resp.success) {
//
} else {
// resp.code
}
})
.catch(() => {
this.btndisabled = false
})
},
doDel(row) {
if (this.multipleSelection.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const _this = this
const sids = []
this.multipleSelection.forEach(row => {
sids.push(row.sid)
})
const tip = '请确认是否删除所选 ' + this.multipleSelection.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req
.delBySids(sids)
.then(resp => {
loading.close()
if (resp.success) {
_this.$message({ type: 'success', message: resp.msg, showClose: true })
_this.loadList()
} else {
// resp.code
}
})
.catch(e => {
loading.close()
})
})
.catch(() => {})
},
doImport(row) {
//
req
.importExcel(this.queryParams.params)
.then(resp => {
if (resp.success) {
console.log(resp)
}
})
.catch(() => {})
},
doExport(row) {
//
const sids = []
this.multipleSelection.forEach(row => {
sids.push(row.sid)
})
this.queryParams.params.sids = sids
req
.exportExcel(this.queryParams.params)
.then(resp => {
if (resp.success) {
var map = resp.data
const fileName = map.filename //
// // <a> Firefox Chrome download
// // IE10blobdownload
const link = document.createElement('a') // a
link.download = fileName // a
link.style.display = 'none'
link.href = map.downurl
document.body.appendChild(link)
link.click() //
URL.revokeObjectURL(link.href) // url
document.body.removeChild(link) //
}
})
.catch(() => {})
},
dosearch() { dosearch() {
this.queryParams.current = 1 this.queryParams.current = 1
this.loadList() this.loadList()
}, },
resetQuery() { resetQuery() {
this.queryParams.params = {} this.queryParams.params.vehicleSid = ''
this.queryParams.params.sid = '' // sid this.queryParams.params.modelSid = ''
this.queryParams.params.name = '' // this.queryParams.params.configSid = ''
this.dosearch() this.dosearch()
}, },
loadList() { loadList() {
const _this = this const _this = this
this.tableLoading = true this.tableLoading = true
this.queryParams.params.vehicleSid = this.selectedSids
this.queryParams.params.modelSid = this.modelSid
this.queryParams.params.configSid = this.configSid
req req
.listPage(this.queryParams) .listPage(this.queryParams)
.then(resp => { .then(resp => {

207
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue

@ -0,0 +1,207 @@
<template>
<div>
<!-- 标题按钮部分开始 -->
<div class="tab-header webtop">
<!-- 标题 -->
<div>外采申请表详情</div>
<!-- start 详情按钮 -->
<div>
<el-button type="primary" @click="openAgree"> </el-button>
<el-button type="danger" @click="openReject"> </el-button>
<el-button type="danger" @click="openStop"> </el-button>
</div>
<!-- end 详情按钮 -->
</div>
<!-- 标题按钮部分结束 -->
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" label-position="right" class="formadd"> <div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div>
<el-row>
<el-col :span="3" class="tleftb">申请编号</el-col>
<el-col :span="5" class="trightb"><el-form-item prop="applicationCode">
<span>{{ formobj.applicationCode }}</span></el-form-item></el-col>
<el-col :span="3" class="tleftb">申请人姓名</el-col>
<el-col :span="5" class="trightb"><el-form-item prop="createByName"><span>{{ formobj.createByName }}</span></el-form-item></el-col>
<el-col :span="3" class="tleftb">申请日期</el-col>
<el-col :span="5" class="trightb"><el-form-item prop="applicationDate"><span>{{ formobj.applicationDate }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">外采类型</el-col>
<el-col :span="21" class="trightb">
<el-form-item prop="externalMiningTypeValue">
<span v-show="formobj.externalMiningTypeKey==2">政策外采</span>
<span v-show="formobj.externalMiningTypeKey==1">直接外采</span>
</el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">采购单位名称</el-col>
<el-col :span="21" class="trightb"><el-form-item prop="purchasingUnitName"><span>{{ formobj.purchasingUnitName }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">车型名称</el-col>
<el-col :span="21" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.modelName }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">常用配置名称</el-col>
<el-col :span="21" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.configName }}</span></el-form-item></el-col>
</el-row>
<el-row><el-col :span="3" class="tleftb">采购价格</el-col>
<el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.purchasePrice }}</span></el-form-item></el-col>
<el-col :span="4" class="tleftb">销售指导价</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.guidedPrice }}</span></el-form-item></el-col>
</el-row>
<el-row> <el-col :span="3" class="tleftb">厂家合同价</el-col>
<el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.manufactorSettlementPrice }}</span></el-form-item></el-col>
<el-col :span="4" class="tleftb">台数</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.num }}</span></el-form-item></el-col>
</el-row>
<el-row> <el-col :span="3" class="tleftb">订金</el-col>
<el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.deposit }}</span></el-form-item></el-col>
<el-col :span="4" class="tleftb">费用名称</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.expenseName }}</span></el-form-item></el-col>
</el-row>
<el-row> <el-col :span="3" class="tleftb">费用金额合计</el-col>
<el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.totalExpenseAmount }}</span></el-form-item></el-col>
</el-row>
<div class="listcon" v-show="formobj.externalMiningTypeKey==2">
<div style="border:1px solid #c0c0c0;padding:5px 5px 5px 5px;">
车辆列表
</div>
<el-table :data="formobj.baseOutsourcingApplicationVehicleDtos" border style="width: 100%" >
<el-table-column width="60px" label="序号" type="index" align="center" />
<el-table-column prop="vinNo" label="车架号" align="center" />
</el-table>
</div>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication'
export default {
name: 'BaseOutsourcingApplicationInfo',
data() {
return {
formobj: {
sid: '',
applicationCode: '123456', //
createByName: window.sessionStorage.getItem('name'), //
applicationDate: '', //
externalMiningTypeKey: '1', // key
externalMiningTypeValue: '', // value
purchasingUnitName: '', //
modelSid: '', // sid
modelName: '', //
configName: '', //
configSid: '', // sid
purchasePrice: '', //
guidedPrice: '', //
manufactorSettlementPrice: '', //
num: '0', //
deposit: '', //
expenseName: '', //
totalExpenseAmount: '', //
orgSid: '', // sid
baseOutsourcingApplicationVehicleDtos:[]
}
}
},
methods: {
//
openStop() {
this.$confirm('是否确认执行终止操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
this.handleStop()
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消终止'
})
})
},
//
openReject() {
this.$confirm('是否确认执行驳回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
this.handleReject()
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消驳回'
})
})
},
//
openAgree() {
this.$confirm('是否确认执行同意操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
this.handleAgree()
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消同意'
})
})
},
handleReturn() {
this.$emit('doback')
},
showInfo(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
const _this = this
req
.fetchBySid(row.sid)
.then(resp => {
if (resp.success) {
const vdata = resp.data
_this.formobj.applicationCode = vdata.applicationCode //
_this.formobj.createByName = vdata.createByName //
_this.formobj.applicationDate = vdata.applicationDate //
_this.formobj.externalMiningTypeKey = vdata.externalMiningTypeKey // key
_this.formobj.externalMiningTypeValue = vdata.externalMiningTypeValue // value
_this.formobj.purchasingUnitSid = vdata.purchasingUnitSid // sid
_this.formobj.purchasingUnitName = vdata.purchasingUnitName //
_this.formobj.modelSid = vdata.modelSid // sid
_this.formobj.modelName = vdata.modelName //
_this.formobj.configName = vdata.configName //
_this.formobj.purchasePrice = vdata.purchasePrice //
_this.formobj.guidedPrice = vdata.guidedPrice //
_this.formobj.manufactorSettlementPrice = vdata.manufactorSettlementPrice //
_this.formobj.num = vdata.num //
_this.formobj.deposit = vdata.deposit //
_this.formobj.expenseName = vdata.expenseName //
_this.formobj.totalExpenseAmount = vdata.totalExpenseAmount //
_this.formobj.orgSid = vdata.orgSid // sid
_this.formobj.baseOutsourcingApplicationVehicleDtos = vdata.baseOutsourcingApplicationVehicleVos
}
})
.catch(e => {
_this.formobj = row
})
}
}
}
</script>
<style scoped></style>

453
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationAdd.vue

@ -0,0 +1,453 @@
<template>
<div>
<div v-show="viewState == 1">
<!-- 标题按钮部分开始 -->
<div class="tab-header webtop">
<!-- 标题 -->
<div>{{ viewTitle }}</div>
<!-- start 添加修改按钮 -->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="handleSubmit">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
<!-- end 添加修改按钮 -->
<!-- end 详情按钮 -->
</div>
<!-- 标题按钮部分结束 -->
<!-- Start 新增修改部分 -->
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="right" class="formadd">
<div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div>
<br><br>
<el-row style="border-left: none;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>申请编号</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item prop="applicationCode">{{formobj.applicationCode}}</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>申请人</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item prop="createByName">{{formobj.createByName}}</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>申请日期</span>
</el-col>
<el-col :span="5" class="trightb">
<el-form-item prop="applicationDate">{{formobj.applicationDate}}</el-form-item>
</el-col>
</el-row>
<el-row style="border-left: none;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>外采类型</span>
</el-col>
<el-col :span="21" class="trightb" >
<el-radio v-model="formobj.externalMiningTypeKey" label="1">直接外采</el-radio>
<el-radio v-model="formobj.externalMiningTypeKey" label="2">政策外采</el-radio>
</el-col>
</el-row>
<el-row style="border-left: none; ">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>采购单位</span>
</el-col>
<el-col :span="21" class="trightb">
<el-form-item prop="purchasingUnitName"><el-input size="small" v-model="formobj.purchasingUnitName" placeholder="采购单位" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row style="border-left: none;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>车型</span>
</el-col>
<el-col :span="19" class="trightb">
<el-form-item prop="modelName">{{formobj.modelName}}</el-form-item>
</el-col>
<el-col :span="2" class="trightb">
<!--<button type="primary" size="small" @click="saveOrUpdate">选择</button>-->
<el-button type="primary" size="small" @click="selectModel">选择</el-button>
</el-col>
</el-row>
<el-row style="border-left: none;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>常用配置名称</span>
</el-col>
<el-col :span="21" class="trightb">
<el-form-item prop="configName">{{formobj.configName}}</el-form-item>
</el-col>
</el-row>
<el-row style="border-left: none;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>采购价格</span>
</el-col>
<el-col :span="9" class="trightb">
<el-form-item prop="purchasePrice"><el-input size="small" v-model="formobj.purchasePrice" placeholder="采购价格" class="addinputw" clearable /></el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>销售指导价</span>
</el-col>
<el-col :span="9" class="trightb">
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="guidedPrice"><el-input size="small" v-model="formobj.guidedPrice" placeholder="销售指导价" class="addinputw" clearable /></el-form-item>
<el-form-item v-show="formobj.externalMiningTypeKey==2" prop="guidedPrice">{{formobj.guidedPrice}}</el-form-item>
</el-col>
</el-row>
<el-row style="border-left: none;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>厂家合同价</span>
</el-col>
<el-col :span="9" class="trightb">
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="manufactorSettlementPrice"><el-input size="small" v-model="formobj.manufactorSettlementPrice" placeholder="厂家合同价" class="addinputw" clearable /></el-form-item>
<el-form-item v-show="formobj.externalMiningTypeKey==2" prop="manufactorSettlementPrice">{{formobj.manufactorSettlementPrice}}</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>台数</span>
</el-col>
<el-col :span="9" class="trightb">
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="num"><el-input size="small" v-model="formobj.num" placeholder="台数" class="addinputw" clearable /></el-form-item>
<el-form-item v-show="formobj.externalMiningTypeKey==2" prop="num">{{formobj.num}}</el-form-item>
</el-col>
</el-row>
<el-row style="border-left: none;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>订金</span>
</el-col>
<el-col :span="21" class="trightb">
<el-form-item prop="deposit"><el-input size="small" style="height:10px;" v-model="formobj.deposit" placeholder="订金" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row style="border-left: none;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>费用名称</span>
</el-col>
<el-col :span="9" class="trightb">
<el-form-item prop="expenseName"><el-input size="small" v-model="formobj.expenseName" placeholder="费用名称" class="addinputw" clearable /></el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>费用金额合计</span>
</el-col>
<el-col :span="9" class="trightb">
<el-form-item prop="totalExpenseAmount"><el-input size="small" v-model="formobj.totalExpenseAmount" placeholder="费用金额合计" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<div class="listcon" v-show="formobj.externalMiningTypeKey==2">
<div style="border:1px solid #c0c0c0;padding:5px 5px 5px 5px;">
车辆列表 <el-button type="primary" size="small" @click="selectVehicleDialog">选择车辆</el-button>
</div>
<el-table :data="formobj.baseOutsourcingApplicationVehicleDtos" border style="width: 100%" >
<el-table-column width="60px" label="序号" type="index" align="center" />
<el-table-column label="操作" align="center" >
<template slot-scope="scope">
<el-button type="danger" size="small" @click="deleteVehicle(scope.row)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="vinNo" label="车架号" align="center" />
</el-table>
</div>
</el-form>
</div>
</div><!-- End 添加修改部分 -->
<!-- 车型配置分页列表 -->
<el-dialog
title="车型库"
:visible.sync="dialogVisible"
width="90%"
show-close="false"
:before-close="handleClose">
<modellibrary ref="modellibrary" @doback="resetState"/>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="queding(this)"> </el-button>
</span>
</el-dialog>
<!-- 车型配置分页列表 -->
<el-dialog
title="车辆列表"
:visible.sync="vehicleDialogVisible"
width="90%"
show-close="false"
:before-close="handleClose">
<vehicle ref="vehicle" @doback="resetState" :selectedSids="selectedSids" :modelName="formobj.modelName"/>
<span slot="footer" class="dialog-footer">
<el-button type="primary" @click="quedingVehicle(this)"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import modellibrary from '@/views/chexingchaxun/modelinquire/modellibrary.vue'
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication'
import vehicle from '@/views/baseoutsourcingapplication/baseoutsourcingapplicationvehicle.vue'
export default {
name: 'BaseOutsourcingApplicationAdd',
components:{
modellibrary,vehicle
},
data() {
return {
selectedSids:'',
vehicleDialogVisible: false,
dialogVisible: false,
viewState: '1',
submitdisabled: false,
viewTitle: '',
formobj: {
sid: '',
applicationCode: '', //
createByName: window.sessionStorage.getItem('name'), //
applicationDate: '', //
externalMiningTypeKey: '1', // key
externalMiningTypeValue: '', // value
purchasingUnitName: '', //
modelSid: '', // sid
modelName: '', //
configName: '', //
configSid: '', // sid
purchasePrice: '', //
guidedPrice: '', //
manufactorSettlementPrice: '', //
num: '0', //
deposit: '', //
expenseName: '', //
totalExpenseAmount: '', //
orgSid: '', // sid
baseOutsourcingApplicationVehicleDtos:[]
},
rules: {
createByName: [{ required: true, message: '申请人姓名不能为空', trigger: 'blur' }], //
externalMiningTypeKey: [{ required: true, message: '外采类型key不能为空', trigger: 'blur' }], // key
externalMiningTypeValue: [{ required: true, message: '外采类型value不能为空', trigger: 'blur' }], // value
purchasingUnitName: [{ required: true, message: '采购单位名称不能为空', trigger: 'blur' }], //
modelSid: [{ required: true, message: '车型不能为空', trigger: 'blur' }], // sid
configSid: [{ required: true, message: '常用配置不能为空', trigger: 'blur' }], //
purchasePrice: [{ required: true, message: '采购价格不能为空', trigger: 'blur' }], //
guidedPrice: [{ required: true, message: '销售指导价不能为空', trigger: 'blur' }], //
manufactorSettlementPrice: [{ required: true, message: '厂家合同价不能为空', trigger: 'blur' }], //
num: [{ required: true, message: '台数不能为空', trigger: 'blur' }], //
deposit: [{ required: true, message: '订金不能为空', trigger: 'blur' }], //
expenseName: [{ required: true, message: '费用名称不能为空', trigger: 'blur' }], //
totalExpenseAmount: [{ required: true, message: '费用金额合计不能为空', trigger: 'blur' }], //
orgSid: [{ required: true, message: '部门sid不能为空', trigger: 'blur' }] // sid
}
}
},
created() {
},
methods: {
handleSubmit() {
const _this = this
this.$refs['form_obj'].validate(valid => {
if (valid) {
this.submitdisabled = true
req.submitVehicleReturn(this.formobj).then(resp => {
this.submitdisabled = false
if (resp.success) {
_this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
quedingVehicle(){
var obj = this.$refs['vehicle'].getSids();
var length = obj.length;
if(length < 1){
alert('必须选择一条数据!');
return ;
}
this.formobj.num=length;
this.formobj.baseOutsourcingApplicationVehicleDtos = obj;
this.vehicleDialogVisible = false
},
queding(dialog) {
var obj = this.$refs['modellibrary'].getConfigDataList();
var length = obj.configs.length;
if (length > 1) {
alert('只能选择一条数据!');
return ;
} else if(length < 1){
alert('必须选择一条数据!');
return ;
}
this.formobj.modelName = obj.model.vehicleAlias
this.formobj.modelSid = obj.model.sid
this.formobj.configName = obj.configs[0].configName
this.formobj.configSid = obj.configs[0].sid
this.formobj.guidedPrice = obj.configs[0].guidedPrice //
this.formobj.manufactorSettlementPrice = 1;// obj.configs[0].manufactorSettlementPrice //
this.formobj.baseOutsourcingApplicationVehicleDtos = [];
this.formobj.num=0;
this.dialogVisible = false
},
resetState() {
this.viewState = 1
this.handReset()
},
selectModel(){
/* this.$router.push({ path: '/chexingchaxun/modelinquire/modellibrary' });*/
/* this.viewState = 3
this.$refs['modellibrary'].showData('123456');*/
this.dialogVisible = true;
},
selectVehicleDialog(){
var objs = this.formobj.baseOutsourcingApplicationVehicleDtos
var s = "";
for(var i=0; i<objs.length; i++){
if(i==objs.length-1){
s =s+ objs[i].sid;
}else{
s =s+ objs[i].sid+",";
}
}
this.selectedSids = s;
this.vehicleDialogVisible = true;
this.$refs['vehicle'].loadList();
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj.id = ''
this.formobj.sid = '' // SID
this.applicationCode = '' //
this.createByName = '' //
this.applicationDate = '' //
this.externalMiningTypeKey = '' // key
this.externalMiningTypeValue = '' // value
this.purchasingUnitName = '' //
this.modelSid = '' // sid
this.modelName = '' //
this.configName = '' //
this.purchasePrice = '' //
this.guidedPrice = '' //
this.manufactorSettlementPrice = '' //
this.num = '' //
this.deposit = '' //
this.expenseName = '' //
this.totalExpenseAmount = '' // this.$store.getters.userInfo.orgSid,
this.orgSid = ''
this.$refs['form_obj'].resetFields()
this.$emit('doback')
},
showAdd() {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【新增】外采申请表'
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.viewTitle = '【修改】外采申请表'
const _this = this
_this.formobj.sid = row.sid // SID
req
.fetchBySid(row.sid)
.then(resp => {
if (resp.success) {
const vdata = resp.data
_this.formobj.applicationCode = vdata.applicationCode //
_this.formobj.createByName = vdata.createByName //
_this.formobj.applicationDate = vdata.applicationDate //
_this.formobj.externalMiningTypeKey = vdata.externalMiningTypeKey // key
_this.formobj.externalMiningTypeValue = vdata.externalMiningTypeValue // value
_this.formobj.purchasingUnitName = vdata.purchasingUnitName //
_this.formobj.modelSid = vdata.modelSid // sid
_this.formobj.modelName = vdata.modelName //
_this.formobj.configName = vdata.configName //
_this.formobj.purchasePrice = vdata.purchasePrice //
_this.formobj.guidedPrice = vdata.guidedPrice //
_this.formobj.manufactorSettlementPrice = vdata.manufactorSettlementPrice //
_this.formobj.num = vdata.num //
_this.formobj.deposit = vdata.deposit //
_this.formobj.expenseName = vdata.expenseName //
_this.formobj.totalExpenseAmount = vdata.totalExpenseAmount //
_this.formobj.orgSid = vdata.orgSid // sid
_this.formobj.baseOutsourcingApplicationVehicleDtos = vdata.baseOutsourcingApplicationVehicleVos // sid
} else {
// resp.code
}
})
.catch(e => {
this.formobj = row
})
},
handleClose(){
this.vehicleDialogVisible = false
this.dialogVisible=false
},
indexMethod(index){
/* var pagestart=(this.queryParams.current-1) * this.queryParams.size;
var pageindex=index+1+pagestart;
return pageindex;*/
},
saveOrUpdate() {
const _this = this
this.formobj.userSid = window.sessionStorage.getItem('userSid');
this.formobj.orgSid = this.$store.getters.orgSid;
this.$refs['form_obj'].validate(valid => {
if (valid) {
this.submitdisabled = true
req
.saveOrUpdate(this.formobj)
.then(resp => {
this.submitdisabled = false
if (resp.success) {
_this.$message({ showClose: true, type: 'success', message: resp.msg })
_this.handleReturn('true')
} else {
// resp.code
}
})
.catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
deleteVehicle(row){
var arr=this.formobj.baseOutsourcingApplicationVehicleDtos;
const tip = '请确认是否删除车架号为'+row.vinNo+'记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(()=>{
for(var i=0;i<arr.length;i++){
if(row.vinNo==arr[i].vinNo){
arr.splice(i,1);
}
}
this.formobj.num=this.formobj.num-1;
}).catch(() => {})
}
}
}
</script>
<style scoped>
/*.tleftb{
text-align: right;
font-size: 14px;
color: #606266;
line-height: 20px !important;
font-weight: 600;
}
.formadd .el-row .el-col {
border-right: 1px solid #e0e3eb;
border-bottom: 1px solid #e0e3eb;
padding: 0px 15px 0px 15px !important;
!* min-height: 50px; *!
line-height: 1;
}*/
</style>

192
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationInfo.vue

@ -0,0 +1,192 @@
<template>
<div>
<!-- 标题按钮部分开始 -->
<div class="tab-header webtop">
<!-- 标题 -->
<div>外采申请表详情</div>
<!--start 添加修改按钮-->
<div v-show="isBtnShow">
<el-button type="danger" @click="openRevoke"> </el-button>
</div>
<!-- start 详情按钮 -->
<div><el-button itype="info" size="small" @click="handleReturn()">返回</el-button></div>
<!-- end 详情按钮 -->
</div>
<!-- 标题按钮部分结束 -->
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" label-position="right" class="formadd"> <div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div>
<el-row>
<el-col :span="3" class="tleftb">申请编号</el-col>
<el-col :span="5" class="trightb"><el-form-item prop="applicationCode">
<span>{{ formobj.applicationCode }}</span></el-form-item></el-col>
<el-col :span="3" class="tleftb">申请人姓名</el-col>
<el-col :span="5" class="trightb"><el-form-item prop="createByName"><span>{{ formobj.createByName }}</span></el-form-item></el-col>
<el-col :span="3" class="tleftb">申请日期</el-col>
<el-col :span="5" class="trightb"><el-form-item prop="applicationDate"><span>{{ formobj.applicationDate }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">外采类型</el-col>
<el-col :span="21" class="trightb">
<el-form-item prop="externalMiningTypeValue">
<span v-show="formobj.externalMiningTypeKey==2">政策外采</span>
<span v-show="formobj.externalMiningTypeKey==1">直接外采</span>
</el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">采购单位名称</el-col>
<el-col :span="21" class="trightb"><el-form-item prop="purchasingUnitName"><span>{{ formobj.purchasingUnitName }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">车型名称</el-col>
<el-col :span="21" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.modelName }}</span></el-form-item></el-col>
</el-row>
<el-row>
<el-col :span="3" class="tleftb">常用配置名称</el-col>
<el-col :span="21" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.configName }}</span></el-form-item></el-col>
</el-row>
<el-row><el-col :span="3" class="tleftb">采购价格</el-col>
<el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.purchasePrice }}</span></el-form-item></el-col>
<el-col :span="4" class="tleftb">销售指导价</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.guidedPrice }}</span></el-form-item></el-col>
</el-row>
<el-row> <el-col :span="3" class="tleftb">厂家合同价</el-col>
<el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.manufactorSettlementPrice }}</span></el-form-item></el-col>
<el-col :span="4" class="tleftb">台数</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.num }}</span></el-form-item></el-col>
</el-row>
<el-row> <el-col :span="3" class="tleftb">订金</el-col>
<el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.deposit }}</span></el-form-item></el-col>
<el-col :span="4" class="tleftb">费用名称</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.expenseName }}</span></el-form-item></el-col>
</el-row>
<el-row> <el-col :span="3" class="tleftb">费用金额合计</el-col>
<el-col :span="9" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.totalExpenseAmount }}</span></el-form-item></el-col>
</el-row>
<div class="listcon" v-show="formobj.externalMiningTypeKey==2">
<div style="border:1px solid #c0c0c0;padding:5px 5px 5px 5px;">
车辆列表
</div>
<el-table :data="formobj.baseOutsourcingApplicationVehicleDtos" border style="width: 100%" >
<el-table-column width="60px" label="序号" type="index" align="center" />
<el-table-column prop="vinNo" label="车架号" align="center" />
</el-table>
</div>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication'
import request from "@/api/flow/vehicleReturn";
export default {
name: 'BaseOutsourcingApplicationInfo',
data() {
return {
formobj: {
sid: '',
applicationCode: '123456', //
createByName: window.sessionStorage.getItem('name'), //
applicationDate: '', //
externalMiningTypeKey: '1', // key
externalMiningTypeValue: '', // value
purchasingUnitName: '', //
modelSid: '', // sid
modelName: '', //
configName: '', //
configSid: '', // sid
purchasePrice: '', //
guidedPrice: '', //
manufactorSettlementPrice: '', //
num: '0', //
deposit: '', //
expenseName: '', //
totalExpenseAmount: '', //
orgSid: '', // sid
baseOutsourcingApplicationVehicleDtos:[]
}
}
},
methods: {
//
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
},
/** 撤回任务 */
handleRevoke() {
request.revokeTask(this.revokeList).then((response) => {
if (response.code === '200') {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
} else {
this.$notify({
title: '提示',
message: '执行失败',
type: 'error',
duration: 2000
})
}
})
},
handleReturn() {
this.$emit('doback')
},
showInfo(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
const _this = this
req
.fetchBySid(row.sid)
.then(resp => {
if (resp.success) {
const vdata = resp.data
_this.formobj.applicationCode = vdata.applicationCode //
_this.formobj.createByName = vdata.createByName //
_this.formobj.applicationDate = vdata.applicationDate //
_this.formobj.externalMiningTypeKey = vdata.externalMiningTypeKey // key
_this.formobj.externalMiningTypeValue = vdata.externalMiningTypeValue // value
_this.formobj.purchasingUnitSid = vdata.purchasingUnitSid // sid
_this.formobj.purchasingUnitName = vdata.purchasingUnitName //
_this.formobj.modelSid = vdata.modelSid // sid
_this.formobj.modelName = vdata.modelName //
_this.formobj.configName = vdata.configName //
_this.formobj.purchasePrice = vdata.purchasePrice //
_this.formobj.guidedPrice = vdata.guidedPrice //
_this.formobj.manufactorSettlementPrice = vdata.manufactorSettlementPrice //
_this.formobj.num = vdata.num //
_this.formobj.deposit = vdata.deposit //
_this.formobj.expenseName = vdata.expenseName //
_this.formobj.totalExpenseAmount = vdata.totalExpenseAmount //
_this.formobj.orgSid = vdata.orgSid // sid
_this.formobj.baseOutsourcingApplicationVehicleDtos = vdata.baseOutsourcingApplicationVehicleVos
}
})
.catch(e => {
_this.formobj = row
})
}
}
}
</script>
<style scoped></style>

2
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/chexing.vue

@ -544,7 +544,7 @@
}, },
handlePeizhi(row) { handlePeizhi(row) {
this.viewState = 5 this.viewState = 5
this.$refs['divGuanLianPeiZhi'].showGuanlian(row.sid, row.modelName) this.$refs['divGuanLianPeiZhi'].showGuanlian(row )
}, },
handleSelectionChange(row) { handleSelectionChange(row) {
const aa = [] const aa = []

14
anrui-scm/anrui-scm-ui/src/views/cheliang/chexing/relation/chexingguanlianchangyong.vue

@ -609,8 +609,6 @@
]) ])
}, },
created() { created() {
this.getList() //
this.getType() this.getType()
}, },
methods: { methods: {
@ -623,12 +621,12 @@
this.searchxianshitit = '显示查询条件' this.searchxianshitit = '显示查询条件'
} }
}, },
showGuanlian(modelSid, modelName) { showGuanlian(row) {
console.log('sid:', modelSid, 'name:', modelName) this.setRelList.modelSid = row.sid
this.setRelList.modelSid = modelSid this.checkRelieve_list.modelSid = row.sid
this.checkRelieve_list.modelSid = modelSid this.title = row.modelName
// this.listQuery.params.modelSid = modelSid this.listQuery.params.modelSid = row.sid
this.title = modelName this.getList() //
}, },
init() { init() {
var name = this.$store.state.modelName var name = this.$store.state.modelName

8
anrui-scm/anrui-scm-ui/src/views/supplychain/caigoutuiku/caigoutuiku.vue

@ -236,14 +236,6 @@
this.$refs['divadd'].showAdd() this.$refs['divadd'].showAdd()
}, },
toEdit() { toEdit() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑' })
return
}
if (this.sids.length > 1) {
this.$message({ showClose: true, type: 'error', message: '只能选择一条记录进行编辑' })
return
}
this.viewState = 3 this.viewState = 3
const sid = this.sids[0] const sid = this.sids[0]
const row = this.row const row = this.row

6
anrui-scm/anrui-scm-ui/src/views/workFlow/caigoutuikuFlow/caigoutuiku.vue

@ -218,7 +218,7 @@
type: 'success', type: 'success',
duration: 2000 duration: 2000
}) })
this.refreshIt() // this.refreshIt()
} else { } else {
this.$notify({ this.$notify({
title: '提示', title: '提示',
@ -257,7 +257,7 @@
type: 'success', type: 'success',
duration: 2000 duration: 2000
}) })
this.refreshIt() // this.refreshIt()
} else { } else {
this.$notify({ this.$notify({
title: '提示', title: '提示',
@ -296,7 +296,7 @@
type: 'success', type: 'success',
duration: 2000 duration: 2000
}) })
this.refreshIt() // this.refreshIt()
} else { } else {
this.$notify({ this.$notify({
title: '提示', title: '提示',

2
anrui-scm/anrui-scm-ui/src/views/workFlow/caigoutuikuFlow/caigoutuikuEdit.vue

@ -259,7 +259,7 @@
type: 'success', type: 'success',
duration: 2000 duration: 2000
}) })
this.refreshIt() // this.refreshIt()
} else { } else {
this.$notify({ this.$notify({
title: '提示', title: '提示',

Loading…
Cancel
Save