102 changed files with 4029 additions and 652 deletions
@ -0,0 +1,61 @@ |
|||
import request from '@/utils/request' |
|||
// 汇总工单数据
|
|||
export default { |
|||
|
|||
// 查询分页列表
|
|||
listPage: function(params) { |
|||
return request({ |
|||
url: '/v1/riskBlackList/listPage', |
|||
method: 'post', |
|||
data: params |
|||
}) |
|||
}, |
|||
// 保存新增记录
|
|||
saveRiskBlackList: function(params) { |
|||
return request({ |
|||
url: '/v1/riskBlackList/saveRiskBlackList ', |
|||
method: 'post', |
|||
data: params |
|||
}) |
|||
}, |
|||
// 查询记录列表
|
|||
riskAlarmTreatmentListPage: function(params) { |
|||
return request({ |
|||
url: '/v1/riskAlarmTreatment/listPage', |
|||
method: 'post', |
|||
data: params |
|||
}) |
|||
}, |
|||
// 通过sid删除一条或多条记录
|
|||
delBySids: function(sid) { |
|||
return request({ |
|||
url: '/v1/riskBlackList/del/' + sid, |
|||
method: 'get', |
|||
}) |
|||
}, |
|||
|
|||
// 保存新增监控指标
|
|||
saveRiskIndicator: function(params) { |
|||
return request({ |
|||
url: '/v1/riskIndex/saveRiskIndex', |
|||
method: 'post', |
|||
data: params |
|||
}) |
|||
}, |
|||
// 查询监控指标列表
|
|||
riskIndexListPage: function(params) { |
|||
return request({ |
|||
url: '/v1/riskIndex/listPage', |
|||
method: 'post', |
|||
data: params |
|||
}) |
|||
}, |
|||
// 通过sid删除一条或多条记录
|
|||
riskIndexDel: function(sid) { |
|||
return request({ |
|||
url: '/v1/riskIndex/del/' + sid, |
|||
method: 'get', |
|||
}) |
|||
}, |
|||
|
|||
} |
@ -0,0 +1,316 @@ |
|||
<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"> |
|||
<el-card class="box-card"> |
|||
<div class="wlInfo"><span>监控指标</span></div> |
|||
<div class="item"> |
|||
<span class="item_text">编号:</span> |
|||
<el-input v-model="formobj.code" placeholder="类别编号" class="item_input" clearable /> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item_text">指标名称:</span> |
|||
<el-input v-model="formobj.name" placeholder="指标名称" class="item_input" clearable /> |
|||
</div> |
|||
<div class="item" > |
|||
<span class="item_text">风险程度:</span> |
|||
<el-select |
|||
v-model="formobj.levelName" |
|||
class="item_input" |
|||
placeholder="请选择风险等级名称" |
|||
@change="getType" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in arrList" |
|||
:key="i" |
|||
:label="item.name" |
|||
:value="item.sid" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
<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 /> |
|||
</div> |
|||
<div class="item" style="height: 110px;"> |
|||
<span class="item_text">备注信息:</span> |
|||
<el-input type="textarea" |
|||
:autosize="{ minRows: 4, maxRows: 6 }" v-model="formobj.remarks" class="item_input" placeholder="备注信息" /> |
|||
</div> |
|||
</el-card> |
|||
</el-form> |
|||
</div> |
|||
<!-- End 添加修改部分 --> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/Risk/index.js' |
|||
import req2 from '@/api/Risk/riskIndex' |
|||
export default { |
|||
name: 'DispatchStandardsAdd', |
|||
data() { |
|||
return { |
|||
submitdisabled: false, |
|||
viewTitle: '', |
|||
viewState: 1, |
|||
arrLists: [], |
|||
arrList: [], |
|||
rangeArr: [], |
|||
option: [], |
|||
options: [], |
|||
hierarchys: false, |
|||
formobj: { |
|||
name: '', |
|||
code: '', |
|||
content: '', |
|||
levelSid: '', |
|||
levelCode: '', |
|||
levelName: '', |
|||
typeCode:'', |
|||
typeName:'', |
|||
typeSid:'', |
|||
remarks:'', |
|||
}, |
|||
rules: { |
|||
name: [{ required: true, message: '风险等级名称不能为空', trigger: 'blur' }], |
|||
code: [{ required: true, message: '风险等级代码不能为空', trigger: 'blur' }], |
|||
content: [{ required: true, message: '分类说明不能为空', trigger: 'blur' }], |
|||
reportTarget: [{ required: true, message: '报送单位不能为空', trigger: 'blur' }], |
|||
}, |
|||
optionProps: { |
|||
value: 'code', |
|||
label: 'name', |
|||
children: 'down', |
|||
expandTrigger: 'hover', |
|||
}, |
|||
selectedOptions: [], //配送选择值 |
|||
} |
|||
}, |
|||
created() { |
|||
this.superior() |
|||
this.selectTypes() |
|||
}, |
|||
methods: { |
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.formobj.sid = '' |
|||
this.formobj.name= '', |
|||
this.formobj.code= '', |
|||
this.formobj.content= '', |
|||
this.formobj.levelSid= '', |
|||
this.formobj.levelCode= '' |
|||
this.formobj.levelName= '' |
|||
this.formobj.typeCode='', |
|||
this.formobj.typeName='', |
|||
this.formobj.typeSid='', |
|||
this.formobj.remarks='', |
|||
this.formobj.reportTarget='', |
|||
this.selectedOptions=[], |
|||
|
|||
this.$refs['form_obj'].resetFields() |
|||
this.$emit('doback') |
|||
}, |
|||
showAdd() { |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.viewTitle = '【新增】监控指标' |
|||
this.hierarchys= false |
|||
}, |
|||
showEdit(row) { |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.viewTitle = '【修改】监控指标' |
|||
this.hierarchys= true |
|||
const _this = this |
|||
const vdata = row |
|||
_this.formobj.id = vdata.id |
|||
_this.formobj.sid = vdata.sid |
|||
_this.formobj.name = vdata.name |
|||
_this.formobj.code = vdata.code |
|||
_this.formobj.content = vdata.content |
|||
_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 |
|||
}, |
|||
getParentsById(list, id) { |
|||
for (let i in list) { |
|||
if (list[i].no == id) {//这里的no根据你的需求可进行改变 |
|||
//查询到就返回该数组对象的value |
|||
return [list[i].no]; |
|||
} |
|||
if (list[i].children) { |
|||
let node = this.getParentsById(list[i].children, id); |
|||
if (node !== undefined) { |
|||
//查询到把父节把父节点加到数组前面 |
|||
node.unshift(list[i].no); |
|||
return node; |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
saveOrUpdate() { |
|||
if(this.formobj.reportTarget==='监管公司'){ |
|||
this.formobj.reportTarget===1 |
|||
}else if(this.formobj.reportTarget==='贷款支行'){ |
|||
this.formobj.reportTarget===2 |
|||
}else{ |
|||
this.formobj.reportTarget===3 |
|||
} |
|||
req2 |
|||
.saveRiskIndicator(this.formobj) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.$message({ showClose: true, type: 'success', message: resp.msg }) |
|||
this.handleReturn('true') |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
.catch(() => { |
|||
}) |
|||
}, |
|||
superior(){ |
|||
req |
|||
.selectRiskLevel() |
|||
.then(resp => { |
|||
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) |
|||
} |
|||
} |
|||
}) |
|||
}, |
|||
selectTypes(){ |
|||
req |
|||
.selectType() |
|||
.then(resp => { |
|||
if(resp.code==200){ |
|||
this.options=resp.data |
|||
} |
|||
}) |
|||
}, |
|||
getType(value) { |
|||
const choose = this.arrLists.filter((item) => item.sid === value) |
|||
this.formobj.levelSid = value |
|||
this.formobj.levelCode = choose[0].code |
|||
this.formobj.levelName = choose[0].name |
|||
}, |
|||
handleChange3(value) { |
|||
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; |
|||
this.formobj.typeCode=value[len];//这是最终修改后的要提交的选中后的数据值 |
|||
this.formobj.typeName=thsAreaCode[lens];//这是最终修改后的要提交的选中后的数据值 |
|||
this.$refs.cascaderAddr.toggleDropDownVisible();// 选择之后将下拉界面收起 |
|||
}, |
|||
}, |
|||
watch: { |
|||
selectedOptions() { |
|||
if (this.$refs.cascaderAddr) { |
|||
this.$refs.cascaderAddr.dropDownVisible = false; |
|||
console.log(this.$refs.cascaderAddr,'cascader') |
|||
} |
|||
} |
|||
}, |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.box-card { |
|||
margin-left: 60px; |
|||
margin-right: 60px; |
|||
min-width: 70%; |
|||
margin-top: 20px; |
|||
padding-bottom: 50px; |
|||
|
|||
.item { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
margin-top: 15px; |
|||
height: 40px; |
|||
line-height: 40px; |
|||
|
|||
.item_text { |
|||
flex: 0.8; |
|||
font-size: 18px; |
|||
text-align: right; |
|||
} |
|||
|
|||
.item_input { |
|||
flex: 4; |
|||
font-size: 16px; |
|||
margin-left: 10px; |
|||
margin-right: 80px; |
|||
} |
|||
|
|||
.item_left_input { |
|||
width: 20%; |
|||
} |
|||
|
|||
.item_left_text { |
|||
height: 30px; |
|||
margin-left: 20px; |
|||
line-height: 30px; |
|||
color: #018AD2; |
|||
padding: 0px 15px; |
|||
border: 1.5px solid #018AD2; |
|||
border-radius: 5px; |
|||
|
|||
} |
|||
|
|||
.item_right { |
|||
flex: 1; |
|||
justify-items: center; |
|||
|
|||
.item_right_list_text { |
|||
font-size: 16px; |
|||
} |
|||
|
|||
.item_right_list_delect { |
|||
color: #5E94FF; |
|||
margin-left: 20px; |
|||
font-size: 16px; |
|||
text-decoration: underline; |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
} |
|||
</style> |
@ -0,0 +1,289 @@ |
|||
<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="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form ref="queryParams" :model="queryParams.params" :inline="true" class="tab-header"> |
|||
<el-form-item label="客户名称"><el-input v-model="queryParams.params.custname" placeholder="请输入客户名称" clearable /></el-form-item> |
|||
<el-form-item label="工单名称"><el-input v-model="queryParams.params.ordername" placeholder="请输入工单名称" clearable /></el-form-item> |
|||
<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> |
|||
</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> |
|||
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" > |
|||
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column prop="name" label="指标名称" align="center" /> |
|||
<el-table-column prop="code" label="指标编码" align="center" /> |
|||
<el-table-column prop="levelName" label="风险等级" align="center" /> |
|||
<el-table-column prop="bigTypeName" label="风险类别" align="center" /> |
|||
<el-table-column prop="typeName" label="风险小类" align="center" /> |
|||
<el-table-column prop="content" label="指标说明" align="center" /> |
|||
<!-- <el-table-column prop="hierarchy" :formatter="formatorderdegree" label="层级" align="center" /> --> |
|||
<el-table-column prop="remarks" label="备注信息" align="center" /> |
|||
<el-table-column fixed="right" label="操作" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-tooltip class="item" effect="dark" content="编辑" placement="top-end"> |
|||
<i class="el-icon-edit-outline" @click="toEdit(scope.row)"></i> |
|||
</el-tooltip> |
|||
<el-tooltip class="item" effect="dark" content="删除" placement="top"> |
|||
<i class="el-icon-delete" @click="doDel(scope.row)"></i> |
|||
</el-tooltip> |
|||
</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" |
|||
class="pagination" |
|||
@pagination="loadList" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- End 查询和其列表部分 --> |
|||
<el-dialog |
|||
title="二级类别信息" |
|||
:visible.sync="drawer" |
|||
width="65%"> |
|||
<el-table v-loading="listLoading" :data="formobj" 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="类别名称" width="120" prop="name" align="center" /> |
|||
<el-table-column label="类别编号" width="160" prop="code" align="center" /> |
|||
<el-table-column label="分类说明" prop="content" align="center" /> |
|||
<el-table-column label="层级" width="70" :formatter="formatorderdegree" prop="hierarchy" align="center" /> |
|||
<el-table-column label="备注信息" width="200" prop="remarks" align="center" /> |
|||
<el-table-column label="操作" wid align="center" width="200"> |
|||
<template slot-scope="scope"> |
|||
<!-- <el-button type="primary" size="mini" @click="toPersonnelDetail(scope.row.sid)">查看</el-button> --> |
|||
<el-button type="primary" size="mini" @click="toEdit(scope.row)">编辑</el-button> |
|||
<el-button type="primary" size="mini" @click="doCommoditylDel(scope.row)">删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
|
|||
</el-dialog> |
|||
<!-- 新增修改部分组件 --> |
|||
<div-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/Risk/riskIndex' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import divAdd from './addJkzb' |
|||
|
|||
export default { |
|||
name: 'DispatchOrderinfoIndex', |
|||
components: { |
|||
ButtonBar, |
|||
Pagination, |
|||
pageye, |
|||
divAdd, |
|||
}, |
|||
data() { |
|||
return { |
|||
btndisabled: false, |
|||
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
|||
isSearchShow: false, |
|||
tableLoading: false, |
|||
drawer: false, |
|||
listLoading: false, |
|||
dataList: [], |
|||
queryParams: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
|
|||
} |
|||
}, |
|||
multipleSelection: [], |
|||
btnList: [ |
|||
{ |
|||
type: 'primary', |
|||
size: 'small', |
|||
icon: 'plus', |
|||
btnKey: 'toAdd', |
|||
btnLabel: '新增' |
|||
}, |
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
size:'', |
|||
TableList:[], |
|||
formobj:[] |
|||
} |
|||
}, |
|||
mounted() { |
|||
// 初始化按钮 |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
created() { |
|||
this.loadList() |
|||
}, |
|||
methods: { |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
btnHandle(btnKey) { |
|||
switch (btnKey) { |
|||
case 'toAdd': |
|||
this.toAdd() |
|||
break |
|||
case 'doClose': // 关闭 |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
toAdd() { |
|||
this.viewState = 2 |
|||
this.$refs['divadd'].showAdd() |
|||
}, |
|||
toEdit(row) { |
|||
this.viewState = 3 |
|||
this.$refs['divadd'].showEdit(row) |
|||
this.drawer=false |
|||
}, |
|||
doDel(row) { |
|||
const sids = [] |
|||
sids.push(row.sid) |
|||
const tip = '请确认是否是否删除该条记录?' |
|||
this.$confirm(tip, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}) |
|||
.then(() => { |
|||
req |
|||
.riskIndexDel(sids) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.$message({ type: 'success', message: resp.msg, showClose: true }) |
|||
this.loadList() |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
}) |
|||
.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 |
|||
.riskIndexListPage(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 |
|||
}) |
|||
}, |
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
doClose() { |
|||
this.$store.dispatch('tagsView/delView', this.$route) |
|||
this.$router.go(-1) |
|||
}, |
|||
purchase(row){ |
|||
this.drawer=true |
|||
req |
|||
.selectRiskTypeSubordinate(row.sid) |
|||
.then(resp => { |
|||
this.listLoading = false |
|||
if (resp.code==200) { |
|||
this.formobj=resp.data |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
.catch(() => { |
|||
this.listLoading = false |
|||
}) |
|||
}, |
|||
formatorderdegree: function( row, column) { |
|||
if(row.hierarchy === 1){ |
|||
return '一级' |
|||
}else if(row.hierarchy === 2) { |
|||
return '二级' |
|||
}else{ |
|||
return '' |
|||
} |
|||
}, |
|||
doCommoditylDel(row){ |
|||
req |
|||
.delriskType(row.sid) |
|||
.then(resp => { |
|||
if (resp.code==200) { |
|||
this.$message({ type: 'success', message: resp.msg, showClose: true }) |
|||
this.drawer=false |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.margin-top { |
|||
border-bottom: 1px solid #ebebeb; |
|||
} |
|||
.item { |
|||
margin: 6px; |
|||
} |
|||
</style> |
@ -1,253 +1,347 @@ |
|||
<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"> |
|||
<el-card class="box-card"> |
|||
<div class="wlInfo"><span>风险类别</span></div> |
|||
<div class="item"> |
|||
<span class="item_text">类别名称:</span> |
|||
<el-input v-model="formobj.name" placeholder="类别名称" class="item_input" clearable /> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item_text">类别编号:</span> |
|||
<el-input v-model="formobj.code" placeholder="类别编号" class="item_input" clearable /> |
|||
</div> |
|||
<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"> |
|||
<el-card class="box-card"> |
|||
<div class="wlInfo"><span>风险类别</span></div> |
|||
<div class="item"> |
|||
<span class="item_text">类别名称:</span> |
|||
<el-input |
|||
v-model="formobj.name" |
|||
placeholder="类别名称" |
|||
class="item_input" |
|||
clearable |
|||
/> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item_text">类别编号:</span> |
|||
<el-input |
|||
v-model="formobj.code" |
|||
placeholder="类别编号" |
|||
class="item_input" |
|||
clearable |
|||
/> |
|||
</div> |
|||
|
|||
<div class="item"> |
|||
<span class="item_text">分类说明:</span> |
|||
<el-input v-model="formobj.content" placeholder="分类说明" class="item_input" clearable /> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item_text">层级:</span> |
|||
<el-input v-model="formobj.hierarchy" :disabled="hierarchys" placeholder="请输入层级(1/2)" @input="hierarchy($event)" class="item_input" clearable /> |
|||
</div> |
|||
<div class="item" v-show="viewState == 2" > |
|||
<span class="item_text">上级名称:</span> |
|||
<el-select |
|||
v-model="formobj.parentName" |
|||
class="item_input" |
|||
placeholder="请选择上级名称" |
|||
@change="getType" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in arrList" |
|||
:key="i" |
|||
:label="item.name" |
|||
:value="item.sid" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
<div class="item" style="height: 110px;"> |
|||
<span class="item_text">备注信息:</span> |
|||
<el-input type="textarea" |
|||
:autosize="{ minRows: 4, maxRows: 6 }" v-model="formobj.remarks" class="item_input" placeholder="备注信息" /> |
|||
</div> |
|||
</el-card> |
|||
</el-form> |
|||
</div> |
|||
<!-- End 添加修改部分 --> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item_text">分类说明:</span> |
|||
<el-input |
|||
v-model="formobj.content" |
|||
placeholder="分类说明" |
|||
class="item_input" |
|||
clearable |
|||
/> |
|||
</div> |
|||
<div class="item"> |
|||
<span class="item_text">层级:</span> |
|||
<div class="info-sex"> |
|||
<el-radio |
|||
v-model="formobj.hierarchy" |
|||
:disabled="hierarchys" |
|||
@input="hierarchy($event)" |
|||
:label="1" |
|||
>一级</el-radio |
|||
> |
|||
<el-radio |
|||
v-model="formobj.hierarchy" |
|||
:disabled="hierarchys" |
|||
@input="hierarchy($event)" |
|||
:label="2" |
|||
>二级</el-radio |
|||
> |
|||
</div> |
|||
<!-- <el-input v-model="formobj.hierarchy" :disabled="hierarchys" placeholder="请输入层级(1/2)" @input="hierarchy($event)" class="item_input" clearable /> --> |
|||
</div> |
|||
<div class="item" v-show="viewState == 2"> |
|||
<span class="item_text">上级名称:</span> |
|||
<el-select |
|||
v-model="formobj.parentName" |
|||
class="item_input" |
|||
placeholder="请选择上级名称" |
|||
@change="getType" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in arrList" |
|||
:key="i" |
|||
:label="item.name" |
|||
:value="item.sid" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
<div class="item" style="height: 110px"> |
|||
<span class="item_text">备注信息:</span> |
|||
<el-input |
|||
type="textarea" |
|||
:autosize="{ minRows: 4, maxRows: 6 }" |
|||
v-model="formobj.remarks" |
|||
class="item_input" |
|||
placeholder="备注信息" |
|||
/> |
|||
</div> |
|||
</el-card> |
|||
</el-form> |
|||
</div> |
|||
<!-- End 添加修改部分 --> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/Risk/index' |
|||
import req from "@/api/Risk/index"; |
|||
export default { |
|||
name: 'DispatchStandardsAdd', |
|||
data() { |
|||
return { |
|||
submitdisabled: false, |
|||
viewTitle: '', |
|||
viewState: 1, |
|||
arrLists: [], |
|||
arrList: [], |
|||
hierarchys: false, |
|||
formobj: { |
|||
name: '', |
|||
code: '', |
|||
content: '', |
|||
hierarchy: '', |
|||
parentSid: '', |
|||
parentName: '', |
|||
remarks: '' , |
|||
sid:'' |
|||
}, |
|||
rules: { |
|||
name: [{ required: true, message: '风险等级名称不能为空', trigger: 'blur' }], |
|||
code: [{ required: true, message: '风险等级代码不能为空', trigger: 'blur' }], |
|||
content: [{ required: true, message: '分类说明不能为空', trigger: 'blur' }], |
|||
reportTarget: [{ required: true, message: '报送单位不能为空', trigger: 'blur' }], |
|||
}, |
|||
} |
|||
}, |
|||
created() {}, |
|||
methods: { |
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.formobj.sid = '' |
|||
this.formobj.name= '', |
|||
this.formobj.code= '', |
|||
this.formobj.content= '', |
|||
this.formobj.hierarchy= '', |
|||
this.formobj.parentSid= '' |
|||
this.formobj.parentName= '' |
|||
this.formobj.remarks= '' |
|||
|
|||
this.$refs['form_obj'].resetFields() |
|||
this.$emit('doback') |
|||
}, |
|||
showAdd() { |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.viewTitle = '【新增】风险等级' |
|||
this.hierarchys= false |
|||
}, |
|||
showEdit(row) { |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.viewTitle = '【修改】风险等级' |
|||
this.hierarchys= true |
|||
const _this = this |
|||
const vdata = row |
|||
_this.formobj.id = vdata.id |
|||
_this.formobj.sid = vdata.sid |
|||
_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.remarks = vdata.remarks |
|||
}, |
|||
saveOrUpdate() { |
|||
req |
|||
.saveRiskType(this.formobj) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.$message({ showClose: true, type: 'success', message: resp.msg }) |
|||
this.handleReturn('true') |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
.catch(() => { |
|||
}) |
|||
}, |
|||
superior(){ |
|||
req |
|||
.selectRiskTypeFirst() |
|||
.then(resp => { |
|||
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) |
|||
} |
|||
} |
|||
}) |
|||
}, |
|||
hierarchy(e){ |
|||
if(e==2){ |
|||
this.viewState=2 |
|||
this.superior() |
|||
}else{ |
|||
this.viewState=1 |
|||
this.sid=null |
|||
this.parentSid=null |
|||
this.parentName=null |
|||
} |
|||
}, |
|||
getType(value) { |
|||
const choose = this.arrLists.filter((item) => item.sid === value) |
|||
this.formobj.parentName = choose[0].name |
|||
this.formobj.parentSid = value |
|||
console.log( this.formobj.parentSid); |
|||
name: "DispatchStandardsAdd", |
|||
data() { |
|||
return { |
|||
submitdisabled: false, |
|||
viewTitle: "", |
|||
viewState: 1, |
|||
arrLists: [], |
|||
arrList: [], |
|||
hierarchys: false, |
|||
formobj: { |
|||
name: "", |
|||
code: "", |
|||
content: "", |
|||
hierarchy: 1, |
|||
parentSid: "", |
|||
parentName: "", |
|||
remarks: "", |
|||
sid: "", |
|||
}, |
|||
} |
|||
} |
|||
rules: { |
|||
name: [ |
|||
{ required: true, message: "风险等级名称不能为空", trigger: "blur" }, |
|||
], |
|||
code: [ |
|||
{ required: true, message: "风险等级代码不能为空", trigger: "blur" }, |
|||
], |
|||
content: [ |
|||
{ required: true, message: "分类说明不能为空", trigger: "blur" }, |
|||
], |
|||
reportTarget: [ |
|||
{ required: true, message: "报送单位不能为空", trigger: "blur" }, |
|||
], |
|||
}, |
|||
}; |
|||
}, |
|||
created() {}, |
|||
methods: { |
|||
handleReturn(isreload) { |
|||
if (isreload === "true") this.$emit("reloadlist"); |
|||
this.formobj.sid = ""; |
|||
(this.formobj.name = ""), |
|||
(this.formobj.code = ""), |
|||
(this.formobj.content = ""), |
|||
(this.formobj.hierarchy = 1), |
|||
(this.formobj.parentSid = ""); |
|||
this.formobj.parentName = ""; |
|||
this.formobj.remarks = ""; |
|||
this.viewState = 1; |
|||
this.$refs["form_obj"].resetFields(); |
|||
this.$emit("doback"); |
|||
this.arrList = []; |
|||
}, |
|||
showAdd() { |
|||
this.$nextTick(() => { |
|||
this.$refs["form_obj"].clearValidate(); |
|||
}); |
|||
this.viewTitle = "【新增】风险等级"; |
|||
this.hierarchys = false; |
|||
this.formobj.hierarchy = 1; |
|||
}, |
|||
showEdit(row) { |
|||
this.$nextTick(() => { |
|||
this.$refs["form_obj"].clearValidate(); |
|||
}); |
|||
this.viewTitle = "【修改】风险等级"; |
|||
const _this = this; |
|||
const vdata = row; |
|||
_this.hierarchys = true; |
|||
this.superior(); |
|||
_this.formobj.id = vdata.id; |
|||
_this.formobj.sid = vdata.sid; |
|||
_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.remarks = vdata.remarks; |
|||
if (vdata.hierarchy == 1) { |
|||
_this.viewState = 1; |
|||
} else { |
|||
_this.viewState = 2; |
|||
} |
|||
}, |
|||
saveOrUpdate() { |
|||
req |
|||
.saveRiskType(this.formobj) |
|||
.then((resp) => { |
|||
if (resp.success) { |
|||
this.$message({ |
|||
showClose: true, |
|||
type: "success", |
|||
message: resp.msg, |
|||
}); |
|||
this.handleReturn("true"); |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
.catch(() => {}); |
|||
}, |
|||
superior() { |
|||
req.selectRiskTypeFirst().then((resp) => { |
|||
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); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
hierarchy(e) { |
|||
if (e == 2) { |
|||
this.viewState = 2; |
|||
this.arrList = []; |
|||
this.superior(); |
|||
} else { |
|||
this.viewState = 1; |
|||
this.sid = null; |
|||
this.parentSid = null; |
|||
this.parentName = null; |
|||
this.arrList = []; |
|||
} |
|||
}, |
|||
getType(value) { |
|||
const choose = this.arrLists.filter((item) => item.sid === value); |
|||
this.formobj.parentName = choose[0].name; |
|||
this.formobj.parentSid = value; |
|||
console.log(this.formobj.parentSid); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.box-card { |
|||
margin-left: 60px; |
|||
margin-right: 60px; |
|||
min-width: 70%; |
|||
margin-top: 20px; |
|||
padding-bottom: 50px; |
|||
|
|||
.item { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
margin-top: 15px; |
|||
height: 40px; |
|||
line-height: 40px; |
|||
|
|||
.item_text { |
|||
flex: 0.8; |
|||
font-size: 18px; |
|||
text-align: right; |
|||
} |
|||
<style scoped lang="scss"> |
|||
.box-card { |
|||
margin-left: 60px; |
|||
margin-right: 60px; |
|||
min-width: 70%; |
|||
margin-top: 20px; |
|||
padding-bottom: 50px; |
|||
|
|||
.item_input { |
|||
flex: 4; |
|||
font-size: 16px; |
|||
margin-left: 10px; |
|||
margin-right: 80px; |
|||
} |
|||
.item { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
margin-top: 15px; |
|||
height: 40px; |
|||
line-height: 40px; |
|||
|
|||
.item_left_input { |
|||
width: 20%; |
|||
} |
|||
.item_text { |
|||
flex: 0.8; |
|||
font-size: 18px; |
|||
text-align: right; |
|||
} |
|||
|
|||
.item_left_text { |
|||
height: 30px; |
|||
margin-left: 20px; |
|||
line-height: 30px; |
|||
color: #018AD2; |
|||
padding: 0px 15px; |
|||
border: 1.5px solid #018AD2; |
|||
border-radius: 5px; |
|||
.item_input { |
|||
flex: 4; |
|||
font-size: 16px; |
|||
margin-left: 10px; |
|||
margin-right: 80px; |
|||
} |
|||
|
|||
} |
|||
.item_left_input { |
|||
width: 20%; |
|||
} |
|||
|
|||
.item_right { |
|||
flex: 1; |
|||
justify-items: center; |
|||
.item_left_text { |
|||
height: 30px; |
|||
margin-left: 20px; |
|||
line-height: 30px; |
|||
color: #018ad2; |
|||
padding: 0px 15px; |
|||
border: 1.5px solid #018ad2; |
|||
border-radius: 5px; |
|||
} |
|||
|
|||
.item_right_list_text { |
|||
font-size: 16px; |
|||
} |
|||
.item_right { |
|||
flex: 1; |
|||
justify-items: center; |
|||
|
|||
.item_right_list_delect { |
|||
color: #5E94FF; |
|||
margin-left: 20px; |
|||
font-size: 16px; |
|||
text-decoration: underline; |
|||
} |
|||
.item_right_list_text { |
|||
font-size: 16px; |
|||
} |
|||
|
|||
.item_right_list_delect { |
|||
color: #5e94ff; |
|||
margin-left: 20px; |
|||
font-size: 16px; |
|||
text-decoration: underline; |
|||
} |
|||
} |
|||
.info-sex { |
|||
flex: 4; |
|||
font-size: 16px; |
|||
margin-left: 10px; |
|||
margin-right: 80px; |
|||
::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> |
|||
|
@ -0,0 +1,149 @@ |
|||
<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"> |
|||
<el-card class="box-card"> |
|||
<div class="wlInfo"><span>风险类别</span></div> |
|||
<div class="item"> |
|||
<span class="item_text">风险对象:</span> |
|||
<el-input v-model="formobj.objectSid" placeholder="类别名称" class="item_input" clearable /> |
|||
</div> |
|||
<div class="item" > |
|||
<span class="item_text">对象类型:</span> |
|||
<el-select |
|||
v-model="formobj.objectType" |
|||
class="item_input" |
|||
placeholder="请选择风险对象类型" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in arrList" |
|||
:key="i" |
|||
:label="item.type" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</div> |
|||
<div class="item" style="height: 110px;"> |
|||
<span class="item_text">备注信息:</span> |
|||
<el-input type="textarea" |
|||
:autosize="{ minRows: 4, maxRows: 6 }" v-model="formobj.remarks" class="item_input" placeholder="备注信息" /> |
|||
</div> |
|||
</el-card> |
|||
</el-form> |
|||
</div> |
|||
<!-- End 添加修改部分 --> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/Risk/riskIndex.js' |
|||
export default { |
|||
name: 'DispatchStandardsAdd', |
|||
data() { |
|||
return { |
|||
submitdisabled: false, |
|||
viewTitle: '', |
|||
arrList: [{value:1,type:'供应商'},{value:2,type:'仓库'},{value:3,type:'门店'}], |
|||
hierarchys: false, |
|||
formobj: { |
|||
objectSid:'', |
|||
objectType:'', |
|||
remarks: '' |
|||
}, |
|||
} |
|||
}, |
|||
created() {}, |
|||
methods: { |
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.formobj.sid = '' |
|||
this.formobj.objectSid='', |
|||
this.formobj.objectType='', |
|||
this.formobj.remarks= '' |
|||
|
|||
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 |
|||
const vdata = row |
|||
_this.formobj.objectSid = vdata.objectSid |
|||
_this.formobj.objectType = vdata.objectType |
|||
_this.formobj.remarks = vdata.remarks |
|||
}, |
|||
saveOrUpdate() { |
|||
req |
|||
.saveRiskBlackList(this.formobj) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.$message({ showClose: true, type: 'success', message: resp.msg }) |
|||
this.handleReturn('true') |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
.catch(() => { |
|||
}) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
.box-card { |
|||
margin-left: 60px; |
|||
margin-right: 60px; |
|||
min-width: 70%; |
|||
margin-top: 20px; |
|||
padding-bottom: 50px; |
|||
|
|||
.item { |
|||
display: flex; |
|||
flex-direction: row; |
|||
align-items: center; |
|||
margin-top: 15px; |
|||
height: 40px; |
|||
line-height: 40px; |
|||
|
|||
.item_text { |
|||
flex: 0.8; |
|||
font-size: 18px; |
|||
text-align: right; |
|||
} |
|||
|
|||
.item_input { |
|||
flex: 4; |
|||
font-size: 16px; |
|||
margin-left: 10px; |
|||
margin-right: 80px; |
|||
} |
|||
|
|||
|
|||
} |
|||
|
|||
} |
|||
</style> |
@ -0,0 +1,229 @@ |
|||
<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="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}</el-button> |
|||
<div v-show="isSearchShow" class="search"> |
|||
<el-form ref="queryParams" :model="queryParams.params" :inline="true" class="tab-header"> |
|||
<el-form-item label="客户名称"><el-input v-model="queryParams.params.custname" placeholder="请输入客户名称" clearable /></el-form-item> |
|||
<el-form-item label="工单名称"><el-input v-model="queryParams.params.ordername" placeholder="请输入工单名称" clearable /></el-form-item> |
|||
<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> |
|||
</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> |
|||
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" > |
|||
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center" /> |
|||
<el-table-column prop="objectSid" label="风险对象名称" align="center" /> |
|||
<el-table-column prop="objectType" :formatter="formatorderdegree" label="风险对象类型" align="center" /> |
|||
<el-table-column prop="remarks" label="备注信息" align="center" /> |
|||
<el-table-column fixed="right" label="操作" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-tooltip class="item" effect="dark" content="删除" placement="top"> |
|||
<i class="el-icon-delete" @click="doDel(scope.row)"></i> |
|||
</el-tooltip> |
|||
</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" |
|||
class="pagination" |
|||
@pagination="loadList" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<!-- 新增修改部分组件 --> |
|||
<div-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList" /> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/Risk/riskIndex' |
|||
import ButtonBar from '@/components/ButtonBar' |
|||
import Pagination from '@/components/pagination' |
|||
import pageye from '@/components/pagination/pageye' |
|||
import divAdd from './addBlack' |
|||
|
|||
export default { |
|||
name: 'DispatchOrderinfoIndex', |
|||
components: { |
|||
ButtonBar, |
|||
Pagination, |
|||
pageye, |
|||
divAdd, |
|||
}, |
|||
data() { |
|||
return { |
|||
btndisabled: false, |
|||
viewState: 1, // 1、列表 2、添加 3、修改 4、查看 |
|||
isSearchShow: false, |
|||
tableLoading: false, |
|||
drawer: false, |
|||
listLoading: false, |
|||
dataList: [], |
|||
queryParams: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
|
|||
} |
|||
}, |
|||
multipleSelection: [], |
|||
btnList: [ |
|||
{ |
|||
type: 'primary', |
|||
size: 'small', |
|||
icon: 'plus', |
|||
btnKey: 'toAdd', |
|||
btnLabel: '新增' |
|||
}, |
|||
{ |
|||
type: 'info', |
|||
size: 'small', |
|||
icon: 'cross', |
|||
btnKey: 'doClose', |
|||
btnLabel: '关闭' |
|||
} |
|||
], |
|||
size:'', |
|||
TableList:[], |
|||
formobj:[] |
|||
} |
|||
}, |
|||
mounted() { |
|||
// 初始化按钮 |
|||
this.$refs['btnbar'].setButtonList(this.btnList) |
|||
}, |
|||
created() { |
|||
this.loadList() |
|||
}, |
|||
methods: { |
|||
resetState() { |
|||
this.viewState = 1 |
|||
}, |
|||
btnHandle(btnKey) { |
|||
switch (btnKey) { |
|||
case 'toAdd': |
|||
this.toAdd() |
|||
break |
|||
case 'doClose': // 关闭 |
|||
this.doClose() |
|||
break |
|||
default: |
|||
break |
|||
} |
|||
}, |
|||
toAdd() { |
|||
this.viewState = 2 |
|||
this.$refs['divadd'].showAdd() |
|||
}, |
|||
toEdit(row) { |
|||
this.viewState = 3 |
|||
this.$refs['divadd'].showEdit(row) |
|||
this.drawer=false |
|||
}, |
|||
doDel(row) { |
|||
const sids = [] |
|||
sids.push(row.sid) |
|||
const tip = '请确认是否是否删除该条记录?' |
|||
this.$confirm(tip, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}) |
|||
.then(() => { |
|||
req |
|||
.delBySids(sids) |
|||
.then(resp => { |
|||
if (resp.success) { |
|||
this.$message({ type: 'success', message: resp.msg, showClose: true }) |
|||
this.loadList() |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
}) |
|||
.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 |
|||
}) |
|||
}, |
|||
// 序号 |
|||
indexMethod(index) { |
|||
var pagestart = (this.queryParams.current - 1) * this.queryParams.size |
|||
var pageindex = index + 1 + pagestart |
|||
return pageindex |
|||
}, |
|||
doClose() { |
|||
this.$store.dispatch('tagsView/delView', this.$route) |
|||
this.$router.go(-1) |
|||
}, |
|||
formatorderdegree: function( row, column) { |
|||
if(row.objectType === 1){ |
|||
return '供应商' |
|||
}else if(row.objectType === 2) { |
|||
return '仓库' |
|||
}else if(row.objectType === 3){ |
|||
return '门店' |
|||
} |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
<style scoped> |
|||
.margin-top { |
|||
border-bottom: 1px solid #ebebeb; |
|||
} |
|||
.item { |
|||
margin: 6px; |
|||
} |
|||
</style> |
@ -0,0 +1,430 @@ |
|||
<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="main-content"> |
|||
<div class="searchcon"> |
|||
<el-form v-show="isSearchShow" ref="form_obj" :model="formobj" :rules="rules" label-position="right" class="demo-form-inline"> |
|||
<div class="listtop"> |
|||
<div class="tit">巡视工单信息</div> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>客户名称:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-form-item prop="custname"> |
|||
<!--<el-input size="small" v-model="formobj.custname" placeholder="客户名称" class="addinputw" clearable />--> |
|||
<el-select |
|||
v-model="formobj.custid" |
|||
class="addinputw" |
|||
placeholder="客户名称" |
|||
size="small" |
|||
@change="custnamechangeValue($event)" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in custList" |
|||
:key="i" |
|||
:label="item.enterpriseName" |
|||
:value="item.sid" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>工单编号:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-form-item prop="orderno"><el-input size="small" v-model="formobj.orderno" placeholder="工单编号" class="addinputw" clearable /></el-form-item> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>工单名称:</span> |
|||
</el-col> |
|||
<el-col :span="2" class="trightb"> |
|||
<el-form-item prop="ordername"><el-input size="small" v-model="formobj.ordername" placeholder="工单名称" class="addinputw" clearable /></el-form-item> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>工单内容:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-form-item prop="ordercontent"><el-input size="small" v-model="formobj.ordercontent" placeholder="工单内容" class="addinputw" clearable /></el-form-item> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>模板:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-select @change="changeValue($event)" |
|||
v-model="formobj.templatesid" |
|||
class="addinputw" |
|||
placeholder="模板" |
|||
size="small" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in dataList" |
|||
:key="i" |
|||
:label="item.templatename" |
|||
:value="item.sid" |
|||
/> |
|||
</el-select> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>现场联系人:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-form-item prop="receiveperson"><el-input size="small" v-model="formobj.receiveperson" 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="3" class="trightb"> |
|||
<el-form-item prop="receivetel"><el-input size="small" v-model="formobj.receivetel" placeholder="现场联系人电话" class="addinputw" clearable /></el-form-item> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>巡视类型:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-select |
|||
v-model="formobj.ordertype" |
|||
class="addinputw" |
|||
placeholder="类型" |
|||
size="small" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in arr" |
|||
:key="i" |
|||
:label="item.type" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>等级:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-select |
|||
v-model="formobj.orderdegree" |
|||
class="addinputw" |
|||
placeholder="等级" |
|||
size="small" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in arrList" |
|||
:key="i" |
|||
:label="item.type" |
|||
:value="item.type" |
|||
/> |
|||
</el-select> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
<div class="listtop"> |
|||
<div class="tit">巡视人员</div> |
|||
<el-button class="span" type="primary" @click.stop="add()">新增</el-button> |
|||
</div> |
|||
<div> |
|||
<el-table ref="table" tooltip-effect="dark" :data="TabList" border style="width: 100%" stripe > |
|||
> |
|||
<el-table-column fixed width="100" type="index" label="序号" align="center" /> |
|||
<el-table-column label="操作" wid align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" size="mini" @click="doCommoditylDel(scope.$index)">删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="principalname" label="巡视人名称" align="center" > |
|||
<template slot-scope="scope"> |
|||
<el-input v-model="scope.row.principalname" placeholder="" clearable></el-input> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="principalcontact" label="联系方式" align="center" > |
|||
<template slot-scope="scope"> |
|||
<el-input v-model="scope.row.principalcontact" placeholder="" clearable></el-input> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="workteam" label="班组组织" align="center" > |
|||
<template slot-scope="scope"> |
|||
<el-input v-model="scope.row.workteam" placeholder="" clearable></el-input> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="executorname" label="是否负责人" width="150px" align="center" > |
|||
<template slot-scope="scope"> |
|||
<el-radio v-model="scope.row.executorname" label="是">是</el-radio> |
|||
<el-radio v-model="scope.row.executorname" label="否">否</el-radio> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div class="listtop"> |
|||
<div class="tit">任务模板</div> |
|||
</div> |
|||
<div> |
|||
<el-table :data="list" border style="width: 100%;text-align: center;"> |
|||
<el-table-column fixed width="100" type="index" label="序号" align="center" /> |
|||
<el-table-column prop="taskname" label="任务名称" width="200" align="center" /> |
|||
<el-table-column prop="taskdesc" label="巡视内容" align="center" /> |
|||
</el-table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/yxtdispatchcenter/dispatchorderinfo' |
|||
import req2 from '@/api/yxtdispatchcenter/dispatchmodletemplate' |
|||
export default { |
|||
name: 'DispatchOrderinfoAdd', |
|||
data() { |
|||
return { |
|||
submitdisabled: false, |
|||
isSearchShow: true, |
|||
viewTitle: '', |
|||
searchxianshitit: '显示添加条件', |
|||
formobj: { |
|||
id: '', |
|||
sid: '', |
|||
alarmid: "", |
|||
custid: '', // 客户ID |
|||
custname: '', // 客户名称 |
|||
supervisesid: '', // 监管公司id |
|||
orderno: '', // 工单编号 |
|||
ordername: '', // 工单名称 |
|||
templatesid: '', // 模板sid |
|||
orderdegree: '', // 描述:1-一般;2-重要; 3-紧急;4-督办。 |
|||
ordertype: '', // 描述:1-计划巡视; |
|||
ordercontent: '', // 工单内容 |
|||
receiveperson: '', // 现场联系人 |
|||
receivetel: '', // 现场联系人电话 |
|||
workers:[] |
|||
}, |
|||
custList:[], |
|||
arr:[{value:1,type:'计划巡视'},{value:2,type:'专项巡视'},{value:3,type:'告警巡视'}], |
|||
arrList:[{value:1,type:'一般'},{value:2,type:'重要'},{value:3,type:'紧急'},{value:4,type:'督办'}], |
|||
TabList:[], |
|||
dataList:[], |
|||
list:[], |
|||
rules: { |
|||
custid: [{ required: true, message: '客户ID不能为空', trigger: 'blur' }], // 客户ID |
|||
custname: [{ required: true, message: '客户名称不能为空', trigger: 'blur' }], // 客户名称 |
|||
supervisesid: [{ required: true, message: '监管公司id不能为空', trigger: 'blur' }], // 监管公司id |
|||
orderno: [{ required: true, message: '用法说明:工单编号规则。不能为空', trigger: 'blur' }], // 用法说明:工单编号规则。 |
|||
ordername: [{ required: true, message: '工单名称不能为空', trigger: 'blur' }], // 工单名称 |
|||
orderdegree: [{ required: true, message: '描述不能为空', trigger: 'blur' }], // 描述:1-一般;2-重要; 3-紧急;4-督办。 |
|||
ordertype: [{ required: true, message: '描述不能为空', trigger: 'blur' }], // 描述:1-计划巡视; |
|||
ordercontent: [{ required: true, message: '工单内容不能为空', trigger: 'blur' }], // 工单内容 |
|||
// arrivetime: [{ required: true, message: '到达现场时间不能为空', trigger: 'blur' }], // 到达现场时间 |
|||
// planfinishtime: [{ required: true, message: '完成时间不能为空', trigger: 'blur' }], // 完成时间 |
|||
operationcontent: [{ required: true, message: '处理情况不能为空', trigger: 'blur' }], // 处理情况 |
|||
receiveperson: [{ required: true, message: '现场联系人不能为空', trigger: 'blur' }], // 现场联系人 |
|||
receivetel: [{ required: true, message: '现场联系人电话不能为空', trigger: 'blur' }] // 现场联系人电话 |
|||
}, |
|||
queryParams: { |
|||
current: 1, |
|||
size: 100, |
|||
total: 0, |
|||
params: { |
|||
sids: [], |
|||
templateid: '', |
|||
taskid: '' |
|||
} |
|||
}, |
|||
queryParamsA: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
orderid:'', |
|||
templateid:'' |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
mounted(){ |
|||
req2.listPage(this.queryParams).then(resp => { |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.dataList = data.records |
|||
} |
|||
}) |
|||
req.entlistPage().then(resp => { |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.custList = data |
|||
} |
|||
}) |
|||
}, |
|||
created() {}, |
|||
methods: { |
|||
changeValue(value){ |
|||
this.queryParamsA.params.templateid= value; |
|||
this.ShowList(); |
|||
}, |
|||
custnamechangeValue(value){ |
|||
let enterpriseName = this.custList.find((item) => { |
|||
return item.sid == value; |
|||
}).enterpriseName; |
|||
this.formobj.custname=enterpriseName; |
|||
}, |
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.formobj.id = '' |
|||
this.formobj.sid = '' // SID |
|||
this.formobj.custid = '' // 客户ID |
|||
this.formobj.custname = '' // 客户名称 |
|||
this.formobj.supervisesid = '' // 监管公司id |
|||
this.formobj.orderno = '' // 用法说明:工单编号规则。 |
|||
this.formobj.ordername = '' // 工单名称 |
|||
this.formobj.orderdegree = '' // 描述:1-一般;2-重要; 3-紧急;4-督办。 |
|||
this.formobj.ordertype = '' // 描述:1-计划巡视; |
|||
this.formobj.templatesid = '' // 模板; |
|||
this.formobj.ordercontent = '' // 工单内容 |
|||
this.formobj.arrivetime = '' // 到达现场时间 |
|||
this.formobj.planfinishtime = '' // 完成时间 |
|||
this.formobj.operationcontent = '' // 处理情况 |
|||
this.formobj.receiveperson = '' // 现场联系人 |
|||
this.formobj.receivetel = '' // 现场联系人电话 |
|||
this.queryParamsA.params.orderid='' |
|||
this.$refs['form_obj'].resetFields() |
|||
this.$emit('doback') |
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏添加条件' |
|||
} else { |
|||
this.searchxianshitit = '显示添加条件' |
|||
} |
|||
}, |
|||
showAdd(row) { |
|||
this.formobj.alarmid=row.sid; |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.viewTitle = '【新增】工单数据' |
|||
this.ShowList() |
|||
}, |
|||
showEdit(row) { |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.searchxianshitit = '显示添加条件' |
|||
this.isSearchShow = true |
|||
this.viewTitle = '【修改】工单数据' |
|||
const _this = this |
|||
req |
|||
.fetchBySid(row.sid) |
|||
.then(resp => { |
|||
if (resp.code==200) { |
|||
const vdata = resp.data |
|||
_this.formobj.id = vdata.id |
|||
_this.formobj.sid = vdata.sid // SID |
|||
_this.formobj.custid = vdata.custid // 客户ID |
|||
_this.formobj.custname = vdata.custname // 客户名称 |
|||
_this.formobj.supervisesid = vdata.supervisesid // 监管公司id |
|||
_this.formobj.orderno = vdata.orderno // 工单编号 |
|||
_this.formobj.ordername = vdata.ordername // 工单名称 |
|||
_this.formobj.orderdegree = vdata.orderdegree // 描述:1-一般;2-重要; 3-紧急;4-督办。 |
|||
_this.formobj.ordertype = vdata.ordertype // 描述:1-计划巡视; |
|||
_this.formobj.ordercontent = vdata.ordercontent // 工单内容 |
|||
_this.formobj.receiveperson = vdata.receiveperson // 现场联系人 |
|||
_this.formobj.receivetel = vdata.receivetel // 现场联系人电话 |
|||
_this.formobj.templatesid = vdata.templatesid // 模板sid |
|||
this.queryParamsA.params.templateid= vdata.templatesid // 模板sid |
|||
// _this.formobj.workers = vdata.workers // 现场联系人电话 |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
.catch(e => { |
|||
this.formobj = row |
|||
}) |
|||
this.queryParamsA.params.orderid= row.sid |
|||
this.ShowList() |
|||
this.ShowYunwei() |
|||
}, |
|||
saveOrUpdate() { |
|||
this.formobj.workers=this.$refs.table.data; |
|||
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') |
|||
_this.queryParamsA.params.orderid='' |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
.catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} else { |
|||
return false |
|||
} |
|||
}) |
|||
}, |
|||
handleSelectionChange(val) { |
|||
this.formobj.workers = val; |
|||
}, |
|||
handleSelection(selection){ |
|||
if (selection.length > 1){ |
|||
let del_row = selection.shift(); |
|||
this.$refs.table.toggleRowSelection(del_row, false) |
|||
} |
|||
}, |
|||
add() { |
|||
this.TabList.push({ |
|||
|
|||
}) |
|||
}, |
|||
doCommoditylDel(index) { |
|||
const tip = '请确认是否删除所选记录?' |
|||
this.$confirm(tip, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.TabList.splice(index, 1); |
|||
}) |
|||
}, |
|||
// 查询运维人员信息 |
|||
ShowYunwei(){ |
|||
req.listPageB(this.queryParamsA).then((res)=>{ |
|||
this.TabList= res.data.records |
|||
}) |
|||
}, |
|||
// 查询任务项列表信息 |
|||
ShowList(){ |
|||
|
|||
var templateid=this.queryParamsA.params.templateid; |
|||
if (templateid==''){ |
|||
return; |
|||
} |
|||
req.listPageA(this.queryParamsA).then((res)=>{ |
|||
this.list = res.data.records |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped></style> |
@ -0,0 +1,41 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaygather; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.yxt.common.core.domain.EntityWithId; |
|||
import io.swagger.annotations.ApiModel; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/26 14:39 |
|||
*/ |
|||
|
|||
@ApiModel(value = "库存日报表-汇总", description = "库存日报表-汇总") |
|||
@TableName("report_inventory_day_gather") |
|||
@Data |
|||
public class ReportInventoryDayGather extends EntityWithId { |
|||
//记录创建时间
|
|||
private Date createTime; |
|||
//备注说明
|
|||
private String remarks; |
|||
//单据日期
|
|||
private String orderDate; |
|||
//编号
|
|||
private String serialNumber; |
|||
//上报时间
|
|||
private String reportTime; |
|||
//排序
|
|||
private Integer sort; |
|||
//仓库类型
|
|||
private String storeType; |
|||
//仓库数量
|
|||
private Integer storeNumber; |
|||
//品种数量
|
|||
private Integer productCountNumber; |
|||
//货值
|
|||
private double productAmount; |
|||
//合计货值
|
|||
private double countAmount; |
|||
} |
@ -0,0 +1,37 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaygather; |
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/26 14:39 |
|||
*/ |
|||
@Data |
|||
public class ReportInventoryDayGatherDto implements Dto { |
|||
private String id; |
|||
//记录创建时间
|
|||
private Date createTime; |
|||
//备注说明
|
|||
private String remarks; |
|||
//单据日期
|
|||
private String orderDate; |
|||
//编号
|
|||
private String serialNumber; |
|||
//上报时间
|
|||
private String reportTime; |
|||
//排序
|
|||
private Integer sort; |
|||
//仓库类型
|
|||
private String storeType; |
|||
//仓库数量
|
|||
private Integer storeNumber; |
|||
//品种数量
|
|||
private Integer productCountNumber; |
|||
//货值
|
|||
private double productAmount; |
|||
//合计货值
|
|||
private double countAmount; |
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaygather; |
|||
|
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.supervise.report.api.reportinventorydaystore.ReportInventoryDayStoreVo; |
|||
import com.yxt.supervise.report.api.reportinventorydaytobaccostore.ReportInventoryDayTobaccoStoreVo; |
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
import org.springframework.web.bind.annotation.ResponseBody; |
|||
|
|||
import java.util.ArrayList; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/27 14:05 |
|||
*/ |
|||
@Api(tags = "信息") |
|||
@FeignClient( |
|||
contextId = "supervise-report-reportinventorydaygather", |
|||
name = "supervise-report", |
|||
path = "reportinventory", |
|||
fallback = ReportInventoryDayGatherFeignFallback.class) |
|||
public interface ReportInventoryDayGatherFeign { |
|||
//
|
|||
@GetMapping("/getReportInventoryDayGathers") |
|||
@ResponseBody |
|||
public ResultBean<ReportInventoryDayGatherVo> getReportInventoryDayGathers(String orderDate); |
|||
@GetMapping("/getReportInventoryDayStores") |
|||
@ResponseBody |
|||
public ResultBean<ReportInventoryDayStoreVo> getReportInventoryDayStores(String orderDate); |
|||
@GetMapping("/getReportInventoryDayToStores") |
|||
@ResponseBody |
|||
public ResultBean<ReportInventoryDayTobaccoStoreVo> getReportInventoryDayToStores(String orderDate); |
|||
} |
@ -0,0 +1,33 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaygather; |
|||
|
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.supervise.report.api.reportinventorydaystore.ReportInventoryDayStoreVo; |
|||
import com.yxt.supervise.report.api.reportinventorydaytobaccostore.ReportInventoryDayTobaccoStoreVo; |
|||
import org.springframework.stereotype.Component; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
|
|||
import java.util.ArrayList; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/27 14:06 |
|||
*/ |
|||
@Component |
|||
public class ReportInventoryDayGatherFeignFallback implements ReportInventoryDayGatherFeign{ |
|||
|
|||
@Override |
|||
public ResultBean<ReportInventoryDayGatherVo> getReportInventoryDayGathers(String orderDate) { |
|||
return null; |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<ReportInventoryDayStoreVo> getReportInventoryDayStores(String orderDate) { |
|||
return null; |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<ReportInventoryDayTobaccoStoreVo> getReportInventoryDayToStores(String orderDate) { |
|||
return null; |
|||
} |
|||
} |
@ -0,0 +1,37 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaygather; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/26 14:39 |
|||
*/ |
|||
@Data |
|||
public class ReportInventoryDayGatherQuery implements Query { |
|||
private String id; |
|||
//记录创建时间
|
|||
private Date createTime; |
|||
//备注说明
|
|||
private String remarks; |
|||
//单据日期
|
|||
private String orderDate; |
|||
//编号
|
|||
private String serialNumber; |
|||
//上报时间
|
|||
private String reportTime; |
|||
//排序
|
|||
private Integer sort; |
|||
//仓库类型
|
|||
private String storeType; |
|||
//仓库数量
|
|||
private Integer storeNumber; |
|||
//品种数量
|
|||
private Integer productCountNumber; |
|||
//货值
|
|||
private double productAmount; |
|||
//合计货值
|
|||
private double countAmount; |
|||
} |
@ -0,0 +1,40 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaygather; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/26 14:39 |
|||
*/ |
|||
@Data |
|||
public class ReportInventoryDayGatherVo implements Vo { |
|||
private String id; |
|||
//记录创建时间
|
|||
private Date createTime; |
|||
//备注说明
|
|||
private String remarks; |
|||
//单据日期
|
|||
private String orderDate; |
|||
//编号
|
|||
private String serialNumber; |
|||
//上报时间
|
|||
private String reportTime; |
|||
//排序
|
|||
private Integer sort; |
|||
//仓库类型
|
|||
private String storeType; |
|||
//仓库数量
|
|||
private Integer storeNumber; |
|||
//品种数量
|
|||
private Integer productCountNumber; |
|||
//货值
|
|||
private BigDecimal productAmount; |
|||
//合计货值
|
|||
private BigDecimal countAmount; |
|||
private List<ReportInventoryDayGatherVo> list; |
|||
} |
@ -0,0 +1,28 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaystore; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.yxt.common.core.domain.EntityWithId; |
|||
import io.swagger.annotations.ApiModel; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/26 17:58 |
|||
*/ |
|||
@ApiModel(value = "仓库库存报表-汇总", description = "仓库库存报表-汇总") |
|||
@TableName("report_inventory_day_store") |
|||
@Data |
|||
public class ReportInventoryDayStore extends EntityWithId { |
|||
private String createTime; |
|||
private String remarks; |
|||
private String orderDate; |
|||
private String serialNumber; |
|||
private String reportTime; |
|||
private String warehouseType; |
|||
private String storeCode; |
|||
private String storeCodeName; |
|||
private String productCountNumber; |
|||
private String productAmount; |
|||
private String countAmount; |
|||
private String countProductNumber; |
|||
} |
@ -0,0 +1,25 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaystore; |
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/26 17:59 |
|||
*/ |
|||
@Data |
|||
public class ReportInventoryDayStoreDto implements Dto { |
|||
private String id; |
|||
private String createTime; |
|||
private String remarks; |
|||
private String orderDate; |
|||
private String serialNumber; |
|||
private String reportTime; |
|||
private String warehouseType; |
|||
private String storeCode; |
|||
private String storeCodeName; |
|||
private String productCountNumber; |
|||
private String productAmount; |
|||
private String countAmount; |
|||
private String countProductNumber; |
|||
} |
@ -0,0 +1,25 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaystore; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/26 17:59 |
|||
*/ |
|||
@Data |
|||
public class ReportInventoryDayStoreQuery implements Query { |
|||
private String id; |
|||
private String createTime; |
|||
private String remarks; |
|||
private String orderDate; |
|||
private String serialNumber; |
|||
private String reportTime; |
|||
private String warehouseType; |
|||
private String storeCode; |
|||
private String storeCodeName; |
|||
private String productCountNumber; |
|||
private String productAmount; |
|||
private String countAmount; |
|||
private String countProductNumber; |
|||
} |
@ -0,0 +1,30 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaystore; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/26 17:59 |
|||
*/ |
|||
@Data |
|||
public class ReportInventoryDayStoreVo implements Vo { |
|||
|
|||
private String id; |
|||
private String createTime; |
|||
private String remarks; |
|||
private String orderDate; |
|||
private String serialNumber; |
|||
private String reportTime; |
|||
private String warehouseType; |
|||
private String storeCode; |
|||
private String storeCodeName; |
|||
private Integer productCountNumber; |
|||
private BigDecimal productAmount; |
|||
private BigDecimal countAmount; |
|||
private BigDecimal countProductNumber; |
|||
private List<ReportInventoryDayStoreVo> list; |
|||
} |
@ -0,0 +1,40 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaytobaccostore; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.yxt.common.core.domain.EntityWithId; |
|||
import io.swagger.annotations.ApiModel; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/27 8:48 |
|||
*/ |
|||
@ApiModel(value = "仓库库存报表-汇总", description = "仓库库存报表-汇总") |
|||
@TableName("report_inventory_day_tobacco_store") |
|||
@Data |
|||
public class ReportInventoryDayTobaccoStore extends EntityWithId { //记录创建时间
|
|||
private String createTime; |
|||
//备注说明
|
|||
private String remarks; |
|||
//单据日期
|
|||
private String orderDate; |
|||
//编号
|
|||
private String serialNumber; |
|||
//上报时间
|
|||
private String reportTime; |
|||
//仓库类型
|
|||
private String warehouseType; |
|||
//门店编号
|
|||
private String storeCode; |
|||
//[门店编号]门店名称
|
|||
private String storeCodeName; |
|||
//品种数量
|
|||
private String productCountNumber; |
|||
//货值
|
|||
private String productAmount; |
|||
//合计货值
|
|||
private String countAmount; |
|||
//合计品种数量
|
|||
private String countProductNumber; |
|||
|
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaytobaccostore; |
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/27 8:48 |
|||
*/ |
|||
public class ReportInventoryDayTobaccoStoreDto implements Dto { |
|||
//记录创建时间
|
|||
private String createTime; |
|||
//备注说明
|
|||
private String remarks; |
|||
//单据日期
|
|||
private String orderDate; |
|||
//编号
|
|||
private String serialNumber; |
|||
//上报时间
|
|||
private String reportTime; |
|||
//仓库类型
|
|||
private String warehouseType; |
|||
//门店编号
|
|||
private String storeCode; |
|||
//[门店编号]门店名称
|
|||
private String storeCodeName; |
|||
//品种数量
|
|||
private String productCountNumber; |
|||
//货值
|
|||
private String productAmount; |
|||
//合计货值
|
|||
private String countAmount; |
|||
//合计品种数量
|
|||
private String countProductNumber; |
|||
|
|||
} |
@ -0,0 +1,35 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaytobaccostore; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/27 8:49 |
|||
*/ |
|||
public class ReportInventoryDayTobaccoStoreQuery implements Query { |
|||
//记录创建时间
|
|||
private String createTime; |
|||
//备注说明
|
|||
private String remarks; |
|||
//单据日期
|
|||
private String orderDate; |
|||
//编号
|
|||
private String serialNumber; |
|||
//上报时间
|
|||
private String reportTime; |
|||
//仓库类型
|
|||
private String warehouseType; |
|||
//门店编号
|
|||
private String storeCode; |
|||
//[门店编号]门店名称
|
|||
private String storeCodeName; |
|||
//品种数量
|
|||
private String productCountNumber; |
|||
//货值
|
|||
private String productAmount; |
|||
//合计货值
|
|||
private String countAmount; |
|||
//合计品种数量
|
|||
private String countProductNumber; |
|||
|
|||
} |
@ -0,0 +1,41 @@ |
|||
package com.yxt.supervise.report.api.reportinventorydaytobaccostore; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/27 8:49 |
|||
*/ |
|||
@Data |
|||
public class ReportInventoryDayTobaccoStoreVo implements Vo { |
|||
private String id; |
|||
//记录创建时间
|
|||
private String createTime; |
|||
//备注说明
|
|||
private String remarks; |
|||
//单据日期
|
|||
private String orderDate; |
|||
//编号
|
|||
private String serialNumber; |
|||
//上报时间
|
|||
private String reportTime; |
|||
//仓库类型
|
|||
private String warehouseType; |
|||
//门店编号
|
|||
private String storeCode; |
|||
//[门店编号]门店名称
|
|||
private String storeCodeName; |
|||
//品种数量
|
|||
private Integer productCountNumber; |
|||
//货值
|
|||
private BigDecimal productAmount; |
|||
//合计货值
|
|||
private BigDecimal countAmount; |
|||
//合计品种数量
|
|||
private BigDecimal countProductNumber; |
|||
private List<ReportInventoryDayTobaccoStoreVo> list; |
|||
} |
@ -0,0 +1,64 @@ |
|||
package com.yxt.supervise.report.biz.reportinventory; |
|||
|
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.supervise.report.api.reportinventorydaygather.ReportInventoryDayGatherVo; |
|||
import com.yxt.supervise.report.api.reportinventorydaystore.ReportInventoryDayStoreVo; |
|||
import com.yxt.supervise.report.api.reportinventorydaytobaccostore.ReportInventoryDayTobaccoStoreVo; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.PathVariable; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @author wangpengfei |
|||
* @date 2023/6/27 17:43 |
|||
*/ |
|||
@RestController("com.yxt.supervise.report.biz.reportinventory.reportInventoryWxRest") |
|||
@RequestMapping("reportwxmpapi/reportinventory") |
|||
public class ReportInventoryWxRest { |
|||
@Autowired |
|||
private ReportInventoryDayGatherService reportInventoryDayGatherService; |
|||
@Autowired |
|||
private ReportInventoryDayStoreService reportInventoryDayStoreService; |
|||
@Autowired |
|||
private ReportInventoryDayTobaccoStoreService reportInventoryDayTobaccoStoreService; |
|||
|
|||
//
|
|||
@GetMapping("/getReportInventoryDayGather/{orderDate}") |
|||
public ResultBean<ReportInventoryDayGatherVo> getReportInventoryDayGather(@PathVariable("orderDate") String orderDate){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
ReportInventoryDayGatherVo gather = reportInventoryDayGatherService.getReportInventoryDayGather(orderDate); |
|||
ReportInventoryDayStoreVo store = reportInventoryDayStoreService.getReportInventoryDayStore(orderDate); |
|||
ReportInventoryDayTobaccoStoreVo tobaccoStore = reportInventoryDayTobaccoStoreService.getReportInventoryDayToStore(orderDate); |
|||
List<Object> list =new ArrayList<>(); |
|||
list.add(gather); |
|||
list.add(store); |
|||
list.add(tobaccoStore); |
|||
// if(null==pv){
|
|||
// return rb.success().setData(new ArrayList<>());
|
|||
// }
|
|||
return rb.success().setData(list); |
|||
} |
|||
@GetMapping("/getReportInventoryDayStore/{orderDate}") |
|||
public ResultBean<ReportInventoryDayStoreVo> getReportInventoryDayStore(@PathVariable("orderDate") String orderDate){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
ReportInventoryDayStoreVo pv = reportInventoryDayStoreService.getReportInventoryDayStore(orderDate); |
|||
if(null==pv){ |
|||
return rb.success().setData(new ArrayList<>()); |
|||
} |
|||
return rb.success().setData(pv); |
|||
} |
|||
@GetMapping("/getReportInventoryDayToStore/{orderDate}") |
|||
public ResultBean<ReportInventoryDayTobaccoStoreVo> getReportInventoryDayToStore(@PathVariable("orderDate") String orderDate){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
ReportInventoryDayTobaccoStoreVo pv = reportInventoryDayTobaccoStoreService.getReportInventoryDayToStore(orderDate); |
|||
if(null==pv){ |
|||
return rb.success().setData(new ArrayList<>()); |
|||
} |
|||
return rb.success().setData(pv); |
|||
} |
|||
} |
@ -0,0 +1,15 @@ |
|||
package com.supervise.rms.api.riskblacklist; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author feikefei |
|||
* @create 2023-06-26-11:17 |
|||
*/ |
|||
@Data |
|||
public class RiskBlacklistQuery implements Query { |
|||
@ApiModelProperty("风险对象类型1.供应商2.仓库3.门店") |
|||
private Integer objectType; |
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.supervise.rms.api.riskblacklist; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @author feikefei |
|||
* @create 2023-06-26-11:18 |
|||
*/ |
|||
@Data |
|||
public class RiskBlacklistVo implements Vo { |
|||
private Integer id; |
|||
private String sid; |
|||
@ApiModelProperty("备注信息") |
|||
private String remarks; |
|||
@ApiModelProperty("风险对象Sid") |
|||
private String objectSid; |
|||
@ApiModelProperty("风险对象类型1.供应商2.仓库3.门店") |
|||
private Integer objectType; |
|||
} |
@ -0,0 +1,47 @@ |
|||
package com.supervise.rms.api.riskindex; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.TableName; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import io.swagger.annotations.ApiModel; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
import java.util.UUID; |
|||
|
|||
/** |
|||
* @author feikefei |
|||
* @create 2023-06-16-10:11 |
|||
*/ |
|||
@Data |
|||
@ApiModel(value = "监控指标表", description = "监控指标表") |
|||
@TableName("risk_index") |
|||
public class RiskIndex { |
|||
@ApiModelProperty("ID,唯一编号") |
|||
private Integer id; |
|||
@ApiModelProperty("字符型编号") |
|||
private String sid = UUID.randomUUID().toString(); |
|||
@ApiModelProperty("记录创建时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") |
|||
private Date createTime = new Date(); |
|||
@ApiModelProperty("备注信息") |
|||
private String remarks; |
|||
@ApiModelProperty("代码") |
|||
private String code; |
|||
@ApiModelProperty("名称") |
|||
private String name; |
|||
@ApiModelProperty("指标说明") |
|||
private String content; |
|||
@ApiModelProperty("风险等级(程度)Sid") |
|||
private String levelSid; |
|||
@ApiModelProperty("风险等级(程度)代码") |
|||
private String levelCode; |
|||
@ApiModelProperty("风险等级(程度)名称") |
|||
private String levelName; |
|||
@ApiModelProperty("风险类别Sid") |
|||
private String typeSid; |
|||
@ApiModelProperty("风险类别代码") |
|||
private String typeCode; |
|||
@ApiModelProperty("风险类别名称") |
|||
private String typeName; |
|||
} |
@ -0,0 +1,38 @@ |
|||
package com.supervise.rms.api.riskindex; |
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author feikefei |
|||
* @create 2023-06-16-10:11 |
|||
*/ |
|||
@Data |
|||
public class RiskIndexDto implements Dto { |
|||
private Integer id; |
|||
private String sid; |
|||
private Date createTime; |
|||
@ApiModelProperty("备注信息") |
|||
private String remarks; |
|||
@ApiModelProperty("代码") |
|||
private String code; |
|||
@ApiModelProperty("名称") |
|||
private String name; |
|||
@ApiModelProperty("指标说明") |
|||
private String content; |
|||
@ApiModelProperty("风险等级(程度)Sid") |
|||
private String levelSid; |
|||
@ApiModelProperty("风险等级(程度)代码") |
|||
private String levelCode; |
|||
@ApiModelProperty("风险等级(程度)名称") |
|||
private String levelName; |
|||
@ApiModelProperty("风险类别Sid") |
|||
private String typeSid; |
|||
@ApiModelProperty("风险类别代码") |
|||
private String typeCode; |
|||
@ApiModelProperty("风险类别名称") |
|||
private String typeName; |
|||
} |
@ -0,0 +1,28 @@ |
|||
package com.supervise.rms.api.riskindex; |
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import com.yxt.common.core.query.Query; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author feikefei |
|||
* @create 2023-06-16-10:11 |
|||
*/ |
|||
@Data |
|||
public class RiskIndexQuery implements Query { |
|||
@ApiModelProperty("代码") |
|||
private String code; |
|||
@ApiModelProperty("名称") |
|||
private String name; |
|||
@ApiModelProperty("风险等级(程度)代码") |
|||
private String levelCode; |
|||
@ApiModelProperty("风险等级(程度)名称") |
|||
private String levelName; |
|||
@ApiModelProperty("风险类别代码") |
|||
private String typeCode; |
|||
@ApiModelProperty("风险类别名称") |
|||
private String typeName; |
|||
} |
@ -0,0 +1,40 @@ |
|||
package com.supervise.rms.api.riskindex; |
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author feikefei |
|||
* @create 2023-06-16-10:11 |
|||
*/ |
|||
@Data |
|||
public class RiskIndexVo implements Vo { |
|||
private Integer id; |
|||
private String sid; |
|||
private Date createTime; |
|||
@ApiModelProperty("备注信息") |
|||
private String remarks; |
|||
@ApiModelProperty("代码") |
|||
private String code; |
|||
@ApiModelProperty("名称") |
|||
private String name; |
|||
@ApiModelProperty("指标说明") |
|||
private String content; |
|||
@ApiModelProperty("风险等级(程度)Sid") |
|||
private String levelSid; |
|||
@ApiModelProperty("风险等级(程度)代码") |
|||
private String levelCode; |
|||
@ApiModelProperty("风险等级(程度)名称") |
|||
private String levelName; |
|||
@ApiModelProperty("风险类别Sid") |
|||
private String typeSid; |
|||
@ApiModelProperty("风险类别代码") |
|||
private String typeCode; |
|||
@ApiModelProperty("风险类别名称") |
|||
private String typeName; |
|||
private String bigTypeName; |
|||
} |
@ -1,7 +1,10 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.supervise.rms.biz.riskblacklist.RiskBlacklistMapper"> |
|||
<select id="selectRiskBlackList" resultType="com.supervise.rms.api.riskblacklist.RiskBlacklist"> |
|||
<select id="selectRiskBlackList" resultType="com.supervise.rms.api.riskblacklist.RiskBlacklistVo"> |
|||
select * from risk_blacklist |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,19 @@ |
|||
package com.supervise.rms.biz.riskindex; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.Wrapper; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.core.toolkit.Constants; |
|||
import com.supervise.rms.api.riskindex.RiskIndex; |
|||
import com.supervise.rms.api.riskindex.RiskIndexVo; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
/** |
|||
* @author feikefei |
|||
* @create 2023-06-16-10:19 |
|||
*/ |
|||
@Mapper |
|||
public interface RiskIndexMapper extends BaseMapper<RiskIndex> { |
|||
IPage<RiskIndexVo> listPage(IPage<RiskIndex> page, @Param(Constants.WRAPPER) Wrapper<RiskIndex> qw); |
|||
} |
@ -0,0 +1,12 @@ |
|||
<?xml version="1.0" encoding="UTF-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.supervise.rms.biz.riskindex.RiskIndexMapper"> |
|||
<select id="listPage" resultType="com.supervise.rms.api.riskindex.RiskIndexVo"> |
|||
select i.*,t.name bigTypeName from risk_index i |
|||
left join risk_type l on i.typeSid = l.sid |
|||
left join risk_type t on l.parentSid = t.sid |
|||
<where> |
|||
${ew.sqlSegment} |
|||
</where> |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,47 @@ |
|||
package com.supervise.rms.biz.riskindex; |
|||
|
|||
import com.supervise.rms.api.riskindex.RiskIndexDto; |
|||
import com.supervise.rms.api.riskindex.RiskIndexQuery; |
|||
import com.supervise.rms.api.riskindex.RiskIndexVo; |
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @author feikefei |
|||
* @create 2023-06-16-10:18 |
|||
*/ |
|||
@Api(tags = "监控指标表") |
|||
@RestController("com.supervise.rmc.biz.riskindex.RiskIndexRest") |
|||
@RequestMapping("v1/riskIndex") |
|||
public class RiskIndexRest { |
|||
|
|||
@Autowired |
|||
private RiskIndexService riskIndicatorService; |
|||
|
|||
@ApiOperation("保存监控指标") |
|||
@PostMapping("/saveRiskIndex") |
|||
public ResultBean saveRiskIndex(@RequestBody RiskIndexDto dto) { |
|||
return riskIndicatorService.saveRiskIndex(dto); |
|||
} |
|||
|
|||
@ApiOperation("查询监控指标分页列表") |
|||
@PostMapping("/listPage") |
|||
public ResultBean listPage(@RequestBody PagerQuery<RiskIndexQuery> pq){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
PagerVo<RiskIndexVo> listPage = riskIndicatorService.listPage(pq); |
|||
return rb.success().setData(listPage); |
|||
} |
|||
|
|||
@ApiOperation("删除监控指标") |
|||
@GetMapping("/del/{sid}") |
|||
public ResultBean del(@PathVariable String sid){ |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
riskIndicatorService.deleteBySid(sid); |
|||
return rb.success().setMsg("删除成功"); |
|||
} |
|||
} |
@ -0,0 +1,67 @@ |
|||
package com.supervise.rms.biz.riskindex; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.supervise.rms.api.riskindex.RiskIndex; |
|||
import com.supervise.rms.api.riskindex.RiskIndexDto; |
|||
import com.supervise.rms.api.riskindex.RiskIndexQuery; |
|||
import com.supervise.rms.api.riskindex.RiskIndexVo; |
|||
import com.supervise.rms.api.riskindicators.RiskIndicators; |
|||
import com.supervise.rms.api.riskindicators.RiskIndicatorsDto; |
|||
import com.supervise.rms.api.riskindicators.RiskIndicatorsQuery; |
|||
import com.supervise.rms.api.riskindicators.RiskIndicatorsVo; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import com.yxt.common.base.utils.PagerUtil; |
|||
import com.yxt.common.base.utils.StringUtils; |
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import org.springframework.beans.BeanUtils; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
/** |
|||
* @author feikefei |
|||
* @create 2023-06-16-10:18 |
|||
*/ |
|||
@Service |
|||
public class RiskIndexService extends MybatisBaseService<RiskIndexMapper, RiskIndex> { |
|||
|
|||
public ResultBean saveRiskIndex(RiskIndexDto dto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
String sid = dto.getSid(); |
|||
if(StringUtils.isBlank(sid)){ |
|||
//新增
|
|||
RiskIndex riskIndex = new RiskIndex(); |
|||
BeanUtils.copyProperties(dto, riskIndex,"sid"); |
|||
boolean isSave = save(riskIndex); |
|||
if(!isSave){ |
|||
return rb.setMsg("保存失败"); |
|||
} |
|||
sid = riskIndex.getSid(); |
|||
}else{ |
|||
//更新
|
|||
RiskIndex riskIndex = fetchBySid(dto.getSid()); |
|||
if(riskIndex == null){ |
|||
return rb.setMsg("该条记录不存在"); |
|||
} |
|||
BeanUtils.copyProperties(dto, riskIndex); |
|||
boolean isUpdate = updateById(riskIndex); |
|||
if(!isUpdate){ |
|||
return rb.setMsg("更新失败"); |
|||
} |
|||
} |
|||
return rb.success().setData(sid).setMsg("保存成功"); |
|||
} |
|||
|
|||
public PagerVo<RiskIndexVo> listPage(PagerQuery<RiskIndexQuery> pq){ |
|||
RiskIndexQuery params = pq.getParams(); |
|||
QueryWrapper<RiskIndex> wq = new QueryWrapper<>(); |
|||
if (StringUtils.isNotNull(params)){ |
|||
|
|||
} |
|||
IPage<RiskIndex> page = PagerUtil.queryToPage(pq); |
|||
IPage<RiskIndexVo> iPage = baseMapper.listPage(page, wq); |
|||
PagerVo<RiskIndexVo> pageToVo = PagerUtil.pageToVo(iPage, null); |
|||
return pageToVo; |
|||
} |
|||
} |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue