Browse Source

5-5

醇油坊
master
guoxing 2 years ago
parent
commit
15c50b2d15
  1. 2
      yxt-supervise-cyf/yxt-supervise-cyf-ui/.env.development
  2. 5
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/App.vue
  3. 92
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/inAndOutBound/inAndOutBound.js
  4. 58
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/oilTank/oilTank.js
  5. 46
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/oilType/oilType.js
  6. 94
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/project/project.js
  7. 108
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/layout/components/Sidebar/index.vue
  8. 120
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/main.js
  9. 40
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/router/index.js
  10. 10
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/router/modules/codemenu.js
  11. 227
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/inAndOutBound/inBoundAdd.vue
  12. 348
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/inAndOutBound/index.vue
  13. 215
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/inAndOutBound/outBoundAdd.vue
  14. 255
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/oilTank/index.vue
  15. 203
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/oilTank/oilTankAdd.vue
  16. 57
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/oilType/index.vue
  17. 179
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/oilType/oilTypeAdd.vue
  18. 2
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/oilType/oilTypeInfo.vue
  19. 537
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/project/projectAdd.vue

2
yxt-supervise-cyf/yxt-supervise-cyf-ui/.env.development

@ -5,5 +5,5 @@ ENV = 'development'
VUE_APP_BASE_API = '/api'
## 配置测试和本地开发时的 接口地址
VUE_APP_URL = "http://192.168.3.173:8112"
VUE_APP_URL = "http://192.168.3.173:7101"
##VUE_APP_URL = "http://8.130.39.13:8112"

5
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/App.vue

@ -7,8 +7,11 @@
<script>
export default {
name: 'App',
created() {
console.log('resss', 11111111111111111111111111)
},
mounted() {
},
}
</script>

92
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/inAndOutBound/inAndOutBound.js

