Browse Source

增加车辆外采的前端功能页面

zhanglei
djz236 3 years ago
parent
commit
f48558feb8
  1. 59
      anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplication.js
  2. 59
      anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplicationvehicle.js
  3. 38
      anrui-scm/anrui-scm-ui/src/router/modules/codemenu-demo.js
  4. 16
      anrui-scm/anrui-scm-ui/src/router/modules/codemenu.js
  5. 325
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplication.vue
  6. 325
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue
  7. 142
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationInfo.vue
  8. 291
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationvehicle.vue
  9. 133
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationvehicleAdd.vue
  10. 62
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationvehicleInfo.vue

59
anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplication.js

@ -0,0 +1,59 @@
import request from '@/utils/request'
// 外采申请表
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/base/baseoutsourcingapplication/listPage',
method: 'post',
data: params
})
},
// 保存新增记录
saveOrUpdate: function(params) {
return request({
url: '/base/baseoutsourcingapplication/save',
method: 'post',
data: params
})
},
// 通过sid删除一条或多条记录
delBySids: function(params) {
return request({
url: '/base/baseoutsourcingapplication/delBySids',
method: 'delete',
data: params
})
},
// 通过sid查询一条记录
fetchBySid: function(sid) {
return request({
url: '/base/v1/baseoutsourcingapplication/fetchDetailsBySid/' + sid
})
},
// 提交
doSubmit: function(params) {
return request({
url: '/base/v1/baseoutsourcingapplication/doSubmit',
method: 'post',
data: params
})
},
// 导入
importExcel: function(params) {
return request({
url: '/base/v1/baseoutsourcingapplication/importExcel',
method: 'post',
data: params
})
},
// 导出
exportExcel: function(params) {
return request({
url: '/base/v1/baseoutsourcingapplication/exportExcel',
method: 'post',
data: params
})
}
}

59
anrui-scm/anrui-scm-ui/src/api/baseoutsourcingapplication/baseoutsourcingapplicationvehicle.js

@ -0,0 +1,59 @@
import request from '@/utils/request'
// 外采申请车辆列表
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/base/v1/baseoutsourcingapplicationvehicle/listPage',
method: 'post',
data: params
})
},
// 保存新增记录
saveOrUpdate: function(params) {
return request({
url: '/base/v1/baseoutsourcingapplicationvehicle/save',
method: 'post',
data: params
})
},
// 通过sid删除一条或多条记录
delBySids: function(params) {
return request({
url: '/base/v1/baseoutsourcingapplicationvehicle/delBySids',
method: 'delete',
data: params
})
},
// 通过sid查询一条记录
fetchBySid: function(sid) {
return request({
url: '/base/v1/baseoutsourcingapplicationvehicle/fetchDetailsBySid/' + sid
})
},
// 提交
doSubmit: function(params) {
return request({
url: '/base/v1/baseoutsourcingapplicationvehicle/doSubmit',
method: 'post',
data: params
})
},
// 导入
importExcel: function(params) {
return request({
url: '/base/v1/baseoutsourcingapplicationvehicle/importExcel',
method: 'post',
data: params
})
},
// 导出
exportExcel: function(params) {
return request({
url: '/base/v1/baseoutsourcingapplicationvehicle/exportExcel',
method: 'post',
data: params
})
}
}

38
anrui-scm/anrui-scm-ui/src/router/modules/codemenu-demo.js

@ -1,38 +0,0 @@
import Layout from '@/layout'
const codemenu = [{
path: '/zifangxinxi',
component: Layout,
redirect: '/zifangxinxi',
meta: {
title: '资方信息'
},
children: [{
path: '/zifangxinxi/zifangxinxi',
component: () =>
import('@/views/zifang/zifangxinxi/zifangxinxi.vue'),
name: 'zifangxinxi',
meta: {
title: '资方信息'
}
}]
},
{
path: '/zifangzhengce',
component: Layout,
redirect: '/zifangzhengce',
meta: {
title: '资方政策'
},
children: [{
path: '/zifangzhengce/zifangzhengce',
component: () =>
import('@/views/zifang/zifangzhengce/zifangzhengce.vue'),
name: 'zifangzhengce',
meta: {
title: '资方政策'
}
}]
}
]
export default codemenu

16
anrui-scm/anrui-scm-ui/src/router/modules/codemenu.js

@ -278,6 +278,22 @@ const codemenu = [
}
]
},
{
path: '/baseoutsourcingapplication',
component: Layout,
// redirect: '/baseoutsourcingapplication/index',
meta: {
title: '车辆外采'
},
children: [
{
path: '/baseoutsourcingapplication/index',
component: () => import('@/views/baseoutsourcingapplication/baseoutsourcingapplication.vue'),
name: 'baseoutsourcingapplication',
meta: {title: '车辆外采'}
}
]
},
// 流程审批
// 采购退库驳回到发起人办理编辑页面

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

@ -0,0 +1,325 @@
<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="申请编号"><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-divider />
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="dosearch">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
</div>
</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 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>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
</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>
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import divAdd from './baseoutsourcingapplicationAdd'
import divInfo from './baseoutsourcingapplicationInfo'
export default {
name: 'BaseOutsourcingApplicationIndex',
components: {
ButtonBar,
Pagination,
pageye,
divAdd,
divInfo
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
tableLoading: false,
dataList: [],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
sids: [], // SID
applicationCode: '', //
createByName: '', //
applicationDate: '', //
externalMiningTypeKey: '', // key
externalMiningTypeValue: '', // value
purchasingUnitSid: '', // sid
purchasingUnitName: '', //
modelSid: '', // sid
modelName: '', //
configName: '', //
purchasePrice: '', //
guidedPrice: '', //
manufactorSettlementPrice: '', //
num: '', //
deposit: '', //
expenseName: '', //
totalExpenseAmount: '', //
orgSid: '' // sid
}
},
multipleSelection: []
}
},
created() {
this.loadList()
},
methods: {
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.dosearch()
},
loadList() {
const _this = this
this.tableLoading = true
req
.listPage(this.queryParams)
.then(resp => {
_this.tableLoading = false
if (resp.success) {
const data = resp.data
_this.queryParams.total = data.total
_this.dataList = data.records
} else {
// resp.code
}
})
.catch(() => {
_this.tableLoading = false
})
},
handleSelectionChange(val) {
this.multipleSelection = val
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
toInfo(row) {
this.$refs['divinfo'].showInfo(row)
this.viewState = 4
}
}
}
</script>
<style scoped>
</style>

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

@ -0,0 +1,325 @@
<template>
<div>
<!-- 标题按钮部分开始 -->
<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="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"><span>外采申请表</span></div>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>申请编号</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="applicationCode"><el-input v-model="formobj.applicationCode" placeholder="申请编号" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>申请人姓名</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="createByName"><el-input v-model="formobj.createByName" placeholder="申请人姓名" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>申请日期</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="applicationDate"><el-input v-model="formobj.applicationDate" placeholder="申请日期" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>外采类型key</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="externalMiningTypeKey"><el-input v-model="formobj.externalMiningTypeKey" placeholder="外采类型key" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>外采类型value</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="externalMiningTypeValue"><el-input v-model="formobj.externalMiningTypeValue" placeholder="外采类型value" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>采购单位sid</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="purchasingUnitSid"><el-input v-model="formobj.purchasingUnitSid" placeholder="采购单位sid" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>采购单位名称</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="purchasingUnitName"><el-input v-model="formobj.purchasingUnitName" placeholder="采购单位名称" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>车型sid</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="modelSid"><el-input v-model="formobj.modelSid" placeholder="车型sid" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>车型名称</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="modelName"><el-input v-model="formobj.modelName" placeholder="车型名称" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>常用配置名称</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="configName"><el-input v-model="formobj.configName" placeholder="常用配置名称" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>采购价格</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="purchasePrice"><el-input v-model="formobj.purchasePrice" placeholder="采购价格" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>销售指导价</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="guidedPrice"><el-input v-model="formobj.guidedPrice" placeholder="销售指导价" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>厂家合同价</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="manufactorSettlementPrice"><el-input v-model="formobj.manufactorSettlementPrice" placeholder="厂家合同价" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>台数</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="num"><el-input v-model="formobj.num" placeholder="台数" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>订金</span>
</el-col>
<el-col :span="8" 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-col :span="4" class="tleftb">
<span><span class="icon">*</span>费用名称</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="expenseName"><el-input v-model="formobj.expenseName" placeholder="费用名称" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>费用金额合计</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="totalExpenseAmount"><el-input v-model="formobj.totalExpenseAmount" placeholder="费用金额合计" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>部门sid</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="orgSid"><el-input v-model="formobj.orgSid" placeholder="部门sid" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- End 添加修改部分 -->
</div>
</template>
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication'
export default {
name: 'BaseOutsourcingApplicationAdd',
data() {
return {
submitdisabled: false,
viewTitle: '',
formobj: {
id: '',
sid: '',
applicationCode: '', //
createByName: '', //
applicationDate: '', //
externalMiningTypeKey: '', // key
externalMiningTypeValue: '', // value
purchasingUnitSid: '', // sid
purchasingUnitName: '', //
modelSid: '', // sid
modelName: '', //
configName: '', //
purchasePrice: '', //
guidedPrice: '', //
manufactorSettlementPrice: '', //
num: '', //
deposit: '', //
expenseName: '', //
totalExpenseAmount: '', //
orgSid: '' // sid
},
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' }], //
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: {
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.purchasingUnitSid = '' // sid
this.purchasingUnitName = '' //
this.modelSid = '' // sid
this.modelName = '' //
this.configName = '' //
this.purchasePrice = '' //
this.guidedPrice = '' //
this.manufactorSettlementPrice = '' //
this.num = '' //
this.deposit = '' //
this.expenseName = '' //
this.totalExpenseAmount = '' //
this.orgSid = '' // sid
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
req
.fetchBySid(row.sid)
.then(resp => {
if (resp.sucess) {
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 //
_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
} else {
// resp.code
}
})
.catch(e => {
this.formobj = row
})
},
saveOrUpdate() {
const _this = this
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
}
})
}
}
}
</script>
<style scoped></style>

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

