Browse Source

6.20

master
fengdong777 2 years ago
parent
commit
6160746b41
  1. 2
      supervise-risk-ui/.env.development
  2. 34
      supervise-risk-ui/src/api/Risk/index.js
  3. 20
      supervise-risk-ui/src/layout/components/Sidebar/index.vue
  4. 36
      supervise-risk-ui/src/router/modules/codemenu.js
  5. 79
      supervise-risk-ui/src/views/risk/RiskManage/RiskAdd.vue
  6. 7
      supervise-risk-ui/src/views/risk/RiskManage/RiskIndex.vue
  7. 2
      supervise-risk-ui/src/views/risk/RiskManage/RiskSet.vue
  8. 2
      supervise-risk-ui/src/views/risk/RiskManage/category.vue
  9. 329
      supervise-risk-ui/src/views/risk/bjzx.vue
  10. 338
      supervise-risk-ui/src/views/risk/riskCljl.vue
  11. 307
      warehousing-system/project_web/src/components/instorehouse/purchase.vue

2
supervise-risk-ui/.env.development

@ -5,5 +5,5 @@ ENV = 'development'
VUE_APP_BASE_API = '/api'
## 配置测试和本地开发时的 接口地址
VUE_APP_URL = "http://192.168.1.105:8001"
VUE_APP_URL = "http://192.168.1.107:7007"
##VUE_APP_URL = "http://120.46.172.184:8111"

34
supervise-risk-ui/src/api/Risk/index.js

@ -89,7 +89,7 @@ export default {
})
},
// 查询分页列表
// 查询风险指标分页列表
riskIndicatorsListPage: function(params) {
return request({
url: '/v1/riskIndicators/listPage',
@ -97,4 +97,36 @@ export default {
data: params
})
},
// 通过sid删除风险指标的数据
riskIndicatorsDel: function(sid) {
return request({
url: '/v1/riskIndicators/del/' + sid,
method: 'get',
})
},
// 查询报警分页列表
riskAlarmListPage: function(params) {
return request({
url: '/v1/riskAlarm/listPage',
method: 'post',
data: params
})
},
// 报警中心的处理接口
saveRiskAlarmTreatment: function(params) {
return request({
url: '/v1/riskAlarmTreatment/saveRiskAlarmTreatment',
method: 'post',
data: params
})
},
// 查询记录列表
riskAlarmTreatmentListPage: function(params) {
return request({
url: '/v1/riskAlarmTreatment/listPage',
method: 'post',
data: params
})
},
}

20
supervise-risk-ui/src/layout/components/Sidebar/index.vue

@ -76,6 +76,26 @@
]
},
{
alwaysShow: true,
component: "RiskBjzx",
meta: {
icon: "el-icon-menu",
title: "报警中心",
},
name: "/bjzx/index",
path: "/bjzx/index",
},
{
alwaysShow: true,
component: "riskCljl",
meta: {
icon: "el-icon-menu",
title: "报警消息记录",
},
name: "/riskCljl/index",
path: "/riskCljl/index",
}
],
params: {
sourceSid: 'ff05fef5-3f6d-4712-9c41-b5b661a8dd02',

36
supervise-risk-ui/src/router/modules/codemenu.js

@ -104,5 +104,39 @@ const codemenu = [{
noCache: true
}
}]
}]
}, {
path: '/riskbjzx',
component: Layout,
redirect: '/bjzx/index',
meta: {
title: '报警中心'
},
children: [{
path: '/bjzx/index',
component: () => import('@/views/risk/bjzx.vue'),
name: 'RiskBjzx',
meta: {
title: '报警中心',
noCache: true
}
}]
},{
path: '/riskCljl',
component: Layout,
redirect: '/riskCljl/index',
meta: {
title: '报警消息记录'
},
children: [{
path: '/riskCljl/index',
component: () => import('@/views/risk/riskCljl.vue'),
name: 'riskCljl',
meta: {
title: '报警消息记录',
noCache: true
}
}]
},
]
export default codemenu

79
supervise-risk-ui/src/views/risk/RiskManage/RiskAdd.vue

@ -29,10 +29,10 @@
<div class="item" >
<span class="item_text">风险程度</span>
<el-select
v-model="formobj.levelSid"
v-model="formobj.levelName"
class="item_input"
placeholder="请选择风险等级名称"
@change="getType"
@change="getType"
>
<el-option
v-for="(item, i) in arrList"
@ -42,13 +42,13 @@
/>
</el-select>
</div>
<div class="item" >
<div class="item" >
<span class="item_text">风险类别</span>
<el-cascader ref="cascaderAddr" :options="options" :props="optionProps" v-model="selectedOptions" :show-all-levels="false" @change="handleChange3" class="item_input"></el-cascader>
</div>
<div class="item">
<span class="item_text">指标说明</span>
<el-input v-model="formobj.content" placeholder="分类说明" class="item_input" clearable />
<el-input v-model="formobj.content" placeholder="分类说明" class="item_input" clearable />
</div>
<div class="item" >
<span class="item_text">报送单位</span>
@ -97,13 +97,13 @@ export default {
code: '',
content: '',
levelSid: '',
levelCode: '',
levelCode: '',
levelName: '',
typeCode:'',
typeName:'',
typeSid:'',
remarks:'',
reportTarget:''
remarks:'',
reportTarget:''
},
rules: {
name: [{ required: true, message: '风险等级名称不能为空', trigger: 'blur' }],
@ -111,14 +111,14 @@ export default {
content: [{ required: true, message: '分类说明不能为空', trigger: 'blur' }],
reportTarget: [{ required: true, message: '报送单位不能为空', trigger: 'blur' }],
},
optionProps: {
optionProps: {
value: 'code',
label: 'name',
children: 'down',
expandTrigger: 'hover',
},
plable: [{value:1,type:'监管公司'},{value:2,type:'贷款支行'},{value:3,type:'总行'}],
selectedOptions: [], //
plable: [{value:1,type:'监管公司'},{value:2,type:'贷款支行'},{value:3,type:'总行'}],
selectedOptions: [], //
}
},
created() {
@ -136,10 +136,10 @@ export default {
this.formobj.levelCode= ''
this.formobj.levelName= ''
this.formobj.typeCode='',
this.formobj.typeName='',
this.formobj.typeSid='',
this.formobj.remarks='',
this.formobj.reportTarget='',
this.formobj.typeName='',
this.formobj.typeSid='',
this.formobj.remarks='',
this.formobj.reportTarget='',
this.$refs['form_obj'].resetFields()
this.$emit('doback')
@ -164,12 +164,23 @@ export default {
_this.formobj.name = vdata.name
_this.formobj.code = vdata.code
_this.formobj.content = vdata.content
_this.formobj.hierarchy = vdata.hierarchy
_this.formobj.parentName = vdata.parentName
_this.formobj.parentSid = vdata.parentSid
_this.formobj.levelName = vdata.levelName
_this.formobj.levelSid = vdata.levelSid
_this.formobj.levelCode = vdata.levelCode
_this.formobj.typeName = vdata.typeName
_this.formobj.typeSid = vdata.typeSid
_this.formobj.typeCode = vdata.typeCode
_this.formobj.reportTarget = vdata.reportTarget
_this.formobj.remarks = vdata.remarks
},
saveOrUpdate() {
if(this.formobj.reportTarget==='监管公司'){
this.formobj.reportTarget===1
}else if(this.formobj.reportTarget==='贷款支行'){
this.formobj.reportTarget===2
}else{
this.formobj.reportTarget===3
}
req
.saveRiskIndicator(this.formobj)
.then(resp => {
@ -187,38 +198,38 @@ export default {
req
.selectRiskLevel()
.then(resp => {
if(resp.code==200){
this.arrLists=resp.data
if(resp.code==200){
this.arrLists=resp.data
for (var i = 0; i < this.arrLists.length; i++) {
let item = {
name: this.arrLists[i].name,
sid: this.arrLists[i].sid,
}
this.arrList.push(item)
}
}
let item = {
name: this.arrLists[i].name,
sid: this.arrLists[i].sid,
}
this.arrList.push(item)
}
}
})
},
selectTypes(){
req
.selectType()
.then(resp => {
if(resp.code==200){
this.options=resp.data
}
if(resp.code==200){
this.options=resp.data
}
})
},
getType(value) {
const choose = this.arrLists.filter((item) => item.sid === value)
this.formobj.levelName = choose[0].name
this.formobj.levelName = value
this.formobj.levelCode = choose[0].code
this.formobj.levelSid = value
this.formobj.levelSid = choose[0].sid
},
handleChange3(value) {
var getSId = this.$refs.cascaderAddr.getCheckedNodes()[0].data.sid
this.formobj.typeSid=getSId
var getSId = this.$refs.cascaderAddr.getCheckedNodes()[0].data.sid
this.formobj.typeSid=getSId
var thsAreaCode = this.$refs.cascaderAddr.getCheckedNodes()[0].pathLabels; //2 label
var len=value.length-1;
var lens=thsAreaCode.length-1;

7
supervise-risk-ui/src/views/risk/RiskManage/RiskIndex.vue

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="风险类别查询" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<button-bar ref="btnbar" view-title="风险指标" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button>
@ -42,9 +42,6 @@
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top">
<i class="el-icon-delete" @click="doDel(scope.row)"></i>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="查看二级" placement="top-start">
<i class="el-icon-notebook-2" @click="purchase(scope.row)"></i>
</el-tooltip>
</template>
</el-table-column>
@ -191,7 +188,7 @@ export default {
})
.then(() => {
req
.delriskType(sids)
.riskIndicatorsDel(sids)
.then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })

2
supervise-risk-ui/src/views/risk/RiskManage/RiskSet.vue

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="风险等级查询" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<button-bar ref="btnbar" view-title="风险等级" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button>

2
supervise-risk-ui/src/views/risk/RiskManage/category.vue

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="风险类别查询" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<button-bar ref="btnbar" view-title="风险类别" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button>

329
supervise-risk-ui/src/views/risk/bjzx.vue

@ -0,0 +1,329 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="工商风险" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="queryParams" :inline="true" :model="queryParams" class="tab-header">
<el-form-item label="审核状态">
<el-input v-model="queryParams.params.createSid" placeholder="" clearable />
</el-form-item>
<el-form-item label="订单编号">
<el-input v-model="queryParams.params.modifySid" placeholder="" clearable />
</el-form-item>
<el-form-item label="填单人">
<el-input v-model="queryParams.params.buyerName" placeholder="" clearable />
</el-form-item>
<el-form-item label="填单日期">
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
<el-form-item label="供应商名称">
<el-input v-model="queryParams.params.contacts" placeholder="" clearable />
</el-form-item>
<el-form-item label="要货单位">
<el-input v-model="queryParams.params.telephone" placeholder="" clearable />
</el-form-item>
<el-form-item label="完成状态">
<el-select v-model="queryParams.params.completionStatusKey" filterable placeholder="请选择" clearable>
<el-option v-for="item in state_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
</el-select>
</el-form-item>
<el-form-item label="到货日期">
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">工商风险列表</div>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column fixed width="50" type="selection" align="center" />
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="indicatorName" label="指标名称" align="center" />
<el-table-column prop="levelName" label="等级名称" align="center" width="150" />
<el-table-column prop="bigTypeName" label="风险类别" align="center" width="120" />
<el-table-column prop="typeName" label="风险小类" align="center" width="120" />
<el-table-column prop="treatmentStatus" label="处理状态" align="center" width="300" >
<template slot-scope="scope">
<div class="info-sex">
<el-radio-group v-model="scope.row.treatmentStatus">
<el-radio :disabled="scope.row.treatmentStatus !== '' && scope.row.treatmentStatus !== 0" :label="0">待处理</el-radio>
<el-radio :disabled="scope.row.treatmentStatus !== '' && scope.row.treatmentStatus !== 1" :label="1">处理中</el-radio>
<el-radio :disabled="scope.row.treatmentStatus !== '' && scope.row.treatmentStatus !== 2" :label="2">已办结</el-radio>
</el-radio-group>
</div>
</template>
</el-table-column>
<el-table-column width="250" label="操作" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">处理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">上报</el-button>
</template>
</el-table-column>
</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" @pagination="loadList" />
</div>
</div>
</div>
<!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 -->
<!-- <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList"/>
<divInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" /> -->
</div>
</template>
<script>
import req from '@/api/Risk/index.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
export default {
name: 'RiskGsfx',
components: {
ButtonBar,
Pagination,
pageye
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
radio: 3,
sexRadio: 1,
state_list: [
{
dictKey: 0,
dictValue: '未完成'
}
],
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
}
},
sids: [],
formobj:{
remarks:'',
riskAlarmSid:'',
treatmentStatus:'',
treatmentContent:'222',
treatmentTime:new Date(),
userSid:'101',
userName:'王二牛',
userPhone:'13895748951',
}
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.riskAlarmListPage(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
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
code: '',
buyerName: '',
purchaseDateStart: '',
purchaseDateEnd: '',
supplierName: '',
purchasingDeptName: '',
arrivalDateStart: '',
arrivalDateEnd: '',
completionStatusKey: ''
}
}
this.loadList()
},
toEdit(row){
this.formobj.remarks=row.remarks
this.formobj.riskAlarmSid=row.sid
this.formobj.treatmentStatus=row.treatmentStatus
req.saveRiskAlarmTreatment(this.formobj).then((resp) => {
if (resp.code==200) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
this.loadList()
} else {
// resp.code
}
})
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.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(this.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(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped lang="scss">
.info-sex {
::v-deep.el-radio__input.is-checked .el-radio__inner {
border-color: #48d18a;
background-color: #fff;
}
::v-deep.el-radio__input.is-checked + .el-radio__label {
color: #424346;
}
::v-deep.el-radio__input.is-checked .el-radio__inner:after {
transform: rotate(45deg) scaleY(1);
}
::v-deep.el-radio__label {
color: #80838a;
}
::v-deep.el-radio__inner::after {
box-sizing: content-box;
content: "";
border: 1px solid #48d18a;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
position: absolute;
top: 1px;
transform: rotate(45deg) scaleY(0);
width: 3px;
transition: transform 0.15s ease-in 0.05s;
transform-origin: center;
border-radius: unset;
background-color: transparent;
}
}
</style>

338
supervise-risk-ui/src/views/risk/riskCljl.vue

@ -0,0 +1,338 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar ref="btnbar" view-title="报警消息记录" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">
{{ searchxianshitit }}
</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="queryParams" :inline="true" :model="queryParams" class="tab-header">
<el-form-item label="审核状态">
<el-input v-model="queryParams.params.createSid" placeholder="" clearable />
</el-form-item>
<el-form-item label="订单编号">
<el-input v-model="queryParams.params.modifySid" placeholder="" clearable />
</el-form-item>
<el-form-item label="填单人">
<el-input v-model="queryParams.params.buyerName" placeholder="" clearable />
</el-form-item>
<el-form-item label="填单日期">
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
<el-form-item label="供应商名称">
<el-input v-model="queryParams.params.contacts" placeholder="" clearable />
</el-form-item>
<el-form-item label="要货单位">
<el-input v-model="queryParams.params.telephone" placeholder="" clearable />
</el-form-item>
<el-form-item label="完成状态">
<el-select v-model="queryParams.params.completionStatusKey" filterable placeholder="请选择" clearable>
<el-option v-for="item in state_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
</el-select>
</el-form-item>
<el-form-item label="到货日期">
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
<span style="padding: 0 8px"></span>
<el-date-picker v-model="queryParams.params.applyStartDate" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期" />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" size="small" icon="el-icon-search" @click="dosearch">查询</el-button>
<el-button type="primary" size="small" icon="el-icon-refresh" @click="resetQuery">重置</el-button>
</div>
</div>
</div>
<!-- Start 项目列表头部 -->
<div class="listtop">
<div class="tit">工商风险列表</div>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList" />
</div>
<!-- End 项目列表头部 -->
<!-- Start 项目列表 -->
<div class="">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%">
<el-table-column fixed width="60" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column prop="treatmentContent" width="120" label="处理内容" align="center" />
<el-table-column prop="positionName" width="180" label="风险处理位置名称" align="center" />
<el-table-column prop="triggerTime" width="160" label="风险触发时间" align="center" />
<el-table-column prop="typeName" width="150" label="风险类别名称" align="center" />
<el-table-column prop="treatmentTime" width="150" :formatter="formatDate" label="处理时间" align="center"/>
<el-table-column prop="userName" label="处理人姓名" width="120" align="center" />
<el-table-column prop="userPhone" label="处理人电话" align="center" width="150" />
<el-table-column prop="remarks" label="处理说明" align="center" width="150" />
<el-table-column prop="treatmentStatus" label="处理状态" align="center" width="280" fixed="right">
<template slot-scope="scope">
<div class="info-sex">
<el-radio-group v-model="scope.row.treatmentStatus">
<el-radio :disabled="scope.row.treatmentStatus !== '' && scope.row.treatmentStatus !== 0" :label="0">待处理</el-radio>
<el-radio :disabled="scope.row.treatmentStatus !== '' && scope.row.treatmentStatus !== 1" :label="1">处理中</el-radio>
<el-radio :disabled="scope.row.treatmentStatus !== '' && scope.row.treatmentStatus !== 2" :label="2">已办结</el-radio>
</el-radio-group>
</div>
</template>
</el-table-column>
</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" @pagination="loadList" />
</div>
</div>
</div>
<!-- End 查询和其列表部分 -->
<!-- 新增修改部分组件 -->
<!-- <divAdd v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList"/>
<divInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" /> -->
</div>
</template>
<script>
import req from '@/api/Risk/index.js'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
export default {
name: 'RiskGsfx',
components: {
ButtonBar,
Pagination,
pageye
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [],
radio: 3,
sexRadio: 1,
state_list: [
{
dictKey: 0,
dictValue: '未完成'
}
],
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
}
},
sids: [],
formobj:{
remarks:'',
riskAlarmSid:'',
treatmentStatus:'',
treatmentContent:'222',
treatmentTime:new Date(),
userSid:'101',
userName:'王二牛',
userPhone:'13895748951',
}
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
this.tableLoading = true
req.riskAlarmTreatmentListPage(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
this.dataList = []
this.queryParams.total = 0
}
}).catch(() => {
this.tableLoading = false
})
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
code: '',
buyerName: '',
purchaseDateStart: '',
purchaseDateEnd: '',
supplierName: '',
purchasingDeptName: '',
arrivalDateStart: '',
arrivalDateEnd: '',
completionStatusKey: ''
}
}
this.loadList()
},
toEdit(row){
this.formobj.remarks=row.remarks
this.formobj.riskAlarmSid=row.sid
this.formobj.treatmentStatus=row.treatmentStatus
req.saveRiskAlarmTreatment(this.formobj).then((resp) => {
if (resp.code==200) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
this.loadList()
} else {
// resp.code
}
})
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.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(this.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(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
formatDate(cellValue) {
let treatmentTime=cellValue.treatmentTime
if (treatmentTime == null || treatmentTime == "") return "";
var date = new Date(treatmentTime)
var year = date.getFullYear()
var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
}
}
}
</script>
<style scoped lang="scss">
.info-sex {
::v-deep.el-radio__input.is-checked .el-radio__inner {
border-color: #48d18a;
background-color: #fff;
}
::v-deep.el-radio__input.is-checked + .el-radio__label {
color: #424346;
}
::v-deep.el-radio__input.is-checked .el-radio__inner:after {
transform: rotate(45deg) scaleY(1);
}
::v-deep.el-radio__label {
color: #80838a;
}
::v-deep.el-radio__inner::after {
box-sizing: content-box;
content: "";
border: 1px solid #48d18a;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
position: absolute;
top: 1px;
transform: rotate(45deg) scaleY(0);
width: 3px;
transition: transform 0.15s ease-in 0.05s;
transform-origin: center;
border-radius: unset;
background-color: transparent;
}
}
</style>