@ -0,0 +1,92 @@
import request from '@/utils/request'
export default {
// 获取油罐
tankList: function(params) {
return request({
url: '/cyf/tankinfo/tankList',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
// 入库
logPagerList: function(params) {
return request({
url: '/cyf/crudestorage/listPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
intAddInfo: function(data) {
return request({
url: '/cyf/crudestorage/save',
method: 'post',
data: data
});
},
// 出库
// 查询分页列表
in112PagerList: function(params) {
return request({
url: '/cyf/crudeoutbound/listPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
outAddInfo: function(data) {
return request({
url: '/cyf/crudeoutbound/save',
method: 'post',
data: data
});
},
crudeinfoList: function(params) {
return request({
url: '/cyf/crudeinfo/list',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
fetchBySid: function(sid) {
return request({
url: '/cyf/crudeinfo/getCrudeBySid/' + sid
})
},
updateData: function(data) {
return request({
url: '/cyf/crudeinfo/update',
method: 'post',
data: data
});
},
delBySids: function(sid) {
return request({
url: '/cyf/crudeinfo/delete/' + sid,
method: 'delete'
})
},
}

58
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/oilTank/oilTank.js

@ -0,0 +1,58 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/cyf/tankinfo/listPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
addInfo: function(data) {
return request({
url: '/cyf/tankinfo/save',
method: 'post',
data: data
});
},
crudeinfoList: function(params) {
return request({
url: '/cyf/crudeinfo/list',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
fetchBySid: function(sid) {
return request({
url: '/cyf/crudeinfo/getCrudeBySid/' + sid
})
},
updateData: function(data) {
return request({
url: '/cyf/crudeinfo/update',
method: 'post',
data: data
});
},
delBySids: function(sid) {
return request({
url: '/cyf/crudeinfo/delete/' + sid,
method: 'delete'
})
},
}

46
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/oilType/oilType.js

@ -0,0 +1,46 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/cyf/crudeinfo/listPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
addInfo: function(data) {
return request({
url: '/cyf/crudeinfo/save',
method: 'post',
data: data
});
},
fetchBySid: function(sid) {
return request({
url: '/cyf/crudeinfo/getCrudeBySid/' + sid
})
},
updateData: function(data) {
return request({
url: '/cyf/crudeinfo/update',
method: 'post',
data: data
});
},
delBySids: function(sid) {
return request({
url: '/cyf/crudeinfo/delete/' + sid,
method: 'delete'
})
},
}

94
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/project/project.js

@ -1,94 +0,0 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
baseURL: '/api/crm',
url: '/v1/projectinformation/listPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
},
// 获取贷款行
getLoanbankinformation: function(data) {
return request({
baseURL: '/api/crm',
url: '/v1/loanbankinformation/list',
data,
method: 'post',
params: data,
})
},
// 获取项目单位
getEnterpriseinformation: function(data) {
return request({
baseURL: '/api/crm',
url: '/v1/enterpriseinformation/list',
data,
method: 'post',
params: data,
})
},
// 获取行业字典信息
getIndustrydictionary: function(data) {
return request({
baseURL: '/api/crm',
url: '/v1/industrydictionary/list',
data,
method: 'post',
params: data,
})
},
// 获取类型字典信息
getProjtypedictionary: function(data) {
return request({
baseURL: '/api/crm',
url: '/v1/projtypedictionary/list',
data,
method: 'post',
params: data,
})
},
addInfo: function(data) {
return request({
baseURL: "/api/crm",
url: '/v1/projectinformation/save',
method: 'post',
data: data
});
},
fetchBySid: function(sid) {
return request({
baseURL: '/api/crm',
url: '/v1/projectinformation/getProjectBySid/' + sid
})
},
updateData: function(data) {
return request({
baseURL: "/api/crm",
url: '/v1/projectinformation/update',
method: 'post',
data: data
});
},
delBySids: function(sid) {
return request({
baseURL: '/api/crm',
url: '/v1/projectinformation/delete/' + sid,
method: 'delete'
})
},
}

108
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/layout/components/Sidebar/index.vue

@ -1,14 +1,15 @@
<template>
<div :class="{'has-logo':showLogo}">
<div :class="{'has-logo':showLogo}">
<logo v-if="showLogo" :collapse="isCollapse" />
<el-scrollbar wrap-class="scrollbar-wrapper">
<el-menu :default-active="activeMenu" :background-color="variables.menuBg" :text-color="variables.menuText"
:unique-opened="false" :active-text-color="variables.menuActiveText" :collapse-transition="false"
mode="vertical">
:unique-opened="false" :active-text-color="variables.menuActiveText" :collapse-transition="false"
mode="vertical">
<sidebar-item v-for="route in routes" :key="route.path" :item="route" :base-path="route.path" />
</el-menu>
</el-scrollbar>
</div>
</template>
<script>
@ -33,11 +34,52 @@
data() {
return {
YongHuid: [],
routes: [],
// routes: [],
params: {
sourceSid: '9d048c07-7677-4774-9177-aa02b049ff06',
userSid: '',
}
},
routes: [{
alwaysShow: true,
component: 'index',
meta: {
icon: "el-icon-menu",
title: "原油类型"
},
name: "/oilType/index",
path: "/oilType/index"
},
{
alwaysShow: true,
component: 'index',
meta: {
icon: "el-icon-menu",
title: "油罐类型"
},
name: "/oilTank/index",
path: "/oilTank/index"
},
{
alwaysShow: true,
component: 'index',
meta: {
icon: "el-icon-menu",
title: "出入库记录"
},
name: "/inAndOutBound/index",
path: "/inAndOutBound/index"
},
// {
// alwaysShow: true,
// component: 'index',
// meta: {
// icon: "el-icon-menu",
// title: ""
// },
// name: "/project/index",
// path: "/project/index"
// },
]
}
},
computed: {
@ -50,16 +92,16 @@
// return this.$router.options.routes
// },
activeMenu() {
const route = this.$route
const {
meta,
path
} = route
// if set path, the sidebar will highlight the path you set
if (meta.activeMenu) {
return meta.activeMenu
}
return path
// const route = this.$route
// const {
// meta,
// path
// } = route
// // if set path, the sidebar will highlight the path you set
// if (meta.activeMenu) {
// return meta.activeMenu
// }
return "/index"
},
showLogo() {
return this.$store.state.settings.sidebarLogo
@ -77,23 +119,24 @@
methods: {
//
postHuoquyonghu() {
var token = getStorage()
loginDetails(token).then((response) => {
console.log('resss', response)
if (response.code === '200') {
this.YongHuid = response.data
this.params.userSid = this.YongHuid.sid
getrolemenus(this.params).then((res) => {
const userRoles = this.resRouter(res.data)
userRoles.push({
path: '*',
redirect: '/404',
hidden: true
})
return userRoles
})
}
// var token = getStorage()
// loginDetails(token).then((response) => {
// console.log('resss', response)
// if (response.code === '200') {
// this.YongHuid = response.data
// this.params.userSid = this.YongHuid.sid
// getrolemenus(this.params).then((res) => {
// const userRoles = this.resRouter(res.data)
this.routes.push({
path: '*',
redirect: '/404',
hidden: true
})
console.log('左侧菜单', this.routes)
return this.routes
// })
// }
// })
},
resRouter(menus) {
//
@ -113,8 +156,7 @@
redirect: menus[i].path,
children: [menus[i]],
}
}
else{
} else {
// menus[i] = {
// path: menus[i].path,
// component: '',

120
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/main.js

@ -43,14 +43,14 @@ VueAMap.initAMapApiLoader({
Vue.config.productionTip = false
let token = null
token = GetQueryString('token')
if (token) {
setStorage(token)
const href = window.location.href
// href = href.split(`token=${token}`)[0]
// window.location.href = href.slice(0, href.length - 1)
}
// let token = null
// token = GetQueryString('token')
// if (token) {
// setStorage(token)
// const href = window.location.href
// // href = href.split(`token=${token}`)[0]
// // window.location.href = href.slice(0, href.length - 1)
// }
var one = window.location.href.indexOf('&organizationData') + 18
if (parseInt(one) > 18) {
@ -63,68 +63,68 @@ if (parseInt(one) > 18) {
}
}
// 获取登录用户信息
// // 获取登录用户信息
function getUserInfo() {
return request({
baseURL: '/api',
url: '/portal/v1/sysuser/loginDetails',
method: 'post',
headers: {
'Content-Type': 'application/json'
}
}).then(rep => {
const data = rep.data
const user = {
roleSid: data.roleSid,
name: data.name,
userName: data.userName,
departmentName: data.departmentName, // 部门名称
departmentSid: data.departmentSid, // 部门sid
isAdmin: data.isAdmin,
staffSid: data.staffSid, // 业务员sid
userSid: data.sid,
orgSid: data.organizationSid, // 单位sid
Orgname: data.organizationName,
dwjb: data.dwjb,
orgNamePath: data.orgNamePath, // 使用组织全路径名称
orgSidPath: data.orgSidPath // 使用组织全路径Sid
}
// 结果存入缓存
window.sessionStorage.setItem('staffSid', user.staffSid)
window.sessionStorage.setItem('userSid', user.userSid)
window.sessionStorage.setItem('Orgname', user.Orgname)
window.sessionStorage.setItem('orgSid', user.orgSid)
window.sessionStorage.setItem('departmentName', user.departmentName)
window.sessionStorage.setItem('name', user.name)
window.sessionStorage.setItem('user', user)
window.sessionStorage.setItem('departmentName', user.departmentName)
window.sessionStorage.setItem('departmentSid', user.departmentSid)
window.sessionStorage.setItem('orgNamePath', user.orgNamePath)
window.sessionStorage.setItem('orgSidPath', user.orgSidPath)
// return request({
// baseURL: '/api',
// url: '/portal/v1/sysuser/loginDetails',
// method: 'post',
// headers: {
// 'Content-Type': 'application/json'
// }
// }).then(rep => {
// const data = rep.data
// const user = {
// roleSid: data.roleSid,
// name: data.name,
// userName: data.userName,
// departmentName: data.departmentName, // 部门名称
// departmentSid: data.departmentSid, // 部门sid
// isAdmin: data.isAdmin,
// staffSid: data.staffSid, // 业务员sid
// userSid: data.sid,
// orgSid: data.organizationSid, // 单位sid
// Orgname: data.organizationName,
// dwjb: data.dwjb,
// orgNamePath: data.orgNamePath, // 使用组织全路径名称
// orgSidPath: data.orgSidPath // 使用组织全路径Sid
// }
// // 结果存入缓存
// window.sessionStorage.setItem('staffSid', user.staffSid)
// window.sessionStorage.setItem('userSid', user.userSid)
// window.sessionStorage.setItem('Orgname', user.Orgname)
// window.sessionStorage.setItem('orgSid', user.orgSid)
// window.sessionStorage.setItem('departmentName', user.departmentName)
// window.sessionStorage.setItem('name', user.name)
// window.sessionStorage.setItem('user', user)
// window.sessionStorage.setItem('departmentName', user.departmentName)
// window.sessionStorage.setItem('departmentSid', user.departmentSid)
// window.sessionStorage.setItem('orgNamePath', user.orgNamePath)
// window.sessionStorage.setItem('orgSidPath', user.orgSidPath)
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
})
// })
}
getUserInfo()
function GetQueryString(name) {
var one = window.location.href.indexOf('?token=') + 7
if (one < 7) { return null }
var two = window.location.href.lastIndexOf('&') // + 1
var data = window.location.href.substr(one)
if (two > one) {
data = window.location.href.slice(one, two)
console.log('token', data)
}
if (data) {
return data
}
return null
// function GetQueryString(name) {
// var one = window.location.href.indexOf('?token=') + 7
// if (one < 7) { return null }
// var two = window.location.href.lastIndexOf('&') // + 1
// var data = window.location.href.substr(one)
// if (two > one) {
// data = window.location.href.slice(one, two)
// console.log('token', data)
// }
// if (data) {
// return data
// }
// return null
// var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
// var r = window.location.search.substr(1).match(reg)
// if (r != null) return unescape(r[2]); return null
}
// }

40
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/router/index.js

@ -46,6 +46,46 @@ export const constantRoutes = [
}
}]
},
{
path: 'oilType',
component: Layout,
redirect: '/oilType',
children: [{
path: '/oilType/index',
component: () => import('@/views/oilType/index.vue'),
name: 'index',
meta: {
title: '原油类型',
noCache: true
}
}]
},{
path: 'oilTank',
component: Layout,
redirect: '/oilTank',
children: [{
path: '/oilTank/index',
component: () => import('@/views/oilTank/index.vue'),
name: 'index',
meta: {
title: '油罐类型',
noCache: true
}
}]
},{
path: 'inAndOutBound',
component: Layout,
redirect: '/inAndOutBound',
children: [{
path: '/inAndOutBound/index',
component: () => import('@/views/inAndOutBound/index.vue'),
name: 'index',
meta: {
title: '出入库记录',
noCache: true
}
}]
},
...codemenu,
{
path: '/404',

10
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/router/modules/codemenu.js

@ -15,15 +15,15 @@ const codemenu = [{
}]
},
{
path: 'project',
path: 'oilType',
component: Layout,
redirect: '/project',
redirect: '/oilType',
children: [{
path: '/project/index',
component: () => import('@/views/project/index.vue'),
path: '/oilType/index',
component: () => import('@/views/oilType/index.vue'),
name: 'index',
meta: {
title: '项目列表',
title: '原油类型',
noCache: true
}
}]

227
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/inAndOutBound/inBoundAdd.vue

@ -0,0 +1,227 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>入库记录信息</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>
<div>
<el-card class="box-card">
<div class="item">
<span class="item_text">合同编号</span>
<el-input v-model="formobj.contractNumber" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">合同日期</span>
<el-date-picker v-model="formobj.contractSigningDate" type="date" format="yyyy-MM-dd" class="item_input"
value-format="yyyy-MM-dd" placeholder="请选择" />
</div>
<div class="item">
<span class="item_text">入库日期</span>
<el-date-picker v-model="formobj.warehousingDate" type="date" format="yyyy-MM-dd" class="item_input"
value-format="yyyy-MM-dd" placeholder="请选择" />
</div>
<div class="item">
<span class="item_text">油罐编号</span>
<el-select v-model="formobj.tankName" filterable placeholder="请选择油罐编号" class="item_input" @change="getTank">
<el-option v-for="item in tankList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
<!-- <el-input v-model="formobj.number" placeholder="" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">原油种类</span>
<el-input v-model="formobj.oilType" placeholder="" :readonly="true" class="item_input" clearable />
<!-- <span class="item_input">{{formobj.crudeNumber}}</span> -->
</div>
<div class="item">
<span class="item_text">净重</span>
<el-input v-model="formobj.weight" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">价值</span>
<el-input v-model="formobj.value" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">供货商</span>
<el-input v-model="formobj.supplierSid" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">发货车牌号</span>
<el-input v-model="formobj.licensePlateNumber" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">备注</span>
<el-input v-model="formobj.remarks" placeholder="" class="item_input" clearable />
</div>
</el-card>
</div>
</div>
</template>
<script>
import req from '@/api/inAndOutBound/inAndOutBound'
export default {
data() {
return {
submitdisabled: false,
tankLists: [],
tankList: [],
formobj: {
sid: "",
contractNumber: "",
contractSigningDate: "",
warehousingDate: "",
tankName: "",
tankSid: "",
oilType: "",
weight: "",
value: "",
supplierSid: "",
licensePlateNumber: "",
remarks: "",
}
}
},
created() {
this.getTankList()
},
methods: {
getTankList() {
req.tankList().then((res) => {
if (res.success) {
console.log(">>>>>>>>>111111111111wwwwwwwwww", res.data)
this.tankLists = res.data
for (var i = 0; i < this.tankLists.length; i++) {
let item = {
name: this.tankLists[i].number,
sid: this.tankLists[i].sid,
}
this.tankList.push(item)
}
}
})
},
saveOrUpdate() {
req.intAddInfo(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn("true")
} else {
// resp.code
}
})
.catch(() => {})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: "",
contractNumber: "",
contractSigningDate: "",
warehousingDate: "",
tankName: "",
tankSid: "",
oilType: "",
weight: "",
value: "",
supplierSid: "",
licensePlateNumber: "",
remarks: "",
}
this.$emit('doback')
},
getTank(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.tankLists.filter((item) => item.sid === value)
console.log(">>>>>>>>>getType", choose[0])
this.formobj.tankSid = choose[0].sid
this.formobj.oilType = choose[0].crudeName
},
}
}
</script>
<style lang="scss">
.box-card {
margin-left: 60px;
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
.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>

348
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/inAndOutBound/index.vue

@ -0,0 +1,348 @@
<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" :model="jmdListQuery" :inline="true" class="tab-header">
<el-form-item label="日期">
<el-date-picker v-model="jmdListQuery.date" 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>
<el-row>
<el-col>
<el-tabs v-model="tabActiveName" @tab-click="handleOrder">
<el-tab-pane label="入库记录表" name="uplog">
<div>
<el-table v-loading="tableLoading1" :data="logList" border style="width: 100%">
<el-table-column fixed width="100" type="index" label="序号" :index="indexMethod" align="center" />
<el-table-column prop="contractNumber" label="合同编号" align="center" />
<el-table-column prop="contractSigningDate" label="合同日期" width="150" align="center" />
<el-table-column prop="warehousingDate" label="入库日期" width="150" align="center" />
<el-table-column prop="tankNumber" label="油罐编号" width="150" align="center" />
<el-table-column prop="crudeName" label="原油类型" width="150" align="center" />
<el-table-column prop="inventory" label="油罐库存" width="150" align="center" />
<el-table-column prop="weight" label="入库净重" width="150" align="center" />
<el-table-column prop="value" label="价值" width="150" align="center" />
<el-table-column prop="supplierSid" label="供货商" width="150" align="center" />
<el-table-column prop="licensePlateNumber" label="发货车牌号" width="150" align="center" />
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="logListTotal > 0" :total="logListTotal" :page.sync="logListQuery.current"
:limit.sync="logListQuery.size" class="pagination" @pagination="loadLogList" />
</div>
</el-tab-pane>
<el-tab-pane label="出库记录表" name="k112">
<div>
<el-table v-loading="tableLoading2" :data="in112List" border style="width: 100%">
<el-table-column fixed width="100" type="index" label="序号" :index="indexMethod2" align="center" />
<el-table-column prop="salesContractNumber" label="合同编号" align="center" />
<el-table-column prop="contractSigningDate" label="合同日期" width="150" align="center" />
<el-table-column prop="deliveryDate" label="出库日期" width="150" align="center" />
<el-table-column prop="tankNumber" label="油罐编号" width="150" align="center" />
<el-table-column prop="crudeName" label="原油类型" width="150" align="center" />
<el-table-column prop="inventory" label="油罐库存" width="150" align="center" />
<el-table-column prop="weight" label="出库净重" width="150" align="center" />
<el-table-column prop="value" label="价值" width="150" align="center" />
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="in112ListTotal > 0" :total="in112ListTotal" :page.sync="in112ListQuery.current"
:limit.sync="in112ListQuery.size" class="pagination" @pagination="loadIn112List" />
</div>
</el-tab-pane>
</el-tabs>
</el-col>
</el-row>
</div>
</div>
<inBoundAdd v-show="viewState ==2" ref="inBoundAdd" @doback="resetState" @reloadlist="init" />
<outBoundAdd v-show="viewState ==3" ref="ouBoundAdd" @doback="resetState" @reloadlist="init" />
</div>
</template>
<script>
import req from '@/api/inAndOutBound/inAndOutBound'
import Pagination from '@/components/pagination'
import {
parseTime
} from '@/utils/index'
import ButtonBar from '@/components/ButtonBar'
import inBoundAdd from './inBoundAdd.vue'
import outBoundAdd from './outBoundAdd.vue'
export default {
components: {
ButtonBar,
Pagination,
inBoundAdd,
outBoundAdd
},
data() {
return {
viewState: 1,
tabActiveName: 'uplog',
index: "0",
isSearchShow: false,
searchxianshitit: '显示查询条件',
btndisabled: false,
tableLoading1: false,
tableLoading2: false,
btnList: [ //
// {
// type: 'success',
// size: 'small',
// icon: 'export',
// btnKey: 'build',
// btnLabel: ''
// },
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd1',
btnLabel: '新增入库记录'
},
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd2',
btnLabel: '新增出库记录'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
logList: [],
logListQuery: {
current: 1,
size: 10
},
logListTotal: 1,
in112List: [],
in112ListQuery: {
current: 1,
size: 10
},
in112ListTotal: 1,
jmdListQuery: {
date: ""
}
}
},
mounted() {
//
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
//
this.init()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
dosearch() {
this.jmdListQuery = {
date: parseTime(new Date(), '{y}-{m}-{d}')
}
if (this.index == "0") {
this.loadLogList()
} else if (this.index == "1") {
this.loadInallList()
}
},
resetQuery() {
this.jmdListQuery = {
date: parseTime(new Date(), '{y}-{m}-{d}')
}
},
//
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd1': //
this.doAdd1()
break
case 'toAdd2': //
this.doAdd2()
break
case 'build': //
this.doBuild()
break
case 'doClose': //
this.doClose()
break
default:
break
}
},
init() {
this.loadLogList()
this.loadIn112List()
},
handleOrder(tab, event) {
console.log("tab", tab)
// this.listQuery.status = tab.name;
// this.getList();
// this.orderDatas(tab.name);
this.index = tab.index
switch (tab.index) {
//
case "0":
if (this.logList.length == 0)
this.loadLogList()
break;
//
case "1":
if (this.in112List.length == 0)
this.loadIn112List()
break;
default:
break;
}
},
loadLogList() {
req.logPagerList({
current: this.logListQuery.current,
size: this.logListQuery.size,
params: {
date: ''
}
}).then(response => {
if (response.code === '200' && response.data && response.data.total > 0) {
this.logList = response.data.records
this.logListTotal = response.data.total
this.logListQuery.current = response.data.current
this.logListQuery.size = response.data.size
} else {
this.logList = []
this.logListTotal = 0
}
})
},
//
indexMethod(index) {
var pagestart = (this.logListQuery.current - 1) * this.logListQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
loadIn112List() {
req.in112PagerList({
current: this.in112ListQuery.current,
size: this.in112ListQuery.size,
params: {
date: ''
}
}).then(response => {
if (response.code === '200' && response.data && response.data.total > 0) {
this.in112List = response.data.records
this.in112ListTotal = response.data.total
this.in112ListQuery.current = response.data.current
this.in112ListQuery.size = response.data.size
} else {
this.in112List = []
this.in112ListTotal = 0
}
})
},
//
indexMethod2(index) {
var pagestart = (this.in112ListQuery.current - 1) * this.in112ListQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
doAdd1() {
this.viewState = 2
},
doAdd2() {
this.viewState = 3
},
//
doBuild() {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
exportExcel(this.jmdListQuery).then((resp) => {
loading.close()
const blob = new Blob([resp], {
type: 'application/vnd.ms-excel;charset=UTF-8'
})
const fileName = '库存明细列表' + '.xls'
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'nonde'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)
}).catch(() => {
loading.close()
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.wenjiantit {
font-size: 16px;
font-weight: bold;
margin: 25px 0 10px 0;
}
.forminfo {
margin: 0;
padding: 0;
}
.listcon {
height: calc(100vh - 250px);
overflow-y: auto;
overflow-x: hidden;
}
</style>

215
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/inAndOutBound/outBoundAdd.vue

@ -0,0 +1,215 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>出库记录信息</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>
<div>
<el-card class="box-card">
<div class="item">
<span class="item_text">合同编号</span>
<el-input v-model="formobj.salesContractNumber" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">合同日期</span>
<el-date-picker v-model="formobj.contractSigningDate" type="date" format="yyyy-MM-dd" class="item_input"
value-format="yyyy-MM-dd" placeholder="请选择" />
</div>
<div class="item">
<span class="item_text">出库日期</span>
<el-date-picker v-model="formobj.deliveryDate" type="date" format="yyyy-MM-dd" class="item_input"
value-format="yyyy-MM-dd" placeholder="请选择" />
</div>
<div class="item">
<span class="item_text">油罐编号</span>
<el-select v-model="formobj.tankName" filterable placeholder="请选择油罐编号" class="item_input" @change="getTank">
<el-option v-for="item in tankList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
<!-- <el-input v-model="formobj.number" placeholder="" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">原油种类</span>
<el-input v-model="formobj.oilType" placeholder="" :readonly="true" class="item_input" clearable />
<!-- <span class="item_input">{{formobj.crudeNumber}}</span> -->
</div>
<div class="item">
<span class="item_text">净重</span>
<el-input v-model="formobj.weight" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">价值</span>
<el-input v-model="formobj.value" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">备注</span>
<el-input v-model="formobj.remarks" placeholder="" class="item_input" clearable />
</div>
</el-card>
</div>
</div>
</template>
<script>
import req from '@/api/inAndOutBound/inAndOutBound'
export default {
data() {
return {
submitdisabled: false,
tankLists: [],
tankList: [],
formobj: {
sid: "",
salesContractNumber: "",
contractSigningDate: "",
deliveryDate: "",
tankName: "",
tankSid: "",
oilType: "",
weight: "",
value: "",
remarks:"",
}
}
},
created() {
this.getTankList()
},
methods: {
getTankList() {
req.tankList().then((res) => {
if (res.success) {
console.log(">>>>>>>>>111111111111wwwwwwwwww", res.data)
this.tankLists = res.data
for (var i = 0; i < this.tankLists.length; i++) {
let item = {
name: this.tankLists[i].number,
sid: this.tankLists[i].sid,
}
this.tankList.push(item)
}
}
})
},
saveOrUpdate() {
req.outAddInfo(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn("true")
} else {
// resp.code
}
})
.catch(() => {})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: "",
salesContractNumber: "",
contractSigningDate: "",
deliveryDate: "",
tankName: "",
tankSid: "",
oilType: "",
weight: "",
value: "",
remarks:"",
}
this.$emit('doback')
},
getTank(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.tankLists.filter((item) => item.sid === value)
console.log(">>>>>>>>>getType", choose[0])
this.formobj.tankSid = choose[0].sid
this.formobj.oilType = choose[0].crudeName
},
}
}
</script>
<style lang="scss">
.box-card {
margin-left: 60px;
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
.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>

255
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/oilTank/index.vue

@ -0,0 +1,255 @@
<template>
<div class="app-container">
<div v-show="viewState ==1">
<button-bar view-title="油罐类型" ref="btnbar" :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="listQueryform" :inline="true" :model="listQuery" label-width="80px" class="tab-header">
<el-form-item label="油罐编号">
<el-input v-model="listQuery.params.number" maxlength="20" placeholder="请输入油罐编号" class="addinputw"
clearable />
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleReset">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleFilter">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">油罐列表</div>
<!-- 翻页分页 -->
<!-- <pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/> -->
</div>
<div class="">
<el-table v-loading="listLoading" :data="list" border style="width: 100%;">
<!-- <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="操作" wid align="center" width="100">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toDetail(scope.row)">记录</el-button>
<!-- <el-button type="primary" size="mini" @click="toEdit(scope.row)">编辑</el-button> -->
<!-- <el-button type="primary" size="mini" @click="doDel(scope.row)">删除</el-button> -->
</template>
</el-table-column>
<el-table-column label="油罐编号" prop="number" align="center" />
<el-table-column label="原油名称" prop="crudeName" align="center" />
<el-table-column label="原油编号" prop="crudeNumber" align="center" />
<el-table-column label="油罐容量" prop="capacity" align="center" />
<el-table-column label="油罐管道" prop="tankPipeline" align="center" />
<el-table-column label="油罐库存" prop="inventory" align="center" />
<el-table-column label="油罐现有库存" prop="existingInventory" align="center" />
</el-table>
</div>
<div class="pages">
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current"
:limit.sync="listQuery.size" class="pagination" @pagination="getList" />
</div>
</div>
</div>
<oilTankAdd v-show="viewState ==2 || viewState ==3" ref="divAdd" @doback="resetState" @reloadlist="getList" />
<!-- <oilTypeInfo v-show="viewState ==4" ref="divInfo" @doback="resetState" @reloadlist="getList" /> -->
<el-dialog title="记录现有库存" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<tr>
<td>库存数据</td>
<td>
<!-- <span>{{form.planContent}}</span> -->
<el-input v-model="form.planOpinion" style="width: 300px"></el-input>
</td>
</tr>
</table>
<div style="margin-top: 20px; text-align: center">
<el-button type="primary" @click="save()">保存</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/oilTank/oilTank'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import oilTankAdd from './oilTankAdd.vue'
// import oilTypeInfo from './oilTypeInfo.vue'
export default {
name: 'CustomerManagement',
components: {
Pagination,
pageye,
ButtonBar,
oilTankAdd,
// oilTypeInfo,
},
data() {
return {
listLoading: false,
btndisabled: false,
editDialog: false,
form:{},
btnList: [{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
list: [],
listQuery: {
current: 1,
size: 10,
params: {
entryName: '',
},
total: 0
},
viewState: 1
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.init()
//
},
methods: {
btnHandle(btnKey) {
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
//
init() {
this.getList()
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
req.listPage(this.listQuery).then((response) => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleReset() {
this.listQuery.current = 1
this.getList()
},
//
handleFilter() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
entryName: ""
}
}
this.getList()
},
//
toAdd() {
this.viewState = 2
},
//
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
// ID
doDel(row) {
const tip = '请确认是否删除所选记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
req.delBySids(row.sid).then((response) => {
if (response.success) {
this.$message({
showClose: true,
type: 'success',
message: '删除成功'
})
this.getList()
} else {
this.$message({
showClose: true,
type: 'error',
message: '删除失败'
})
}
})
})
},
toDetail(row) {
this.editDialog = true;
},
save() {
console.log("form", this.form)
this.reset();
},
reset() {
this.form = {};
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

203
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/oilTank/oilTankAdd.vue

@ -0,0 +1,203 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>油罐信息</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>
<div>
<el-card class="box-card">
<div class="item">
<span class="item_text">油罐编号</span>
<el-input v-model="formobj.number" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">原油类型</span>
<el-select v-model="formobj.crudeName" filterable placeholder="请选择原油类型" class="item_input"
@change="getType">
<el-option v-for="item in crudeList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
<!-- <el-input v-model="formobj.number" placeholder="" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">原油编号</span>
<el-input v-model="formobj.crudeNumber" placeholder="" :readonly="true" class="item_input" clearable />
<!-- <span class="item_input">{{formobj.crudeNumber}}</span> -->
</div>
<div class="item">
<span class="item_text">油罐容量</span>
<el-input v-model="formobj.capacity" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">油罐管道</span>
<el-input v-model="formobj.tankPipeline" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">油罐库存</span>
<el-input v-model="formobj.inventory" placeholder="" class="item_input" clearable />
</div>
</el-card>
</div>
</div>
</template>
<script>
import req from '@/api/oilTank/oilTank'
export default {
data() {
return {
submitdisabled: false,
crudeLists:[],
crudeList:[],
formobj: {
sid: "",
number: "",
crudeSid: "",
crudeName: "",
crudeNumber: "",
capacity: "",
tankPipeline: "",
inventory: "",
}
}
},
created() {
this.crudeinfoList()
},
methods: {
crudeinfoList() {
req.crudeinfoList().then((res) => {
if (res.success) {
console.log(">>>>>>>>>2222222", res.data)
this.crudeLists = res.data
for (var i = 0; i <this.crudeLists.length; i++) {
let item = {
name: this.crudeLists[i].name,
sid: this.crudeLists[i].sid,
}
this.crudeList.push(item)
}
}
})
},
saveOrUpdate() {
req.addInfo(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn("true")
} else {
// resp.code
}
})
.catch(() => {})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: "",
number: "",
crudeSid:"",
crudeName: "",
crudeNumber: "",
capacity: "",
tankPipeline: "",
inventory: "",
}
this.$emit('doback')
},
getType(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.crudeLists.filter((item) => item.sid === value)
console.log(">>>>>>>>>getType", choose[0])
// this.formobj.crudeSid = choose[0].sid
this.formobj.crudeNumber = choose[0].number
this.formobj.crudeSid = value
},
}
}
</script>
<style lang="scss">
.box-card {
margin-left: 60px;
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
.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>

57
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/project/index.vue → yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/oilType/index.vue

@ -1,14 +1,14 @@
<template>
<div class="app-container">
<div v-show="viewState ==1">
<button-bar view-title="项目列表" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle" />
<button-bar view-title="原油类型" ref="btnbar" :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="listQueryform" :inline="true" :model="listQuery" label-width="80px" class="tab-header">
<el-form-item label="项目名称">
<el-input v-model="listQuery.params.entryName" maxlength="20" placeholder="请输入项目名称" class="addinputw"
<el-form-item label="原油名称">
<el-input v-model="listQuery.params.name" maxlength="20" placeholder="请输入原油名称" class="addinputw"
clearable />
</el-form-item>
</el-form>
@ -27,24 +27,16 @@
<el-table v-loading="listLoading" :data="list" border style="width: 100%;">
<!-- <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="操作" wid align="center" width="220">
<el-table-column label="操作" wid align="center" width="180">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toDetail(scope.row)">查看</el-button>
<!-- <el-button type="primary" size="mini" @click="toDetail(scope.row)">查看</el-button> -->
<el-button type="primary" size="mini" @click="toEdit(scope.row)">编辑</el-button>
<el-button type="primary" size="mini" @click="doDel(scope.row)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="项目名称" prop="entryName" width="250" align="center" />
<el-table-column label="所属行业" prop="industryName" width="120" align="center" />
<el-table-column label="项目类型" prop="typeName" width="120" align="center" />
<el-table-column label="授信额度" prop="creditLimit" width="120" align="center" />
<el-table-column label="贷款行" prop="bankName" width="180" align="center" />
<el-table-column label="客户经理" prop="bmanagerName" width="120" align="center" />
<el-table-column label="签约日期" prop="signingDate" width="120" align="center" />
<el-table-column label="结束日期" prop="endDate" width="120" align="center" />
<el-table-column label="企业名称" prop="enterpriseName" width="250" align="center" />
<el-table-column label="联系人" prop="econtacts" width="100" align="center" />
<el-table-column label="监管负责人" prop="regulatoryLeader" width="120" align="center" />
<el-table-column label="原油名称" prop="name" align="center" />
<el-table-column label="原油编号" prop="number" align="center" />
<el-table-column label="原油Code" prop="code" align="center" />
</el-table>
</div>
<div class="pages">
@ -53,31 +45,31 @@
</div>
</div>
</div>
<projectAdd v-show="viewState ==2 || viewState ==3" ref="divAdd" @doback="resetState" @reloadlist="getList" />
<projectInfo v-show="viewState ==4" ref="divInfo" @doback="resetState" @reloadlist="getList"/>
<oilTypeAdd v-show="viewState ==2 || viewState ==3" ref="divAdd" @doback="resetState" @reloadlist="getList" />
<!-- <oilTypeInfo v-show="viewState ==4" ref="divInfo" @doback="resetState" @reloadlist="getList" /> -->
</div>
</template>
<script>
import req from '@/api/project/project'
import req from '@/api/oilType/oilType'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import projectAdd from './projectAdd.vue'
import projectInfo from './projectInfo.vue'
import oilTypeAdd from './oilTypeAdd.vue'
// import oilTypeInfo from './oilTypeInfo.vue'
export default {
name: 'CustomerManagement',
components: {
Pagination,
pageye,
ButtonBar,
projectAdd,
projectInfo,
oilTypeAdd,
// oilTypeInfo,
},
data() {
return {
listLoading: false,
listLoading: false,
btndisabled: false,
btnList: [{
type: 'primary',
@ -215,22 +207,13 @@
})
})
},
toDetail(row) {
this.viewState = 4
this.$refs['divInfo'].showAdd(row.sid)
},
// toDetail(row) {
// this.viewState = 4
// this.$refs['divInfo'].showAdd(row.sid)
// },
resetState() {
this.viewState = 1
},
jump(sid) {
console.log("jump",sid)
this.viewState = 2
this.$refs['divAdd'].showAdd(sid)
},
close(sid){
this.viewState = 4
this.$refs['divInfo'].showAdd(sid)
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)

179
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/oilType/oilTypeAdd.vue

@ -0,0 +1,179 @@
<template>
<div>
<div class="tab-header webtop">
<!-- 标题 -->
<div>原油类型</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>
<div>
<el-card class="box-card">
<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.number" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">原油Code</span>
<el-input v-model="formobj.code" placeholder="" class="item_input" clearable />
</div>
</el-card>
</div>
</div>
</template>
<script>
import req from '@/api/oilType/oilType'
export default {
data() {
return {
submitdisabled: false,
formobj: {
sid: "",
name: "",
number: "",
code: ""
}
}
},
methods: {
saveOrUpdate() {
if(this.formobj.sid){
req.updateData(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn("true")
} else {
// resp.code
}
})
.catch(() => {})
}else{
req.addInfo(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn("true")
} else {
// resp.code
}
})
.catch(() => {})
}
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: "",
name: "",
number: "",
code: ""
}
this.$emit('doback')
},
showAdd() {
},
showEdit(row) {
console.log("sid>>>>>>>>>",row.sid)
req.fetchBySid(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
}
})
.catch(e => {
this.formobj = row
})
}
}
}
</script>
<style lang="scss">
.box-card {
margin-left: 60px;
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
.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>

2
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/project/projectInfo.vue → yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/oilType/oilTypeInfo.vue

@ -190,7 +190,7 @@
</template>
<script>
import req from '@/api/project/project'
import req from '@/api/oilType/oilType'
export default {
name: 'CustomerManagementInfo',

537
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/project/projectAdd.vue

@ -1,537 +0,0 @@
<template>
<div class="app-container">
<div>
<div class="tab-header webtop">
<div>{{title}}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button>
<el-button type="info" size="small" icon="el-icon-close" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd" style="padding-bottom: 50px;">
<el-form ref="dataForm" :model="formobj" label-position="top" label-width="190px" class="formadd">
<div class="titwu">项目信息表</div>
<div class="title" style="display: flex;align-items: center;justify-content: space-between;height:40px">
<div>主体信息</div>
</div>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">项目名称</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-input v-model="formobj.entryName" placeholder="请输入项目名称" style="width:100%" class="addinputw"
clearable />
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">所属行业</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-select v-model="formobj.industryName" class="addinputw" placeholder="请选择所属行业" style="width:100%"
@change="getHangYe">
<el-option v-for="item in industryList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">项目类型</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-select v-model="formobj.typeName" class="addinputw" placeholder="请选择项目类型" style="width:100%"
@change="getType">
<el-option v-for="item in typeList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">授信额度</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-input v-model="formobj.creditLimit" placeholder="请输入授信额度" style="width:100%" class="addinputw"
clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">贷款行</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-select v-model="formobj.bankName" class="addinputw" placeholder="请选择贷款行" style="width:100%"
@change="getBank">
<el-option v-for="item in bankList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">客户经理</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-select v-model="formobj.bmanagerName" class="addinputw" placeholder="请选择客户经理" style="width:100%"
@change="getBManager">
<el-option v-for="item in bManagerList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">接洽日期</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-date-picker v-model="formobj.engaDate" type="date" style="width:100%" value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">签约日期</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-date-picker v-model="formobj.signingDate" type="date" style="width:100%" value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">项目单位</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-select v-model="formobj.enterpriseName" class="addinputw" placeholder="请选择项目单位" style="width:100%"
@change="getEnterpriseName">
<el-option v-for="item in enterpriseList" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">项目联系人</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-input v-model="formobj.econtacts" placeholder="请输入项目联系人" :readonly="true" style="width:100%"
class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">项目说明</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item class="trightb_item">
<el-input v-model="formobj.remarks" placeholder="请输入项目说明" style="width:100%;margin-bottom: 5px;"
type="textarea" :rows="7" class="addinputw" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">监管负责人</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-input v-model="formobj.regulatoryLeader" placeholder="请输入监管负责人" style="width:100%" class="addinputw"
clearable />
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">事业部经理</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-input v-model="formobj.generalManager" placeholder="请输入事业部经理" style="width:100%" class="addinputw"
clearable />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">结束日期</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-date-picker v-model="formobj.endDate" type="date" style="width:100%" value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4" class="trightb">
<el-form-item class="trightb_item">
<span slot="label">填表日期</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="trightb_item">
<el-date-picker v-model="formobj.fillInDate" type="date" style="width:100%" value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</div>
</template>
<script>
import req from '@/api/project/project'
export default {
data() {
return {
title: "【新增】项目信息",
submitdisabled: false,
formobj: {
sid: "",
entryName: "", //
industryName: "", //
industrySid: "",
typeName: "", //
typeSid: "",
creditLimit: "", //
bankName: "", //
bankSid: "",
bmanagerName: '', //
managerSid: "",
engaDate: "", //
signingDate: "", //
enterpriseName: "", //
enterpriseSid: "",
econtacts: "", //
remarks: "", //
regulatoryLeader: "", //
generalManager: "", //
endDate: "", //
fillInDate: "", //
},
industryAllList: [],
industryList: [],
typeAllList: [],
typeList: [],
bankAllList: [],
bankList: [],
bManagerAllList: [],
bManagerList: [],
enterpriseAllList: [],
enterpriseList: [],
}
},
created() {
this.loanbankinformation() //
this.enterpriseinformation() //
this.industrydictionary() //
this.projtypedictionary() //
},
methods: {
loanbankinformation() {
req.getLoanbankinformation().then((res) => {
if (res.success) {
console.log(">>>>>>>>>11111111", res.data)
this.bankAllList = res.data
this.bankList = []
for (var i = 0; i < this.bankAllList.length; i++) {
let bank = {
dictValue: this.bankAllList[i].bankName,
dictKey: this.bankAllList[i].sid,
}
this.bankList.push(bank)
}
}
})
},
enterpriseinformation() {
req.getEnterpriseinformation().then((res) => {
if (res.success) {
console.log(">>>>>>>>>2222222", res.data)
this.enterpriseAllList = res.data
this.enterpriseList = []
for (var i = 0; i < this.enterpriseAllList.length; i++) {
let enterprise = {
dictValue: this.enterpriseAllList[i].enterpriseName,
dictKey: this.enterpriseAllList[i].sid,
}
this.enterpriseList.push(enterprise)
}
}
})
},
industrydictionary() {
req.getIndustrydictionary().then((res) => {
if (res.success) {
console.log(">>>>>>>>>3333333", res.data)
this.industryAllList = res.data
this.industryList = []
for (var i = 0; i < this.industryAllList.length; i++) {
let industry = {
dictValue: this.industryAllList[i].industryName,
dictKey: this.industryAllList[i].sid,
}
this.industryList.push(industry)
}
}
})
},
projtypedictionary() {
req.getProjtypedictionary().then((res) => {
if (res.success) {
console.log(">>>>>>>>>444444", res.data)
this.typeAllList = res.data
this.typeList = []
for (var i = 0; i < this.typeAllList.length; i++) {
let type = {
dictValue: this.typeAllList[i].typeName,
dictKey: this.typeAllList[i].sid,
}
this.typeList.push(type)
}
}
})
},
getHangYe(value) {
console.log(">>>>>>>>>getHangYe", value)
const choose = this.industryList.filter((item) => item.dictKey === value)
this.formobj.industryName = choose[0].dictValue
this.formobj.industrySid = choose[0].dictKey
},
getType(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.typeList.filter((item) => item.dictKey === value)
this.formobj.typeName = choose[0].dictValue
this.formobj.typeSid = choose[0].dictKey
},
getBank(value) {
console.log(">>>>>>>>>getBank", value)
const choose = this.bankList.filter((item) => item.dictKey === value)
this.formobj.bankName = choose[0].dictValue
this.formobj.bankSid = choose[0].dictKey
let items = this.bankAllList.filter(
// function(item) {
// return item.id == val.id;
item => {
console.log('item: ' + JSON.parse(JSON.stringify(item)).sid)
console.log('val: ' + value)
if (JSON.parse(JSON.stringify(item)).sid == value) {
return true
}
})
console.log(">>>>>>>>>getBank", items)
this.bManagerAllList = items[0].managerList
this.bManagerList = []
for (var i = 0; i < this.bManagerAllList.length; i++) {
let bManager = {
dictValue: this.bManagerAllList[i].name,
dictKey: this.bManagerAllList[i].sid,
}
this.bManagerList.push(bManager)
}
},
getBManager(value) {
console.log(">>>>>>>>>getBManager", value)
const choose = this.bManagerList.filter((item) => item.dictKey === value)
this.formobj.bManagerName = choose[0].dictValue
this.formobj.managerSid = choose[0].dictKey
},
getEnterpriseName(value) {
console.log(">>>>>>>>>getBManager", value)
const choose = this.enterpriseList.filter((item) => item.dictKey === value)
this.formobj.enterpriseName = choose[0].dictValue
this.formobj.enterpriseSid = choose[0].dictKey
let items = this.enterpriseAllList.filter(
// function(item) {
// return item.id == val.id;
item => {
console.log('item: ' + JSON.parse(JSON.stringify(item)).sid)
console.log('val: ' + value)
if (JSON.parse(JSON.stringify(item)).sid == value) {
return true
}
})
console.log(">>>>>>>>>getBManager", items)
this.formobj.econtacts = items[0].contacts
},
saveOrUpdate() {
console.log(">>>>>>>>>saveOrUpdate", this.formobj)
if (this.formobj.sid) {
req.updateData(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn("true")
} else {
// resp.code
}
})
.catch(() => {})
} else {
req.addInfo(this.formobj)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn("true")
} else {
// resp.code
}
})
.catch(() => {})
}
},
handleReturn(isreload) {
console.log(">>>>>>>>>")
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: "",
entryName: "", //
industryName: "", //
industrySid: "",
typeName: "", //
typeSid: "",
creditLimit: "", //
bankName: "", //
bankSid: "",
bmanagerName: '', //
managerSid: "",
engaDate: "", //
signingDate: "", //
enterpriseName: "", //
enterpriseSid: "",
econtacts: "", //
remarks: "", //
regulatoryLeader: "", //
generalManager: "", //
endDate: "", //
fillInDate: "", //
}
this.title= "【新增】项目信息",
this.$emit('doback')
},
showEdit(row) {
this.title= "【修改】项目信息",
req.fetchBySid(row.sid)
.then(resp => {
if (resp.success) {
this.formobj = resp.data
}
})
.catch(e => {
this.formobj = row
})
},
}
}
</script>
<style scoped>
.trightb {
display: flex;
align-items: center;
text-align: ;
justify-content: center;
}
.trightb_item {
padding-top: 5px;
}
.span {
margin-left: 50px;
font-size: 15px;
font-weight: 400;
}
/deep/ .el-collapse-item__header {
height: 40px;
padding: 10px;
font-weight: bold;
font-size: 20px;
text-align: left;
color: #ffffff;
background-color: #0294d7;
}
/deep/ .el-collapse-item__content {
padding-bottom: 0;
}
</style>
Loading…
Cancel
Save