@ -0,0 +1,142 @@
<template>
<div>
<!-- 标题按钮部分开始 -->
<div class="tab-header webtop">
<!-- 标题 -->
<div>外采申请表详情</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"><span>外采申请表</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-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-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-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-row>
<el-row>
<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-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-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-form>
</div>
</div>
</template>
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication'
export default {
name: 'BaseOutsourcingApplicationInfo',
data() {
return {
formobj: {}
}
},
methods: {
handleReturn() {
this.formobj = {}
this.$emit('doback')
},
showInfo(row) {
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 //
_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
}
})
.catch(e => {
_this.formobj = row
})
}
}
}
</script>
<style scoped></style>

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

@ -0,0 +1,291 @@
<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;">
<el-button type="primary" @click="dosearch">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
</div>
</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>
</div>
<!-- End 项目列表 -->
<div class="pages">
<div class="tit" />
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
</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>
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplicationvehicle'
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
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: true,
tableLoading: false,
dataList: [],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
sids: [], // SID
outAppSid: '', // sid
VIN: '' //
}
},
multipleSelection: []
}
},
created() {
this.loadList()
},
methods: {
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.dosearch()
},
loadList() {
const _this = this
this.tableLoading = true
req
.listPage(this.queryParams)
.then(resp => {
_this.tableLoading = false
if (resp.success) {
const data = resp.data
_this.queryParams.total = data.total
_this.dataList = data.records
} else {
// resp.code
}
})
.catch(() => {
_this.tableLoading = false
})
},
handleSelectionChange(val) {
this.multipleSelection = val
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
toInfo(row) {
this.$refs['divinfo'].showInfo(row)
this.viewState = 4
}
}
}
</script>
<style scoped>
</style>

133
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationvehicleAdd.vue

@ -0,0 +1,133 @@
<template>
<div>
<!-- 标题按钮部分开始 -->
<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="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"><span>外采申请车辆列表</span></div>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>外采申请单sid</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="outAppSid"><el-input v-model="formobj.outAppSid" placeholder="外采申请单sid" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="tleftb">
<span><span class="icon">*</span>车架号</span>
</el-col>
<el-col :span="8" class="trightb">
<el-form-item prop="VIN"><el-input v-model="formobj.VIN" placeholder="车架号" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- End 添加修改部分 -->
</div>
</template>
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplicationvehicle'
export default {
name: 'BaseOutsourcingApplicationVehicleAdd',
data() {
return {
submitdisabled: false,
viewTitle: '',
formobj: {
id: '',
sid: '',
outAppSid: '', // sid
VIN: '' //
},
rules: {
outAppSid: [{ required: true, message: '外采申请单sid不能为空', trigger: 'blur' }], // sid
VIN: [{ required: true, message: '车架号不能为空', trigger: 'blur' }] //
}
}
},
created() {},
methods: {
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj.id = ''
this.formobj.sid = '' // SID
this.outAppSid = '' // sid
this.VIN = '' //
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
req
.fetchBySid(row.sid)
.then(resp => {
if (resp.sucess) {
const vdata = resp.data
_this.formobj.id = vdata.id
_this.formobj.sid = vdata.sid // SID
_this.formobj.outAppSid = vdata.outAppSid // sid
_this.formobj.VIN = vdata.VIN //
} else {
// resp.code
}
})
.catch(e => {
this.formobj = row
})
},
saveOrUpdate() {
const _this = this
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
}
})
}
}
}
</script>
<style scoped></style>

62
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationvehicleInfo.vue

@ -0,0 +1,62 @@
<template>
<div>
<!-- 标题按钮部分开始 -->
<div class="tab-header webtop">
<!-- 标题 -->
<div>外采申请车辆列表详情</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"><span>外采申请车辆列表</span></div>
<el-row>
<el-col :span="4" class="tleftb">外采申请单sid</el-col>
<el-col :span="8" class="trightb"><el-form-item prop="useOrg"><span>{{ formobj.outAppSid }}</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.VIN }}</span></el-form-item></el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplicationvehicle'
export default {
name: 'BaseOutsourcingApplicationVehicleInfo',
data() {
return {
formobj: {}
}
},
methods: {
handleReturn() {
this.formobj = {}
this.$emit('doback')
},
showInfo(row) {
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.outAppSid = vdata.outAppSid // sid
_this.formobj.VIN = vdata.VIN //
}
})
.catch(e => {
_this.formobj = row
})
}
}
}
</script>
<style scoped></style>
Loading…
Cancel
Save