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',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
headers: { 'Content-Type': 'application/json' }
})
}
// 添加法人
export function SaveListFaRen(data) {
return request({
url: '/base/v1/basedistributorlegal/save', data,
url: '/base/v1/basedistributorlegal/save',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
headers: { 'Content-Type': 'application/json' }
})
}
// 修改法人
export function UpdateFaRen(data) {
return request({
url: `/base/v1/basedistributorlegal/update/${data.sid}`,
url: '/base/v1/basedistributorlegal/update/' + data.sid,
method: 'post',
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) {
return request({
@ -48,8 +68,8 @@ export function brandLike(data) {
// 回显/base/v1/basedistributor/details/{sid}
export function detailsFaRen(data) {
return request({
url: '/base/v1/basedistributor/details/'+ data,
method: 'get',
url: '/base/v1/basedistributor/details/' + data,
method: 'get'
})
}

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

@ -1,14 +1,12 @@
import request from '@/utils/request'
import qs from 'qs'
// 添加个人
export function SaveListGeRen(data) {
return request({
url: '/base/v1/basedistributorperson/save', data,
url: '/base/v1/basedistributorperson/save',
method: 'post',
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}`,
method: 'post',
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,
orgSid: data.organizationSid, // 单位sid
Orgname: data.organizationName,
dwjb: data.dwjb
dwjb: data.dwjb,
orgNamePath: data.orgNamePath, // 使用组织全路径名称
orgSidPath: data.orgSidPath // 使用组织全路径Sid
};
// 结果存入缓存
window.sessionStorage.setItem('staffSid', user.staffSid)
@ -77,6 +79,8 @@ function getUserInfo() {
window.sessionStorage.setItem('user', user)
window.sessionStorage.setItem('departmentName', user.departmentName)
window.sessionStorage.setItem('departmentSid', user.departmentSid)
window.sessionStorage.setItem('orgNamePath', user.orgNamePath)
window.sessionStorage.setItem('orgSidPath', user.orgSidPath)
})
}
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>
<div class="app-container">
<el-tabs v-model="activeName" type="card" class="tab" @tab-click="tabChangeHandle">
<el-tab-pane name="first">
<span slot="label">基本信息</span>
<Jibenxinxi :sid="sid" @change="change" />
</el-tab-pane>
<el-tab-pane name="second">
<span slot="label">备案资料</span>
<Beianziliao :sid="sid" @change="change" />
</el-tab-pane>
<el-tab-pane name="third">
<span slot="label">备案账号</span>
<Beianzhanghao :sid="sid" @change="change" />
</el-tab-pane>
<el-tab-pane name="four">
<span slot="label">相关项目</span>
<Xiangguanxiangmu :sid="sid" @change="change" />
</el-tab-pane>
</el-tabs>
<div class="tab-header webtop">
<div>经销商信息详情</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="tab-header webtopb">
<div class="farenb">经销商属性</div>
<div class="faren">{{ dealerAttributes }}</div>
</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.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>
</template>
<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 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: {
import { detailsFaRen } from '@/api/business/faRen'
import { postDownload } from '@/api/business/beiAn'
},
export default {
name: 'jingxiaoshangInfo',
data() {
return {
activeNames: ['1'],
activeName: 'first',
sid: '',
// ---------
// menuState: {
// add: false, //
// edit: false, //
// delete: false, //
// view: false, //
// audit: false, //
// input: false, //
// output: false, //
// upload: false, //
// release: false //
// }
// ------------------------------------
index: 0,
tableKey: 0,
FilingInformationKey: 1,
filingAccoutKey: 2,
relevantProjectKey: 3,
list: [],
FilingInformationList: [],
filingAccoutList: [],
relevantProjectList: [],
dealerAttributes: '',
listLoading: false,
templook: {},
dialogFormVisible: false, //
dialogFormShowVisible: false, //
relevantProjectList: [],
rules: {}
}
},
created() {
this.sid = this.$route.params.sid
console.log('wiwiwiwi', this.sid)
// ...mapGetters([
// 'id',
// 'roles',
// 'rolesIds',
// 'departmentId',
// 'departmentCode'
// ])
},
methods: {
tabChangeHandle(e) {
// switch (e) {
// case '':
// console.log('' + e)
// break
// }
//
handleReturn() {
this.$emit('doback')
},
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>
<style scoped>
/deep/ .el-collapse {
border-top: 0px solid #e6ebf5;
border-bottom: 0px solid #e6ebf5;
.webtopb {
display: flex;
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 {
margin: 0;padding: 0;
/deep/ .el-col-4 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
/deep/ .el-collapse-item__wrap {
border-bottom: 0px solid #EBEEF5;
/deep/ .el-col-8 {
font-size: 14px;
color: #606266;
line-height: 40px !important;
}
/deep/ .el-collapse-item__header {
border-bottom: 0px solid #e6ebf5;
/deep/ .el-col-20 {
font-size: 14px;
color: #606266;
line-height: 40px !important;
}
.tab{padding: 10px 0;}
</style>

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

@ -1,247 +1,122 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>经销商管理</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">新建</el-button>
<el-button type="primary" size="small" @click="handleUpdate()">修改</el-button>
<el-button type="danger" size="small" @click="handleDelete()">删除</el-button>
<!-- <el-button type="primary" size="small" @click="handleDaoRu()">导入</el-button> -->
<el-button type="primary" size="small" disabled>下线</el-button>
<el-button type="success" size="small" @click="handleDaoChu()">导出</el-button>
<div v-show="viewState ==1">
<div class="tab-header webtop">
<div>经销商管理</div>
<div>
<el-button type="primary" size="small" @click="handleCreate()">新建</el-button>
<el-button type="primary" size="small" @click="handleUpdate()">修改</el-button>
<el-button type="danger" size="small" @click="handleDelete()">删除</el-button>
<!-- <el-button type="primary" size="small" @click="handleDaoRu()">导入</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 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-form-item label="经销商名称">
<el-input v-model="listQuery.distributorName" placeholder="请输入经销商名称" clearable class="filter-item" />
</el-form-item>
<el-form-item label="审核状态">
<el-select v-model="listQuery.type" class="filter-item" clearable placeholder="请选择审核状态" style="width: 200px;">
<el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-button type="primary" @click="handleFilter">查询</el-button>
</el-form>
<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-form-item label="经销商名称">
<el-input v-model="listQuery.params.distributorName" placeholder="请输入经销商名称" clearable class="filter-item" />
</el-form-item>
<el-form-item label="审核状态">
<el-select v-model="listQuery.params.type" class="filter-item" clearable placeholder="请选择审核状态" style="width: 200px;">
<el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
<el-button type="primary" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" size="small" @click="handleFilter">重置</el-button>
</el-form>
</div>
</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 class="listtop">
<div class="tit">经销商信息列表</div>
<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>
<jingxiaoshangAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<jingxiaoshangInfo v-show="viewState ==4" ref="divInfo" @doback="resetState"/>
</div>
</template>
<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 pageye from '@/components/pagination/pageye'
import {
pagerList,
deleteBySids,
basefinbankExportExcel,
} from '@/api/business/jingXiaoShangGuanLi'
import { pagerList, deleteBySids, basefinbankExportExcel } from '@/api/business/jingXiaoShangGuanLi'
import jingxiaoshangAdd from './jingxiaoshangAdd.vue'
import jingxiaoshangInfo from './jingxiaoshangInfo.vue'
export default {
name: 'Jingxiaoshangguanli',
components: {
Pagination,
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() {
return {
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1,
sids: [],
// ---------
menuState: {
add: false, //
edit: false, //
delete: false, //
view: false, //
audit: false, //
input: false, //
output: false, //
upload: false, //
release: false, //
},
// -----------
tableKey: 0,
// list: null,
list: [
{
title: '庆安县万邦运输服务有限公司',
hao: '254102125466',
},
],
total: 1,
FormLoading: false,
list: [],
listLoading: false,
listQuery: {
current: 1,
size: 20,
size: 10,
params: {
distributorName: '',
type: ''
},
total: 0
},
selectDate: undefined,
temp: {}, //
templook: {}, //
textMap: {
update: '编辑',
create: '创建',
},
dialogFormVisible: false, //
dialogFormShowVisible: false, //
dialogStatus: '', //
typeOptions: [],
tureArrys: [
{
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: '',
// ------------------------------------
rules: {}
}
},
computed: {
...mapGetters([
'id',
'roles',
'rolesIds',
'departmentId',
'departmentCode',
]),
},
created() {
//
this.init()
//
this.getList()
},
@ -255,188 +130,87 @@ export default {
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) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
console.log('查询:', this.listQuery)
pagerList({
current: this.listQuery.current,
size: this.listQuery.size,
params: {
distributorName: this.listQuery.distributorName,
},
}).then((response) => {
console.log('列表查询结果:', response)
pagerList(this.listQuery).then((response) => {
this.listLoading = false
if (response.code === '200') {
if (response.code === '200' && response.success) {
this.list = response.data.records
this.total = response.data.total
this.listQuery.total = response.data.total
} else {
this.list = []
this.total = 0
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.pageNumber = 1
this.listQuery.current = 1
this.getList()
},
// ------------------------------------------------------
//
resetTemp() {
this.temp = {
jc: '', // false string
organizationId: '', // false string
qc: '', // false string
remark: '', // false
string: '', //
state: '', //
}
},
//
handleCreate() {
if (this.$store.state.counter === 0) {
this.$store.state.counter
console.log('打开添加对话框', this.$store.state.counter)
this.$router.push({
path: '/jingxiaoshang/jingxiaoshangAdd',
})
} else {
this.$store.state.counter = 0
this.$router.push({
path: '/jingxiaoshang/jingxiaoshangAdd',
})
}
this.viewState = 2
this.$refs['divAdd'].showAdd()
},
handleSelectionChange(row) {
console.log(row, '99999999')
const aa = []
const bb = []
row.forEach((element) => {
console.log('79999999', element)
aa.push(element.sid)
bb.push(element.distributorClassification)
})
this.sids = aa
this.zhuangtai = bb
console.log(this.zhuangtai, 'wowopwpwp')
console.log('02555555', this.sids)
},
//
handleUpdate() {
if (this.sids.length === 1) {
this.dialogStatus = 'update'
this.$router.push({
path: `/jingxiaoshang/jingxiaoshangEdit/${this.sids[0]}`,
query: {
ztsid: this.zhuangtai,
},
})
this.viewState = 3
this.$refs['divAdd'].showEdit(this.sids)
} else if (this.sids.length > 1) {
this.$notify({
title: '提示',
message: '不能选中多个商修改!!',
message: '不能选中多个经销商修改!',
type: 'info',
duration: 2000,
duration: 2000
})
} else {
this.$notify({
title: '提示',
message: '没有选择经销商!!',
message: '没有选择经销商!',
type: 'error',
duration: 2000,
duration: 2000
})
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) {
this.$store.distributionSid = ''
this.$store.distributionSid = row.sid
this.$router.push({
path: `/jingxiaoshang/jingxiaoshangInfo/${row.sid}`,
query: {
ztids: row.distributorClassification,
},
})
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
// ID
handleDelete() {
if (this.sids.length > 0) {
deleteBySids(this.sids).then((response) => {
console.log('3455', response)
if (response.code === '200') {
this.$notify({
title: '提示',
message: '删除成功',
type: 'success',
duration: 2000,
duration: 2000
})
this.getList()
} else {
this.$notify({
title: '删除失败',
message: response.msg,
type: 'error',
type: 'error'
})
}
})
@ -445,16 +219,19 @@ export default {
title: '提示',
message: '没有选择经销商!!',
type: 'error',
duration: 2000,
duration: 2000
})
return
}
},
resetState() {
this.viewState = 1
},
//
handleDaoChu() {
basefinbankExportExcel(this.sids).then((res) => {
const blob = new Blob([res], {
type: 'application/vnd.ms-excel',
type: 'application/vnd.ms-excel'
})
const objectUrl = URL.createObjectURL(blob)
window.location.href = objectUrl
@ -462,7 +239,7 @@ export default {
title: '提示',
message: '导出成功',
type: 'success',
duration: 2000,
duration: 2000
})
})
},
@ -471,7 +248,7 @@ export default {
this.$confirm('确定要发起审核流程吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
type: 'warning'
})
// .then(() => {
// const tempData = Object.assign({}, row) // copy obj
@ -501,8 +278,8 @@ export default {
// message: ''
// })
// })
},
},
}
}
}
</script>
<style scoped>
@ -523,8 +300,4 @@ export default {
/deep/ .el-collapse-item__header {
border-bottom: 0px solid #e6ebf5;
}
.searchli {
padding: 5px 100px;
}
</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 lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -31,25 +31,25 @@ public class BusSalesOrderAllDto implements Dto {
private String sid;
@ApiModelProperty(value = "用户sid", required = true)
@NotBlank(message = "用户sid不能为空")
@NotBlank(message = "参数错误:用户sid")
private String userSid;
@ApiModelProperty(value = "销售部门sid", required = true)
@NotBlank(message = "销售部门sid不能为空")
@NotBlank(message = "参数错误:销售部门sid")
private String orgSid;
@ApiModelProperty(value = "销售部门", required = true)
@NotBlank(message = "销售部门不能为空")
@NotBlank(message = "参数错误:销售部门")
private String orgName;
@ApiModelProperty(value = "客户名称", required = true)
@NotBlank(message = "客户名称不能为空")
private String customerName;
@ApiModelProperty(value = "客户sid", required = true)
@NotBlank(message = "客户sid不能为空")
@NotBlank(message = "参数错误:客户sid")
private String customerSid;
@ApiModelProperty(value = "销售专员", required = true)
@NotBlank(message = "销售专员不能为空")
private String staffName;
@ApiModelProperty(value = "销售专员sid", required = true)
@NotBlank(message = "销售专员sid不能为空")
@NotBlank(message = "参数错误:销售专员sid")
private String staffSid;
@ApiModelProperty(value = "客户联系电话", required = true)
@NotBlank(message = "客户联系电话不能为空")
@ -83,7 +83,7 @@ public class BusSalesOrderAllDto implements Dto {
@NotBlank(message = "销售订单车辆类型不能为空")
private String type;
@ApiModelProperty(value = "主车车型信息")
@NotNull(message = "车型信息不能为空")
@Valid
private BusSalesOrderModelDto busSalesOrderModel;
@ApiModelProperty(value = "现车车辆信息")
private List<BusSalesOrderVehicleDto> busSalesOrderVehicleList;
@ -92,12 +92,14 @@ public class BusSalesOrderAllDto implements Dto {
@ApiModelProperty(value = "上装配置信息")
private BusSalesOrderMakeupDto busSalesOrderMakeup;
@ApiModelProperty(value = "价格信息")
@Valid
private BusSalesOrderPriceDto busSalesOrderPrice;
@ApiModelProperty(value = "主车优惠明细")
private List<BusSalesOrderDiscountDto> busSalesOrderDiscountList;
@ApiModelProperty(value = "保险说明")
private BusSalesOrderInsuranceDto busSalesOrderInsurance;
@ApiModelProperty(value = "订金信息")
@Valid
private BusSalesOrderDepositDto busSalesOrderDeposit;
@ApiModelProperty(value = "虚拟订单和订金关联信息")
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.web.bind.annotation.*;
import javax.validation.Valid;
/**
* Project: anrui-buscenter(业务管理) <br/>
* File: BusSalesOrderFeign.java <br/>
@ -62,7 +64,7 @@ public interface BusSalesOrderFeign {
@ApiOperation("新增或修改")
@PostMapping("/saveOrUpdate")
@ResponseBody
public ResultBean<String> save(@RequestBody BusSalesOrderAllDto dto);
public ResultBean<String> save(@Valid @RequestBody BusSalesOrderAllDto dto);
@ApiOperation("删除/批量删除")
@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 lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* Project: anrui-buscenter(业务管理) <br/>
* File: BusSalesOrderDepositDto.java <br/>
@ -49,13 +51,17 @@ import lombok.Data;
public class BusSalesOrderDepositDto implements Dto {
private static final long serialVersionUID = -5178085916707721474L;
@ApiModelProperty("单台订金")
@ApiModelProperty(value = "单台订金", required = true)
@NotBlank(message = "参数错误:订金信息单台订金不能为空")
private String deposit;
@ApiModelProperty("订金合计")
@ApiModelProperty(value = "订金合计", required = true)
@NotBlank(message = "参数错误:订金信息订金合计不能为空")
private String depositAll;
@ApiModelProperty("订金交纳方式")
@ApiModelProperty(value = "订金交纳方式", required = true)
@NotBlank(message = "参数错误:订金信息订金交纳方式不能为空")
private String depositType;
@ApiModelProperty("订金交纳方式key")
@ApiModelProperty(value = "订金交纳方式key", required = true)
@NotBlank(message = "参数错误:订金交纳方式key")
private String depositTypeKey;
@ApiModelProperty("需补交订金")
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 lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
@ -52,18 +54,24 @@ import java.util.Date;
public class BusSalesOrderPriceDto implements Dto {
private static final long serialVersionUID = -1959772405551004198L;
@ApiModelProperty("单台指导价(主车加上装)")
@ApiModelProperty(value = "单台指导价(主车加上装)", required = true)
@NotBlank(message = "参数错误:价格信息单台指导价不能为空")
private String singleGuildPrice;
@ApiModelProperty("单台成交价(主车加上装)")
@ApiModelProperty(value = "单台成交价(主车加上装)", required = true)
@NotBlank(message = "参数错误:价格信息单台成交价不能为空")
private String singleFinalPrice;
@ApiModelProperty("台数")
@NotNull(message = "参数错误:价格信息台数不能为空")
private Integer quantity;
@ApiModelProperty("车价合计")
@NotBlank(message = "参数错误:车价合计不能为空")
private String priceSum;
@ApiModelProperty("计划提车地点")
@NotBlank(message = "参数错误:计划提车地点不能为空")
private String plannedPickUpLocation;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("计划提车日期")
@NotNull(message = "参数错误:计划提车日期不能为空")
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 quantity = dto.getBusSalesOrderPrice().getQuantity();
if ("1".equals(dto.getType())) {
//现车
vehicleNum = dto.getBusSalesOrderVehicleList().size();
@ -325,9 +327,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
for (int i = 0; i < busSalesVehicleOrderList.size(); i++) {
vehicleNum = vehicleNum + busSalesVehicleOrderList.get(i).getUsingNum();
}
}else{
vehicleNum = quantity;
}
//判断和价格信息中的台数是否一致
int quantity = dto.getBusSalesOrderPrice().getQuantity();
if (vehicleNum != quantity) {
return rb.setMsg("选择的台数与价格信息中的台数数值不一致");
}
@ -342,9 +345,11 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//包含上装
if ("1".equals(dto.getIsTop())) {
//上装价格
String topPrice = dto.getBusSalesOrderMakeup().getTopPrice();
singleGuildPriceBig.add(new BigDecimal(topPrice));
singleFinalPriceBig.add(new BigDecimal(topPrice));
BusSalesOrderMakeupDto busSalesOrderMakeup = dto.getBusSalesOrderMakeup();
String topPrice = busSalesOrderMakeup.getTopPrice();
// String topPrice = dto.getBusSalesOrderMakeup().getTopPrice();
singleGuildPriceBig = singleGuildPriceBig.add(new BigDecimal(topPrice));
singleFinalPriceBig = singleFinalPriceBig.add(new BigDecimal(topPrice));
}
//单台指导价(主车+上装价格)
String singleGuildPrice = dto.getBusSalesOrderPrice().getSingleGuildPrice();
@ -372,8 +377,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
String price = busSalesOrderDiscountList.get(i).getPrice();
Integer num = busSalesOrderDiscountList.get(i).getNum();
String totalValue = busSalesOrderDiscountList.get(i).getTotalValue();
if (new BigDecimal(totalValue).compareTo(new BigDecimal(price).multiply(new BigDecimal(num.toString()))) != 0) {
return rb.setMsg("主车优惠明细中总价值数值计算错误");
if(StringUtils.isNotBlank(price) && StringUtils.isNotBlank(totalValue) && num != 0){
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 qs from 'qs'
// 待出库分页列表 已改
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) {
return request({
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) {
return request({
url: '/buscenter/v1/busorderdiscount/listPage',
url: '/base/v1/basediscountpackage/listPage',
method: 'post',
data: data,
headers: {

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

@ -1,8 +1,9 @@
import request from "@/utils/request";
// ----------------------------------- 订单管理
export function getPageList(data) {
// 销售订单管理列表 已改
export function getListPage(data) {
return request({
url: "/buscenter/v1/busorder/busOrderPagerList",
url: "/buscenter/v1/bussalesorder/listPage",
method: "post",
data: data,
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) {
return request({
url: "/buscenter/v1/busorder/saveAll",
url: "/buscenter/v1/bussalesorder/saveOrUpdate",
method: "post",
data: data,
headers: {
@ -21,10 +35,11 @@ export function saveOrderForm(data) {
}
});
}
// 修改
export function updateOrderForm(data) {
// 编辑、详情初始化 已改
export function fetchDetailsBySid(data) {
return request({
url: "/buscenter/v1/busorder/updateAll/" + data.busOrderDto.sid,
url: "/buscenter/v1/bussalesorder/fetchDetailsBySid/" + data.sid,
method: "post",
data: data,
headers: {
@ -32,16 +47,76 @@ export function updateOrderForm(data) {
}
});
}
// 根据编号查看详情
export function getOneDetailsByBillNo(data) {
// 外联表接口
// 获取意向车型列表 已改
export function getYixiangList(data) {
return request({
url: "/buscenter/v1/busorder/getAllByBillNo",
url: "/crm/v1/crmvehicledemand/selectPagePc",
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) {
return request({
@ -49,6 +124,7 @@ export function getListOrg(data) {
method: "get"
});
}
// 支付方式下拉
export function getPaymentType(data) {
return request({

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

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

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

@ -46,8 +46,8 @@
</el-col>
<el-col :span="6">
<el-form-item>
<el-radio v-model="temp.isTerminal" :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" :label="1"></el-radio>
<el-radio v-model="temp.isTerminal" disabled :label="0"></el-radio>
<el-radio v-model="temp.isTerminal" disabled :label="1"></el-radio>
</el-form-item>
</el-col>
<el-col :span="2"/>
@ -99,7 +99,7 @@
<template slot-scope="scope">
<!-- && scope.row.exist == '1' scope.row.nodeState == '' ? false:scope.row.nodeState == '发起订单'?false : true -->
<el-button
v-show="temp.isTerminal === 0"
v-show="temp.isTerminal === 0 && scope.row.isExist == '1'"
size="medium"
type="primary"
@click="lookUserInfo(scope.row.vinNo)"
@ -166,14 +166,7 @@
applyDate: "", //
detailsList: [],
}, //
detailsList: [
{
price: "", //
remarks: "", //
vinNo: "", //
useMessage: {},
},
],
detailsList: [],
sids: [],
vinNo_info: "",
submitDto: {
@ -195,24 +188,9 @@
},
created() {
//
this.init();
},
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() {
this.isShow = true;
this.isShowLook = false;
@ -230,8 +208,10 @@
this.temp = response.data;
this.temp.sid = sid;
this.detailsList = response.data.listVo;
console.log('详情回显车辆信息', this.detailsList)
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";
}
}
@ -251,7 +231,8 @@
useMessage = this.detailsList[i].useMessage;
this.isShow = false;
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 {
listPage,
fetchDetailsBySid,
checkingApply,
typeValues,
customerName,
checkNum
@ -327,7 +327,7 @@
}
if (this.sids.length > 0) {
this.FormLoading = true
fetchDetailsBySid(this.initObj).then(response => {
checkingApply(this.initObj).then(response => {
if (response.success) {
this.viewState = 2
this.temp = response.data

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

@ -122,12 +122,13 @@
init() {
},
showInfo(useMessage, vinNo) {
showInfo(useMessage, vinNo,createBtn) {
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
});
console.log('详情拿到的信息', 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>
<xuanzekehu-add ref="addAndUpdate" @handleReturn="resetState"></xuanzekehu-add>
<xuanzekehu-add v-show="kehu_add == true" ref="addAndUpdate" @handleReturn="resetState"></xuanzekehu-add>
<el-dialog
title="客户登记-类型"
:visible.sync="dialogVisible"
@ -108,7 +108,7 @@
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import {pagerList, typeValues} from '@/api/jichuxinxi/busdepositvehicle'
import xuanzekehuAdd from "./xuanzekehuAdd";
import xuanzekehuAdd from "./xuanzekehuAdd.vue";
export default {
name: "xuanzekehu",
@ -191,6 +191,8 @@
},
handleOpen() {
if (this.customerTypeList.visitWay !== '' && this.customerTypeList.customerType !== '') {
this.kehu_xuanze = false
this.kehu_add = true
this.dialogVisible = false
const customerTypeList = this.customerTypeList
this.$refs.addAndUpdate.openCreate(customerTypeList, () => {
@ -234,7 +236,6 @@
// },
// ------------------
handleCreate() {
this.kehu_xuanze = false
this.dialogVisible = true
// this.$refs['addAndUpdate'].
// this.kehu_add = true

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

@ -1,6 +1,6 @@
<template>
<div class="app-container">
<div v-show="visible">
<div>
<div class="tab-header webtop">
<div>新增客户信息</div>
<div>
@ -9,7 +9,7 @@
</div>
</div>
<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">
<div class="titwu">客户信息</div>
<div class="title" style="display: flex;align-items: center;justify-content: space-between;height:40px">
@ -45,7 +45,7 @@
</el-col>
<el-col :span="8">
<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-col>
<el-col :span="4" class="trightb">
@ -562,20 +562,6 @@
trigger: 'blur',
},
],
// mobile: [
// {
// required: true,
// validator: checkSubmit,
// trigger: 'blur',
// },
// ],
// idnumber: [
// {
// required: true,
// validator: identitycard,
// trigger: 'blur',
// },
// ],
},
}
},
@ -613,8 +599,6 @@
this.stateId = sid
console.log('888888888888', this.stateId)
this.isOnRemind='否'
// this.client = customer.name
// this.clientphone = customer.mobile
if (this.stateId !== '0') {
getPcCustomerInfoBySid(this.stateId).then((response) => {
console.log(response.data)
@ -622,7 +606,6 @@
this.$refs['dataForm'].clearValidate()
this.temp = response.data
this.temp.birthday = this.getDates(this.temp.birthday)
// this.temp.address=this.temp.province+this.temp.city+this.temp.county
this.visible = true
if(this.temp.customerType!==''){
typeValues({type: 'customerType'}).then((res) => {
@ -859,6 +842,7 @@
handleReturn() {
this.visible=false
this.activeNames=['1']
this.$emit('doReturn')
this.$emit('handleReturn')
},
//
@ -914,7 +898,7 @@
//
changexuanze() {
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
},
//

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>
<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" :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>
</div>
</div>
@ -16,7 +16,7 @@
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<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-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" />
@ -24,26 +24,26 @@
</el-select> -->
</el-form-item>
<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 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 label="单据日期" class="searchlist">
<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>
<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 label="支付方式" class="searchlist">
<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"
:value="item2.dictValue"/>
:value="item2.dictValue" />
</el-select>
</el-form-item>
<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>
<div class="searchbtns">
<el-button type="primary" @click="handleFilter">查询</el-button>
@ -55,22 +55,24 @@
<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"/>
<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 fit highlight-current-row
style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50" />
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column width="160px" label="操作" align="center">
<template slot-scope="scope">
<div class="searchbtns">
<el-button size="small" type="primary" :disabled="scope.row.nodeState == ''?false:true"
@click="changeNodeState(scope.row)">办理
<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" :disabled="scope.row.nodeState == ''?false:true"
@click="handleCheck(scope.row)">查看
<el-button size="small" type="primary"
:disabled="scope.row.nodeState == '' ? false : true"
@click="handleCheck(scope.row)">查看
</el-button>
<!-- <el-button size="small" type="primary" @click="printContract(scope.row)">打印合同</el-button>-->
</div>
@ -128,507 +130,427 @@
</el-table-column>
<el-table-column label="是否保险" align="center">
<template slot-scope="scope">
<span>{{ scope.row.isInsurance}}</span>
<span>{{ scope.row.isInsurance }}</span>
</template>
</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>
</div>
<div class="pages">
<div class="tit"/>
<div class="tit" />
<!-- 翻页 -->
<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-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"/>
<!-- <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-info @handleReturn="visible = true" ref="dingdanxinxiinfo" @doback="resetState" />
</div>
</template>
<script>
import {deleteByids, dictType, getListOrg, getPageList} from '@/api/salesManagement/orderManagement'
import {submitSales, updateSales} from '@/api/portal/workFlow'
import {loginDetails} from '@/api/dictcommons/basemanufacturer'
import {getStorage} from '@/utils/auth'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './xiaoshoudingdanAdd.vue'
import divInfo from './xiaoshoudingdanInfo.vue'
// import divPrint from './dayinxiangshezhi.vue'
// import xiaodaijinrongfanganInfo from '../../xiaodaijinrongfangan/xiaodaijinrongfanganinfo.vue'
// import hetongdanganguanliInfo from '@/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue'
import { delBySids, dictType, getListOrg, getListPage } from '@/api/salesManagement/orderManagement'
import { submitSales, updateSales } from '@/api/portal/workFlow'
import { loginDetails } from '@/api/dictcommons/basemanufacturer'
import { getStorage } from '@/utils/auth'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './xiaoshoudingdanAdd.vue'
import divInfo from './xiaoshoudingdanInfo.vue'
// import divPrint from './dayinxiangshezhi.vue'
// import xiaodaijinrongfanganInfo from '../../xiaodaijinrongfangan/xiaodaijinrongfanganinfo.vue'
// import hetongdanganguanliInfo from '@/views/hetongguanli/hetongdanganguanli/hetongdanganguanliInfo.vue'
export default {
name: 'xiaoshoudingdan',
components: {
Pagination,
pageye,
divAdd,
divInfo,
// divPrint,
// xiaodaijinrongfanganInfo,
// hetongdanganguanliInfo
},
data() {
return {
isableSub: false,
viewState: 1, // 1 2 3 4
xiaodaijinrongfanganInfoShow: false,
hetongdanganguanliAddShow: false,
userSid: '',
treedata: [],
payTypeList: [],
saleTypeList: [],
isSearchShow: false,
searchxianshitit: '隐藏查询条件',
// -----------
tableKey: 0,
addOrUpdatetypes: '',
list: [
{
name: '2345',
contractNum: '2222'
}
],
sids: [],
defaultProps: {
children: 'children',
label: 'name'
},
total: 1,
listLoading: false,
listQuery: {
current: 1,
size: 20,
params: {
customerName: '',
modelName: '',
orgName: '',
payType: '',
saleType: '',
staffName: ''
}
},
temp: {
contactMobile: '1'
}, //
nodeState: '', //
submitDto: {
businessSid: '',
userSid: window.sessionStorage.getItem('userSid')
},
updateDto: {
nodeState: '',
sid: ''
},
visible: true
// ------------------------------------
export default {
name: 'xiaoshoudingdan',
components: {
Pagination,
pageye,
divAdd,
divInfo,
// divPrint,
// xiaodaijinrongfanganInfo,
// hetongdanganguanliInfo
},
data() {
return {
isableSub: false,
viewState: 1, // 1 2 3 4
xiaodaijinrongfanganInfoShow: false,
hetongdanganguanliAddShow: false,
userSid: '',
treedata: [],
payTypeList: [],
saleTypeList: [],
isSearchShow: false,
searchxianshitit: '隐藏查询条件',
// -----------
tableKey: 0,
addOrUpdatetypes: '',
list: [
{
name: '2345',
contractNum: '2222'
}
],
sids: [],
nodeState_list: [],
defaultProps: {
children: 'children',
label: 'name'
},
total: 1,
listLoading: false,
listQuery: {
current: 1,
size: 20,
params: {
customerName: '',
modelName: '',
orgName: '',
payType: '',
saleType: '',
staffName: ''
}
},
temp: {
contactMobile: '1'
}, //
nodeState: '', //
visible: true
// ------------------------------------
}
},
computed: {},
created() {
//
this.getList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
computed: {},
created() {
//
init() {
},
// ------------------
resetState() {
this.visible = true
this.getList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
init() {
},
// ------------------
resetState() {
this.visible = true
this.getList()
},
xiaoshouhetong(row) {
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) {
xiaoshouhetong(row) {
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.$refs['divadd'].showAdd()
},
//
changeNodeState(row) {
if (row.nodeState == '') {
this.visible = false
this.$refs['divadd'].showAdd()
},
//
changeNodeState(row) {
if (row.nodeState == '') {
this.visible = false
this.$refs['divadd'].showEdit(row.sid)
this.$refs['divadd'].showEdit(row.sid)
}
},
//
openInfo() {
this.visible = false
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
this.$refs['divPrint'].showInfo(row)
},
})
},
// purchaseType
getpayTypeList() {
dictType({
type: 'purchaseType',
}).then((response) => {
if (response.code === '200' && response.data) {
this.payTypeList = response.data
// ------------------
// ------------------
noClickclose() {
this.xiaodaijinrongfanganInfoShow = false
this.hetongdanganguanliAddShow = false
this.viewState = 1
},
this.getpaySaleList()
}
})
},
// saleType
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
}
})
},
//
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()
}
})
},
// purchaseType
getpayTypeList() {
dictType({
type: 'purchaseType',
}).then((response) => {
if (response.code === '200' && response.data) {
this.payTypeList = response.data
handleCheckChange(data, checked, node) {
this.listQuery.params.orgName = data.name
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
this.getpaySaleList()
}
})
},
// saleType
getpaySaleList() {
dictType({
type: 'saleType'
}).then((response) => {
if (response.code === '200' && response.data) {
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
}
})
},
//
handleSelectionChange(row) {
const aa = []
const bb = []
row.forEach((element) => {
aa.push(element.sid)
bb.push(element.nodeState)
})
this.sids = aa
this.nodeState_list = bb
},
handleCheckChange(data, checked, node) {
this.listQuery.params.orgName = data.name
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
getHuoquyonghu() {
var token = getStorage()
loginDetails(token).then((response) => {
if (response.code === '200') {
this.userSid = response.data.sid
this.getOrgList()
}
})
},
//
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
console.log(element.sid)
// setuser(this.sids)
//
handleSubmit() {
if (this.sids.length == 1) {
this.$confirm('是否确定提交该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
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
const bb = []
row.forEach((element) => {
bb.push(element.nodeState)
console.log(element.nodeState)
if (element.nodeState !== '') {
this.isableSub = true
} else if (element.nodeState == '') {
this.isableSub = false
}
} else if (this.sids.length == 0) {
this.$notify({
title: '您还未选择,请选择数据!!!',
type: 'error'
})
},
//
getHuoquyonghu() {
var token = getStorage()
loginDetails(token).then((response) => {
if (response.code === '200') {
this.userSid = response.data.sid
this.getOrgList()
}
} else if (this.sids.length > 1) {
this.$notify({
title: '您选择的数据过多,请选择一条数据编辑!!',
type: 'error'
})
},
//
handleSubmit() {
if (this.sids.length == 1) {
this.$confirm('是否确定提交该业务', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
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'
})
}
})
})
} else if (this.sids.length == 0) {
}
},
// sid
handleDelete() {
if (this.sids.length === 0) {
this.$notify({
title: '提示',
message: '没有选择!!',
type: 'warning',
duration: 2000
})
return
}
delBySids(this.sids.join(',')).then((response) => {
if (response.code === '200') {
this.$notify({
title: '您还未选择,请选择数据!!!',
type: 'error'
title: '提示',
message: '删除成功',
type: 'success',
duration: 2000
})
} else if (this.sids.length > 1) {
this.getList()
} else {
this.$notify({
title: '您选择的数据过多,请选择一条数据编辑!!',
title: '删除失败',
message: response.msg,
type: 'error'
})
}
},
//
// submitOrder() {
// submitOrder(this.userSid, this.sids.join(',')).then((response) => {
// if (response.code === '200') {
})
},
//
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: '',
// message: '',
// type: 'success',
// duration: 2000,
// duration: 2000
// })
// this.getList()
// } else {
// this.$notify({
// title: '',
// title: '',
// message: response.msg,
// type: 'error',
// type: 'error'
// })
// }
// })
// },
// ID
handleDelete() {
if (this.sids.length === 0) {
this.$notify({
title: '提示',
message: '没有选择!!',
type: 'warning',
duration: 2000
})
return
}
deleteByids(this.sids.join(',')).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'
})
}
})
},
//
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()
}
// })
// .catch(() => {
// this.$message({
// type: 'info',
// message: ''
// })
// })
},
//
AddUpdateReturn() {
this.visible = true
},
//
dataCreated() {
this.visible = true
this.getList()
},
//
dataUpdated() {
this.visible = true
this.getList()
}
}
}
</script>
<style scoped>
.filter-item {
padding: 0 10px;
width: 220px;
display: inline-block;
}
.filter-item {
padding: 0 10px;
width: 220px;
display: inline-block;
}
/* .filter-item-time {
/* .filter-item-time {
padding: 0 10px;
width: 300px;
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>

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>
<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>
<script>
import {mapGetters} from 'vuex'
import {fetchDetailsBySid} from '@/api/salesManagement/orderManagement'
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>
<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>

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>
<div v-show="isSearchShow" class="search">
<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-input v-model="queryParams.params.createByName" placeholder="请输入申请人姓名" clearable /></el-form-item>
<el-form-item label="申请日期"><el-input v-model="queryParams.params.applicationDate" placeholder="请输入申请日期" clearable /></el-form-item>
<el-form-item label="外采类型value"><el-input v-model="queryParams.params.externalMiningTypeValue" placeholder="请输入外采类型value" clearable /></el-form-item>
<el-form-item label="采购单位名称"><el-input v-model="queryParams.params.purchasingUnitName" placeholder="请输入采购单位名称" clearable /></el-form-item>
<el-form-item label="车型名称"><el-input v-model="queryParams.params.modelName" placeholder="请输入车型名称" clearable /></el-form-item>
<el-form-item label="常用配置名称"><el-input v-model="queryParams.params.configName" placeholder="请输入常用配置名称" clearable /></el-form-item>
<el-form-item label="采购价格"><el-input v-model="queryParams.params.purchasePrice" placeholder="请输入采购价格" clearable /></el-form-item>
<el-form-item label="销售指导价"><el-input v-model="queryParams.params.guidedPrice" 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-form-item label="申请日期:">
<el-date-picker v-model="queryParams.params.applicationStartDate" class="filter-item" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
<label></label>
<el-date-picker v-model="queryParams.params.applicationEndDate" class="filter-item" type="date"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择"/>
</el-form-item>
<el-form-item label="车型:">
<el-input v-model="queryParams.params.modelName" placeholder="请输入车型名称" clearable /></el-form-item>
<el-divider />
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="dosearch">查询</el-button>
@ -34,25 +31,28 @@
<!-- End 项目列表头部 -->
<!-- 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-column width="30px" type="selection" align="center" />
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="applicationCode" label="申请编号" align="center" />
<el-table-column prop="createByName" label="申请人姓名" align="center" />
<el-table-column prop="applicationDate" label="申请日期" align="center" />
<el-table-column prop="externalMiningTypeValue" label="外采类型value" align="center" />
<el-table-column prop="purchasingUnitName" label="采购单位名称" align="center" />
<el-table-column prop="modelName" label="车型名称" align="center" />
<el-table-column prop="configName" label="常用配置名称" align="center" />
<el-table-column prop="purchasePrice" label="采购价格" align="center" />
<el-table-column prop="guidedPrice" label="销售指导价" align="center" />
<el-table-column prop="manufactorSettlementPrice" label="厂家合同价" align="center" />
<el-table-column prop="num" label="台数" align="center" />
<el-table-column prop="deposit" label="订金" align="center" />
<el-table-column prop="expenseName" label="费用名称" align="center" />
<el-table-column prop="totalExpenseAmount" label="费用金额合计" align="center" />
<el-table-column prop="orgSid" label="部门sid" align="center" />
<el-table-column width="50px" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column width="150px" label="操作" align="center" >
<template slot-scope="scope">
<el-button v-if="scope.row.nodeState==''" type="primary" size="mini" @click="edit(scope.row)">办理</el-button>
<el-button v-else type="info" size="mini">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button></template>
</el-table-column>
<el-table-column prop="applicationCode" width="130px;" label="申请编号" align="center" />
<el-table-column prop="nodeState" width="80px;" label="状态" align="center" >
<template slot-scope="scope">
<span v-if="scope.row.nodeState==''">待提交</span>
<span v-else >scope.row.nodeState</span>
</template>
</el-table-column>
<el-table-column prop="applicationDate" width="110px;" label="申请日期" 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>
</div>
<!-- End 项目列表 -->
@ -76,7 +76,7 @@
<!-- 详情部分组件 -->
<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>
</template>
@ -109,10 +109,13 @@ export default {
size: 10,
total: 0,
params: {
staffSid: window.sessionStorage.getItem('staffSid'),
sids: [], // SID
applicationCode: '', //
createByName: '', //
applicationDate: '', //
applicationStartDate:'',
applicationEndDate:'',
externalMiningTypeKey: '', // key
externalMiningTypeValue: '', // value
purchasingUnitSid: '', // sid
@ -168,19 +171,23 @@ export default {
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)
},
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)
},
edit(row) {
this.viewState = 3
this.$refs['divadd'].showEdit(row)
},
doSubmit(row) {
//
this.btndisabled = true
@ -316,9 +323,9 @@ export default {
return pageindex
},
toInfo(row) {
this.$refs['divinfo'].showInfo(row)
this.viewState = 4
}
this.$refs['divinfo'].showInfo(row)
}
}
}
</script>

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

@ -8,6 +8,7 @@
<!-- start 添加修改按钮 -->
<div>
<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>
</div>
<!-- end 添加修改按钮 -->
@ -19,183 +20,210 @@
<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>
<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"></el-form-item>
<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">张三</el-form-item>
<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"></el-form-item>
<el-form-item prop="applicationDate">{{formobj.applicationDate}}</el-form-item>
</el-col>
</el-row>
<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-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>
<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="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-row>
<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="modelSid"></el-form-item>
<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>
<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"></el-form-item>
<el-form-item prop="configName">{{formobj.configName}}</el-form-item>
</el-col>
</el-row>
<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 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 :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 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==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>
<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 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==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 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==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>
<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 v-model="formobj.deposit" placeholder="订金" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<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 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 :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 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-row>
<div class="listcon" v-show="formobj.externalMiningTypeKey==2">
<el-table v-loading="tableLoading" :data="formobj.baseOutsourcingApplicationVehicleDtos" border style="width: 100%" >
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column width="80px" label="操作" type="index" align="center" >
<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">
1235
<el-button type="danger" size="small" @click="deleteVehicle(scope.row)">删除</el-button>
</template>
</el-table-column>
<el-table-column prop="applicationCode" label="车架号" align="center" />
<el-table-column prop="vinNo" label="车架号" align="center" />
</el-table>
</div>
</el-form>
</div>
</div><!-- End 添加修改部分 -->
<!-- 车型配置分页列表 -->
<configuration v-show="viewState == 2" ref="divConfiguration" @doback="resetState"/>
<modellibrary v-show="viewState == 3" ref="modellibrary" @doback="resetState"/>
<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"
: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>
</template>
<script>
import configuration from '@/views/chexingchaxun/modelinquire/vehiclelibraryconfiguration.vue'
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:{
configuration,modellibrary
modellibrary,vehicle
},
data() {
return {
viewState:'1',
selectedSids:'',
vehicleDialogVisible: false,
dialogVisible: false,
viewState: '1',
submitdisabled: false,
viewTitle: '',
formobj: {
sid: '',
staffSid: window.sessionStorage.getItem('staffSid'),
applicationCode: '', //
createByName: '', //
createByName: window.sessionStorage.getItem('name'), //
applicationDate: '', //
externalMiningTypeKey: '1', // key
externalMiningTypeValue: '', // value
purchasingUnitSid: '', // sid
purchasingUnitName: '', //
modelSid: '', // sid
modelName: '', //
configName: '', //
configSid: '', // sid
purchasePrice: '', //
guidedPrice: '', //
manufactorSettlementPrice: '', //
num: '', //
num: '0', //
deposit: '', //
expenseName: '', //
totalExpenseAmount: '', //
orgSid: '', // sid
orgSid: '', // sid
baseOutsourcingApplicationVehicleDtos:[]
},
rules: {
applicationCode: [{ 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
externalMiningTypeValue: [{ required: true, message: '外采类型value不能为空', trigger: 'blur' }], // value
purchasingUnitSid: [{ required: true, message: '采购单位sid不能为空', trigger: 'blur' }], // sid
purchasingUnitName: [{ required: true, message: '采购单位名称不能为空', trigger: 'blur' }], //
modelSid: [{ required: true, message: '车型sid不能为空', trigger: 'blur' }], // sid
modelName: [{ required: true, message: '车型名称不能为空', trigger: 'blur' }], //
configName: [{ 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' }], //
@ -207,16 +235,65 @@ export default {
}
}
},
created() {},
created() {
},
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() {
this.viewState = 1
this.handReset()
},
selectModel(){
/* this.$router.push({ path: '/chexingchaxun/modelinquire/modellibrary' });*/
this.viewState = 3
this.$refs['modellibrary'].showData('123456');
/* 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')
@ -227,7 +304,6 @@ export default {
this.applicationDate = '' //
this.externalMiningTypeKey = '' // key
this.externalMiningTypeValue = '' // value
this.purchasingUnitSid = '' // sid
this.purchasingUnitName = '' //
this.modelSid = '' // sid
this.modelName = '' //
@ -238,8 +314,8 @@ export default {
this.num = '' //
this.deposit = '' //
this.expenseName = '' //
this.totalExpenseAmount = '' //
this.orgSid = '' // sid
this.totalExpenseAmount = '' // this.$store.getters.userInfo.orgSid,
this.orgSid = ''
this.$refs['form_obj'].resetFields()
this.$emit('doback')
@ -256,20 +332,17 @@ export default {
})
this.viewTitle = '【修改】外采申请表'
const _this = this
_this.formobj.sid = row.sid // SID
req
.fetchBySid(row.sid)
.then(resp => {
if (resp.sucess) {
if (resp.success) {
const vdata = resp.data
_this.formobj.id = vdata.id
_this.formobj.sid = vdata.sid // SID
_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 //
@ -281,7 +354,8 @@ export default {
_this.formobj.deposit = vdata.deposit //
_this.formobj.expenseName = vdata.expenseName //
_this.formobj.totalExpenseAmount = vdata.totalExpenseAmount //
_this.formobj.orgSid = vdata.orgSid // sid
_this.formobj.orgSid = vdata.orgSid // sid
_this.formobj.baseOutsourcingApplicationVehicleDtos = vdata.baseOutsourcingApplicationVehicleVos // sid
} else {
// resp.code
}
@ -290,9 +364,38 @@ export default {
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() {
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
@ -314,9 +417,42 @@ export default {
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></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 class="listconadd">
<el-form ref="form_obj" :model="formobj" label-position="right" class="formadd">
<div class="wlInfo"><span>外采申请表</span></div>
<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="4" 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="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="4" 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-row>
<el-row>
<el-col :span="4" class="tleftb">申请日期</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.applicationDate }}</span></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-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="4" 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="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="4" 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="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="4" class="tleftb">厂家合同价</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-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="4" class="tleftb">订金</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-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="4" class="tleftb">费用金额合计</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>
<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>
</el-row>
</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>
@ -95,22 +82,44 @@ export default {
name: 'BaseOutsourcingApplicationInfo',
data() {
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: {
handleReturn() {
this.formobj = {}
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.id = vdata.id
_this.formobj.sid = vdata.sid // SID
_this.formobj.applicationCode = vdata.applicationCode //
_this.formobj.createByName = vdata.createByName //
_this.formobj.applicationDate = vdata.applicationDate //
@ -122,13 +131,14 @@ export default {
_this.formobj.modelName = vdata.modelName //
_this.formobj.configName = vdata.configName //
_this.formobj.purchasePrice = vdata.purchasePrice //
_this.formobj.guidedPrice = vdata.guidedPrice //
_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 => {

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

@ -1,12 +1,10 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar view-title="外采申请车辆列表" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button>
<div v-show="isSearchShow" class="search">
<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-divider />
<div class="btn" style="text-align: center;">
@ -16,26 +14,43 @@
</el-form>
</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 项目列表 -->
<div class="listcon">
<el-table v-loading="tableLoading" :data="dataList" 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="SID" align="center">
<template slot-scope="scope">
<span class="bluezi" @click="toInfo(scope.row)">{{ scope.row.sid }}</span>
</template>
</el-table-column>
<el-table-column prop="outAppSid" label="外采申请单sid" align="center" />
<el-table-column prop="VIN" label="车架号" align="center" />
</el-table>
<el-table ref="multipleTable" :key="tableKey" v-loading="listLoading" :data="dataList" 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.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>
<!-- End 项目列表 -->
<div class="pages">
@ -51,13 +66,6 @@
/>
</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>
</template>
@ -66,31 +74,47 @@ import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplicationvehi
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './baseoutsourcingapplicationvehicleAdd'
import divInfo from './baseoutsourcingapplicationvehicleInfo'
export default {
name: 'BaseOutsourcingApplicationVehicleIndex',
components: {
ButtonBar,
Pagination,
pageye,
divAdd,
divInfo
pageye
},
props:{
selectedSids:{
type:String,
required:true
},
modelSid:{
type:String,
required:true
},
configSid:{
type:String,
required:true
}
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: true,
isSearchShow: false,
tableLoading: false,
dataList: [],
list: [],
tableKey:0,
listLoading: false,
sids: [],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
sids: [], // SID
modelSid:"",
configSid:"",
vehicleSid: "", // SID
outAppSid: '', // sid
VIN: '' //
}
@ -102,159 +126,28 @@ export default {
this.loadList()
},
methods: {
getSids(){
return this.multipleSelection;
},
resetState() {
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() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams.params = {}
this.queryParams.params.sid = '' // sid
this.queryParams.params.name = '' //
this.queryParams.params.vehicleSid = ''
this.queryParams.params.modelSid = ''
this.queryParams.params.configSid = ''
this.dosearch()
},
loadList() {
const _this = this
this.tableLoading = true
this.queryParams.params.vehicleSid = this.selectedSids
this.queryParams.params.modelSid = this.modelSid
this.queryParams.params.configSid = this.configSid
req
.listPage(this.queryParams)
.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) {
this.viewState = 5
this.$refs['divGuanLianPeiZhi'].showGuanlian(row.sid, row.modelName)
this.$refs['divGuanLianPeiZhi'].showGuanlian(row )
},
handleSelectionChange(row) {
const aa = []

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

@ -609,8 +609,6 @@
])
},
created() {
this.getList() //
this.getType()
},
methods: {
@ -623,12 +621,12 @@
this.searchxianshitit = '显示查询条件'
}
},
showGuanlian(modelSid, modelName) {
console.log('sid:', modelSid, 'name:', modelName)
this.setRelList.modelSid = modelSid
this.checkRelieve_list.modelSid = modelSid
// this.listQuery.params.modelSid = modelSid
this.title = modelName
showGuanlian(row) {
this.setRelList.modelSid = row.sid
this.checkRelieve_list.modelSid = row.sid
this.title = row.modelName
this.listQuery.params.modelSid = row.sid
this.getList() //
},
init() {
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()
},
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
const sid = this.sids[0]
const row = this.row

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

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

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

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

Loading…
Cancel
Save