307
warehousing-system/project_web/src/components/instorehouse/purchase.vue

@ -13,7 +13,7 @@
<el-button type="danger" @click="cancel" icon = "el-icon-error">撤销审核</el-button>
</el-col>
</el-row>
<el-table :data="purchaseList.slice((queryInfo.pageNum-1)*queryInfo.pageSize,queryInfo.pageNum*queryInfo.pageSize)"
<el-table :data="purchaseList.slice((queryInfo.current-1)*queryInfo.size,queryInfo.current*queryInfo.size)"
style="width: 100%"
stripe
border
@ -26,32 +26,32 @@
width="55">
</el-table-column>
<el-table-column
prop="purchaseId"
label="采购订单编号"
prop="custName"
label="客户名称"
width="180">
</el-table-column>
<el-table-column
prop="product"
label="商品名称"
prop="purchaseNo"
label="订单编号"
width="180">
</el-table-column>
<el-table-column
prop="barCode"
label="商品条码"
prop="purchaseDate"
label="订单日期"
width="180">
</el-table-column>
<el-table-column
prop="supplier"
prop="supplierName"
label="供应商名称"
width="180">
</el-table-column>
<el-table-column
prop="count"
label="商品总数量"
prop="purchasePerson"
label="采购申请人"
width="180">
</el-table-column>
<el-table-column
prop="storehouse"
prop="storehouseName"
label="仓库名称"
width="180">
</el-table-column>
@ -76,9 +76,9 @@
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="queryInfo.pageNum"
:current-page="queryInfo.current"
:page-sizes="[10, 20, 30, 40]"
:page-size="queryInfo.pageSize"
:page-size="queryInfo.size"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
@ -147,7 +147,7 @@
<el-col :span="4">
<el-form-item class="trightb_item">
<!-- <span>{{temp.bankName}}</span> -->
<el-input v-model="purchaseForm.orderNumber" placeholder="" clearable />
<el-input v-model="purchaseForm.purchaseDate" placeholder="" clearable />
</el-form-item>
</el-col>
<el-col :span="3" class="trightb">
@ -156,8 +156,8 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item class="trightb_item" prop="purchaseId">
<el-input :disabled="true" v-model="purchaseForm.purchaseId"></el-input>
<el-form-item class="trightb_item" prop="purchaseNo">
<el-input :disabled="true" v-model="purchaseForm.purchaseNo"></el-input>
</el-form-item>
</el-col>
<el-col :span="3" class="trightb">
@ -167,7 +167,7 @@
</el-col>
<el-col :span="5">
<el-form-item prop="supplier" class="trightb_item">
<el-select v-model="purchaseForm.supplier" placeholder="请选择" >
<el-select v-model="purchaseForm.supplierName" placeholder="请选择" >
<el-option
v-for="supplier in supplierList"
:key="supplier.name"
@ -186,7 +186,7 @@
</el-col>
<el-col :span="4">
<el-form-item class="trightb_item">
<el-input v-model="purchaseForm.propr" placeholder="采购申请人" clearable />
<el-input v-model="purchaseForm.purchasePerson" placeholder="采购申请人" clearable />
</el-form-item>
</el-col>
@ -197,12 +197,12 @@
</el-col>
<el-col :span="6" class="trightb">
<el-form-item class="trightb_item">
<el-select v-model="purchaseForm.storehouse" placeholder="请选择" >
<el-select v-model="purchaseForm.custName" placeholder="请选择" >
<el-option
v-for="storehouse in storehouseList"
:key="storehouse.name"
:label="storehouse.name"
:value="storehouse.name">
v-for="custName in storehouseList"
:key="custName.name"
:label="custName.name"
:value="custName.name">
</el-option>
</el-select>
</el-form-item>
@ -215,7 +215,7 @@
</el-col>
<el-col :span="5">
<el-form-item class="trightb_item">
<el-select v-model="purchaseForm.storehouse" placeholder="请选择" >
<el-select v-model="purchaseForm.storehouseName" placeholder="请选择" >
<el-option
v-for="storehouse in storehouseList"
:key="storehouse.name"
@ -232,29 +232,100 @@
<template slot="title" >
<span style="margin-left: 15px;">商品信息</span><span class="span" @click.stop="add()">添加</span>
</template>
<el-table :data="purchaseForm.commodityList" border style="width: 100%;"
<el-table :data="purchaseForm.products" border style="width: 100%;"
:row-style="{height: '40px'}">
<!-- <el-table-column type="selection" align="center" width="50"/> -->
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column label="商品名称" prop="name" align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.product" placeholder="请选择" >
<el-table-column label="商品名称" width="120" prop="proName" align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.proName" placeholder="请选择" >
<el-option
v-for="product in productList"
:key="product.name"
:label="product.name"
:value="product.name">
</el-option>
</el-select>
</el-select>
</template>
</el-table-column>
<el-table-column label="商品品类" width="120" prop="productTypeName" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.productTypeName" placeholder="商品品类" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="商品品牌" width="120" prop="brandInfoName" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.brandInfoName" placeholder="商品品牌" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="仓库名称" prop="proName" width="120" align="center">
<template slot-scope="scope">
<el-select v-model="scope.row.storeHouseName" placeholder="请选择" >
<el-option
v-for="storehouse in storehouseList"
:key="storehouse.name"
:label="storehouse.name"
:value="storehouse.name">
</el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="规格(型号)" width="150" prop="proModel" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.proModel" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="数量" width="100" prop="estimateNum" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.estimateNum" @change="getLists" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="单价" width="140" prop="estimateConfirmedPrice" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.estimateConfirmedPrice" @change="getList" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="总价值" width="120px" prop="estimateCalculatedValue" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.estimateCalculatedValue" :readonly="true" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="规格单位" width="130" prop="proUnit" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.proUnit" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="生成厂家" width="150" prop="manufacturer" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.manufacturer" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="实际数量" width="100px" prop="realityNum" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.realityNum" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="实际重量" width="100px" prop="realityWeight" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.realityWeight" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="实际质权人确认的单价" width="150px" prop="realityConfirmedPrice" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.realityConfirmedPrice" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="商品编码" prop="number" align="center" />
<el-table-column label="单位" prop="unit" align="center" />
<el-table-column label="单价" prop="price" align="center">
<el-table-column label="实际核算的价值" width="150px" prop="realityCalculatedValue" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.realityCalculatedValue" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="重量" prop="weight" align="center">
<el-table-column label="货位号" width="150px" prop="locationNumber" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.locationNumber" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column label="操作" wid align="center" width="150">
<el-table-column label="操作" fixed="right" align="center" width="150">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="doCommoditylDel(scope.$index)">删除</el-button>
</template>
@ -272,52 +343,6 @@
<el-button type="primary" @click="addPurchase"> </el-button>
</div>
</el-dialog>
<el-dialog title="修改采购订单" :visible.sync="updataPurchaseDialogVisible" width="65%" @close="closeUpdataPurchaseDialog">
<el-form :model="purchaseForm" :rules="rules" ref="updataPurchaseRuleForm" label-width="100px" class="demo-ruleForm" :inline="true">
<el-form-item label="订单编号" prop="purchaseId">
<el-input :disabled="true" v-model="purchaseForm.purchaseId"></el-input>
</el-form-item>
<el-form-item label="商品名称" prop="product">
<el-select v-model="purchaseForm.product" placeholder="请选择" @change="getProductList">
<el-option
v-for="product in productList2"
:key="product.name"
:label="product.name"
:value="product.name">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="供应商" prop="supplier">
<el-select v-model="purchaseForm.supplier" placeholder="请选择" >
<el-option
v-for="supplier in supplierList"
:key="supplier.name"
:label="supplier.name"
:value="supplier.name">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属仓库" prop="storehouse">
<el-select v-model="purchaseForm.storehouse" placeholder="请选择" >
<el-option
v-for="storehouse in storehouseList"
:key="storehouse.name"
:label="storehouse.name"
:value="storehouse.name">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="商品数量" prop="count">
<el-input v-model="purchaseForm.count"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="updataPurchaseDialogVisible = false"> </el-button>
<el-button type="primary" @click="checkUpdataPurchase"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -327,9 +352,12 @@ export default {
data () {
return {
queryInfo: {
query: '',
pageNum: 1,
pageSize: 10
total: 0,
current: 1,
size: 10,
params: {
}
},
total: 0,
purchaseList: [],
@ -345,12 +373,18 @@ export default {
purchaseId: '',
product: '',
barCode: '',
purchaseDate:'',
purchaseNo:'',
supplier: '',
storehouseName:'',
supplierName:'',
count: '',
storehouse: '',
status: '',
commodityList:[]
products:[]
},
pirce:'',
num:'',
rules: {
product: [
{ required: true, message: '请输入商品名', trigger: 'blur' }
@ -367,32 +401,54 @@ export default {
}
}
},
created(){
this.heji()
},
methods: {
handleSizeChange (val) {
this.queryInfo.pageSize = val
this.queryInfo.size = val
this.getPurchaseList()
},
handleCurrentChange (val) {
this.queryInfo.pageNum = val
this.queryInfo.current = val
this.getPurchaseList()
},
async getPurchaseList () {
const { data: result } = await this.$http.get('/purchase/list', { params: this.queryInfo })
if (result.status !== 200) return this.$message.error('获取列表失败')
this.total = result.data.total
this.purchaseList = result.data.rows
const { data: result } = await this.$http.post('/purchasenew/listPage', { params: this.queryInfo })
if (result.code == 200){
this.total = result.data.total
this.purchaseList = result.data.records
// this.$message({ type: 'success', message: result.msg, showClose: true })
}
},
addPurchase () {
this.$refs.addPurchaseRuleForm.validate(async validate => {
this.$refs.dataForm.validate(async validate => {
if (!validate) return this.$message.error('请填写必填项')
this.purchaseForm.status = '待审核'
const { data: result } = await this.$http.post('/purchase/addPurchase', this.purchaseForm)
if (result.status !== 200) return this.$message.error('添加订单失败')
this.getPurchaseList()
this.addPurchaseDialogVisible = false
const { data: result } = await this.$http.post('/purchasenew/save', this.purchaseForm)
if (result.code == 200) {
this.getPurchaseList()
this.addPurchaseDialogVisible = false
this.$message({ type: 'success', message: result.msg, showClose: true })
}
this.purchaseForm={
purchaseId: '',
product: '',
barCode: '',
purchaseDate:'',
purchaseNo:'',
supplier: '',
storehouseName:'',
supplierName:'',
count: '',
storehouse: '',
status: '',
products:[]
}
})
},
@ -406,7 +462,7 @@ export default {
openAddPurchaseDialog () {
this.addPurchaseDialogVisible = true
var now = new Date()
this.purchaseForm.purchaseId = 'IP' + now.getTime()
this.purchaseForm.purchaseNo = 'IP' + now.getTime()
console.log('IP' + now.getTime())
if (this.productList2.length == 0) this.productList2 = this.productList
},
@ -432,26 +488,35 @@ export default {
},
async deletePurchase (purchase) {
if (purchase.status !== '待审核') return this.$message.error('订单' + purchase.purchaseId + '进行中')
const result = await this.$confirm('此操作将永久删除订单' + purchase.purchaseId + ', 是否继续?', '提示', {
if (purchase.status !== '待审核') return this.$message.error('订单' + purchase.purchaseNo + '进行中')
const result = await this.$confirm('此操作将永久删除订单' + purchase.purchaseNo + ', 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).catch(error => error)
if (result !== 'confirm') return this.$message.info('用户取消操作')
const { data: resultDB } = await this.$http.delete(`/purchase/delete/${purchase.purchaseId}`)
const { data: resultDB } = await this.$http.delete(`/purchase/delete/${purchase.purchaseNo}`)
if (resultDB.status !== 200) return this.$message.error('删除订单失败')
this.getPurchaseList()
this.$message.success('订单删除成功')
},
open (purchase) {
if (purchase.status !== '待审核') return this.$message.error('订单' + purchase.purchaseId + '进行中')
this.purchaseForm = purchase
this.updataPurchaseDialogVisible = true
if (this.productList2.length == 0) this.productList2 = this.productList
async open (purchase) {
// if (purchase.status !== '') return this.$message.error('' + purchase.purchaseNo + '')
this.addPurchaseDialogVisible = true
const _this = this
const { data: result } = await this.$http.get(`/purchasenew/fetchDetailsBySid/${purchase.sid}`)
if (result.code==200) {
// _this.purchaseForm.purchaseDate=result.data.purchaseDate
// _this.purchaseForm.purchaseNo=result.data.purchaseNo
// _this.purchaseForm.supplierName=result.data.supplierName
// _this.purchaseForm.purchasePerson=result.data.purchasePerson
// _this.purchaseForm.custName=result.data.custName
// _this.purchaseForm.storehouseName=result.data.storehouseName
_this.purchaseForm=result.data
}
// if (this.productList2.length == 0) this.productList2 = this.productList
},
checkUpdataPurchase () {
this.$refs.updataPurchaseRuleForm.validate(validate => {
if (!validate) return this.$message.error('请填写必填项')
@ -490,11 +555,11 @@ export default {
if (this.selectPurchaseList[i].status === '已审核') {
this.selectPurchaseList[i].status = '待审核'
this.updataPurchase(this.selectPurchaseList[i])
this.$message.success('订单' + this.selectPurchaseList[i].purchaseId + '撤销审核成功')
this.$message.success('订单' + this.selectPurchaseList[i].purchaseNo + '撤销审核成功')
} else if (this.selectPurchaseList[i].status === '待审核') {
this.$message.error('订单' + this.selectPurchaseList[i].purchaseId + '未审核')
this.$message.error('订单' + this.selectPurchaseList[i].purchaseNo + '未审核')
} else {
this.$message.error('订单' + this.selectPurchaseList[i].purchaseId + '进行中')
this.$message.error('订单' + this.selectPurchaseList[i].purchaseNo + '进行中')
}
}
},
@ -502,7 +567,9 @@ export default {
},
add(){
this.purchaseForm.products.push({
})
},
//
indexMethod(index) {
@ -510,7 +577,29 @@ export default {
// var pageindex = index + 1 + pagestart
return index + 1
},
doCommoditylDel(index) {
const tip = '请确认是否删除所选记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.purchaseForm.products.splice(index, 1);
})
},
getList(value){
this.pirce=value
console.log(this.pirce);
},
getLists(value){
this.num=value
},
heji(){
if(this.pirce && this.num){
console.log(666);
}
}
},
mounted () {

Loading…
Cancel
Save