Browse Source

8.16

master
fengdong777 2 years ago
parent
commit
753d48a91d
  1. 3
      base-ui/package.json
  2. 2
      supervise-crm-ui/package.json
  3. 15
      supervise-crm-ui/src/config/rem.js
  4. 11
      supervise-crm-ui/src/layout/components/Sidebar/index.vue
  5. 13
      supervise-crm-ui/src/router/modules/codemenu.js
  6. 62
      supervise-crm-ui/src/styles/sidebar.scss
  7. 44
      supervise-crm-ui/src/utils/devicePixelRatio.js
  8. 195
      supervise-crm-ui/src/views/projectStaff/index.vue
  9. 3
      supervise-enterprise-ui/package.json
  10. 131
      supervise-enterprise-ui/src/layout/components/Sidebar/index.vue
  11. 70
      supervise-enterprise-ui/src/main.js
  12. 78
      supervise-enterprise-ui/src/router/modules/codemenu.js
  13. 62
      supervise-enterprise-ui/src/views/NewList/market.vue
  14. 62
      supervise-enterprise-ui/src/views/NewList/needMoney.vue
  15. 114
      supervise-enterprise-ui/src/views/NewList/outbound.vue
  16. 62
      supervise-enterprise-ui/src/views/NewList/returnedMoney.vue
  17. 115
      supervise-enterprise-ui/src/views/NewList/warehouse.vue
  18. 34
      warehousing-system/project_web_ui/src/views/component/stockManagement/stockList.vue

3
base-ui/package.json

@ -25,11 +25,14 @@
"path-to-regexp": "2.4.0",
"portfinder": "^1.0.21",
"qs": "^6.9.4",
"regenerator-runtime": "^0.14.0",
"sass-resources-loader": "^2.1.1",
"svg-baker-runtime": "^1.4.7",
"viewerjs": "^1.9.0",
"vue": "2.6.10",
"vue-amap": "^0.5.10",
"vue-router": "3.0.6",
"vue-style-loader": "^4.1.3",
"vuex": "3.1.0",
"vuex-persistedstate": "^4.0.0"
},

2
supervise-crm-ui/package.json

@ -32,6 +32,7 @@
"vue": "2.6.10",
"vue-amap": "^0.5.10",
"vue-router": "3.0.6",
"vue2-scale-box": "^0.1.7",
"vuex": "3.1.0",
"vuex-persistedstate": "^4.0.0",
"xcrud": "^0.4.19"
@ -53,6 +54,7 @@
"eslint-plugin-vue": "6.2.2",
"html-webpack-plugin": "3.2.0",
"mockjs": "1.0.1-beta3",
"postcss-pxtorem": "^6.0.0",
"runjs": "4.3.2",
"sass": "1.26.8",
"sass-loader": "8.0.2",

15
supervise-crm-ui/src/config/rem.js

@ -0,0 +1,15 @@
// 基准大小
const baseSize = 32
// 设置 rem 函数
function setRem () {
// 当前页面宽度相对于 750 宽的缩放比例,可根据自己需要修改。
const scale = document.documentElement.clientWidth / 750
// 设置页面根节点字体大小
document.documentElement.style.fontSize = (baseSize * Math.min(scale, 2)) + 'px'
}
// 初始化
setRem()
// 改变窗口大小时重新设置 rem
window.onresize = function () {
setRem()
}

11
supervise-crm-ui/src/layout/components/Sidebar/index.vue

@ -19,8 +19,7 @@
import SidebarItem from './SidebarItem'
import variables from '@/styles/variables.scss'
import {
getrolemenus,
loginDetails
getrolemenus
} from '@/api/system/Role/role.js'
import {
getStorage
@ -79,12 +78,6 @@
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) => {
console.log('userRoles', res.data)
const userRoles = this.resRouter(res.data)
@ -94,8 +87,6 @@
hidden: true
})
return userRoles
// })
// }
})
},
resRouter(menus) {

13
supervise-crm-ui/src/router/modules/codemenu.js

@ -66,5 +66,18 @@ const codemenu = [{
noCache: true
}
}]
},{
path: 'projectStaff',
component: Layout,
redirect: '/projectStaff',
children: [{
path: '/projectStaff/index',
component: () => import('@/views/projectStaff/index.vue'),
name: 'projectStaff',
meta: {
title: '项目人员',
noCache: true
}
}]
}]
export default codemenu

62
supervise-crm-ui/src/styles/sidebar.scss

@ -9,38 +9,42 @@
position: relative;
overflow: hidden;
}
//.TagsView{
// height: 50px;
//}
.home-box{
position: fixed;
top: 60px;
left: 0;
background-color: $menuBg;
.home-box {
position: fixed;
top: 60px;
left: 0;
background-color: $menuBg;
border: 1px solid $menuHover;
line-height: 40px;
width: 210px;
line-height: 40px;
width: 210px;
z-index: 1000;
a{
display: inline-block;
line-height: 40px;
box-sizing: border-box;
a {
display: inline-block;
line-height: 40px;
box-sizing: border-box;
width: 50%;
text-align: center;
font-size: 16px;
font-weight: 500;
font-size: 16px;
font-weight: 500;
color: #FFFFFF;
}
a:last-child{
border:0;
}
a:last-child {
border: 0;
background-color: $menuHover;
}
}
}
.sidebar-container {
transition: width 0.28s;
width: $sideBarWidth !important;
background-color: $menuBg;
height: calc(100% - 60px) ;
height: calc(100% - 60px);
position: absolute;
font-size: 0px;
top: 60px;
@ -56,7 +60,7 @@
}
.scrollbar-wrapper {
height: calc(100% - 40px) ; //此高度是100%减去页面底部的栏高
height: calc(100% - 40px); //此高度是100%减去页面底部的栏高
overflow-x: hidden !important;
}
@ -106,9 +110,11 @@
background-color: $menuHover !important;
}
}
.el-submenu__title i{
color: #FFFFFF;
}
.el-submenu__title i {
color: #FFFFFF;
}
.is-active>.el-submenu__title {
color: $subMenuActiveText !important;
}
@ -122,9 +128,10 @@
background-color: $subMenuHover !important;
}
}
& .el-menu-item.is-active {
background-color: $subMenuHover !important;
}
& .el-menu-item.is-active {
background-color: $subMenuHover !important;
}
}
// .hideSidebar {
@ -175,7 +182,7 @@
// .el-menu--collapse {
// .el-submenu {
// &>.el-submenu__title {
// &>.el-submenu__le {
// &>span {
// height: 0;
// width: 0;
@ -227,6 +234,7 @@
.svg-icon {
margin-right: 16px;
}
.sub-el-icon {
margin-right: 12px;
margin-left: -2px;
@ -259,4 +267,4 @@
border-radius: 20px;
}
}
}
}

44
supervise-crm-ui/src/utils/devicePixelRatio.js

@ -0,0 +1,44 @@
class devicePixelRatio {
/* 获取系统类型 */
getSystem() {
const agent = navigator.userAgent.toLowerCase();
const isMac = /macintosh|mac os x/i.test(navigator.userAgent);
if (isMac) return false;
// 目前只针对 win 处理,其它系统暂无该情况,需要则继续在此添加即可
if (agent.indexOf("windows") >= 0) return true;
}
/* 监听方法兼容写法 */
addHandler(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else if (element.attachEvent) {
element.attachEvent("on" + type, handler);
} else {
element["on" + type] = handler;
}
}
/* 校正浏览器缩放比例 */
correct() {
// 页面devicePixelRatio(设备像素比例)变化后,计算页面body标签zoom修改其大小,来抵消devicePixelRatio带来的变化
document.getElementsByTagName("body")[0].style.zoom =
1 / window.devicePixelRatio;
}
/* 监听页面缩放 */
watch() {
const that = this;
// 注意: 这个方法是解决全局有两个window.resize
that.addHandler(window, "resize", function () {
that.correct(); // 重新校正浏览器缩放比例
});
}
/* 初始化页面比例 */
init() {
const that = this;
// 判断设备,只在 win 系统下校正浏览器缩放比例
if (that.getSystem()) {
that.correct(); // 校正浏览器缩放比例
that.watch(); // 监听页面缩放
}
}
}
export default devicePixelRatio;

195
supervise-crm-ui/src/views/projectStaff/index.vue

@ -0,0 +1,195 @@
<template>
<div class="app-container">
<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 :inline="true" class="tab-header">
<el-form-item label="项目人员">
<el-input v-model="queryParams.params.typeName" placeholder="" clearable />
</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>
<div class="left">
<div class="listtop" style="width: 500px">
<div class="tit" >项目列表</div>
</div>
<el-table :data="dataList" border max-height="380px" style="width: 500px" highlight-current-row
@row-click="singleElection">
<el-table-column align="center" width="55" label="选择">
<template slot-scope="scope">
<!-- 可以手动的修改label的值从而控制选择哪一项 -->
<el-radio class="radio" v-model="templateSelection" :label="scope.row.id" style="margin-left:10px"
>{{''}}</el-radio
>
</template>
</el-table-column>
<el-table-column prop="typeName" label="项目名称" align="center" />
<el-table-column prop="remarks" label="贷款银行" align="center" />
</el-table>
</div>
<div class="rigth">
<div class="listtop" style="width: 700px">
<div class="tit" > 项目名称{{projectList.remarks }} {{"\xa0\xa0\xa0"}}{{"\xa0\xa0\xa0"}}{{"\xa0\xa0\xa0"}}{{"\xa0\xa0\xa0"}} 贷款银行{{projectList.id }}</div>
</div>
<div style="float: left;">
<el-table v-loading="tableLoading" :data="dataList" border max-height="380px" style="width: 350px"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="typeName" label="监管人员" align="center" />
</el-table>
</div>
<div style="float: left;">
<el-table v-loading="tableLoading" :data="dataList" border max-height="380px" style="width: 350px"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"/>
<el-table-column prop="remarks" label="银行人员" align="center" />
</el-table>
</div>
</div>
<el-button type="primary" style="width: 8%;margin-left: 85%;margin-top: 40px;" size="small" @click="getPurchaseList">保存</el-button>
</div>
</div>
</template>
<script>
import req from '@/api/dataDict/datadict'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
export default {
name: 'SupplierBankInfoIndex',
components: {
ButtonBar,
Pagination,
pageye
},
data() {
return {
btndisabled: false,
viewState: 1, // 1 2 3 4
isSearchShow: false,
searchxianshitit: '显示查询条件',
tableLoading: false,
dataList: [
{remarks:'fff',id:15},
{remarks:'kfdjakdfjdkajfkafjka',id:52},
{remarks:'fff',id:11}
],
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
queryParams: {
current: 1,
size: 10,
total: 0,
params: {
typeName: '',
}
},
sids: [],
templateSelection: "",
//
checkList: [],
projectList:{
remarks:'',
id:'',
}
}
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
created() {
this.loadList()
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
switch (btnKey) {
case 'doClose':
this.doClose()
break
default:
break
}
},
loadList() {
},
singleElection(row) {
this.templateSelection = row.id
this.checkList = this.dataList.filter((item) => item.id === row.id)
console.log(`该行的编号为${row.id}`)
console.log(this.checkList[0].id)
this.projectList.remarks=this.checkList[0].remarks
this.projectList.id=this.checkList[0].id
},
//
indexMethod(index) {
var pagestart = (this.queryParams.current - 1) * this.queryParams.size
var pageindex = index + 1 + pagestart
return pageindex
},
dosearch() {
this.queryParams.current = 1
this.loadList()
},
resetQuery() {
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
typeName: '',
}
}
this.loadList()
},
resetState() {
this.viewState = 1
},
getPurchaseList(){
},
handleSelectionChange(){
}
}
}
</script>
<style scoped lang="scss">
.main-content{
max-height: 540px;
// overflow-y: hidden;
.left{
float: left;
}
.rigth{
float: right;
}
}
</style>

3
supervise-enterprise-ui/package.json

@ -27,11 +27,14 @@
"path-to-regexp": "2.4.0",
"portfinder": "^1.0.21",
"qs": "^6.9.4",
"regenerator-runtime": "^0.14.0",
"sass-resources-loader": "^2.1.1",
"svg-baker-runtime": "^1.4.7",
"viewerjs": "^1.9.0",
"vue": "2.6.10",
"vue-amap": "^0.5.10",
"vue-router": "3.0.6",
"vue-style-loader": "^4.1.3",
"vuex": "3.1.0",
"vuex-persistedstate": "^4.0.0",
"xcrud": "^0.4.19"

131
supervise-enterprise-ui/src/layout/components/Sidebar/index.vue

@ -33,7 +33,120 @@
data() {
return {
YongHuid: [],
routes: [],
routes: [
{
alwaysShow: true,
component: "warehouse",
meta: {
icon: "el-icon-menu",
title: "入库质押申请",
},
name: "/NewList/warehouse",
path: "/NewList/warehouse"
},
{
alwaysShow: true,
component: "outbound",
meta: {
icon: "el-icon-menu",
title: "解质出库申请",
},
name: "/NewList/outbound",
path: "/NewList/outbound"
},
{
alwaysShow: true,
component: "needMoney",
meta: {
icon: "el-icon-menu",
title: "用款申请",
},
name: "/NewList/needMoney",
path: "/NewList/needMoney"
},
{
alwaysShow: true,
component: "returnedMoney",
meta: {
icon: "el-icon-menu",
title: "回款上报",
},
name: "/NewList/returnedMoney",
path: "/NewList/returnedMoney"
},
{
alwaysShow: true,
component: "market",
meta: {
icon: "el-icon-menu",
title: "销售数据上报",
},
name: "/NewList/market",
path: "/NewList/market"
},
{
alwaysShow: true,
component: "kucungysgl",
meta: {
icon: "el-icon-menu",
title: "供应商管理",
},
name: "/khzxgysgl/index",
path: "/khzxgysgl/index"
},
{
alwaysShow: true,
component: "kucunDdcxs",
meta: {
icon: "el-icon-menu",
title: "订单查询",
},
name: "/kucun/ddcx",
path: "/kucun/ddcx"
},
{
alwaysShow: true,
component: "commodityFile",
meta: {
icon: "el-icon-menu",
title: "商品档案",
},
name: "/commodityFile",
path: "/commodityFile",
children: [{
alwaysShow: true,
component: "commodityManagementInfo",
meta: {
icon: "el-icon-help",
title: "商品管理",
},
name: "/supervise/commodityFile/commodity/commodityManagementInfo",
path: "/supervise/commodityFile/commodity/commodityManagementInfo",
},
{
alwaysShow: true,
component: "brandManagementInfo",
meta: {
icon: "el-icon-help",
title: "品牌维护",
},
name: "/supervise/commodityFile/brand/brandManagementInfo",
path: "/supervise/commodityFile/brand/brandManagementInfo",
},
{
alwaysShow: true,
component: "classManagementInfo",
meta: {
icon: "el-icon-help",
title: "类别维护",
},
name: "/supervise/commodityFile/classification/classManagementInfo",
path: "/supervise/commodityFile/classification/classManagementInfo",
}
]
},
],
params: {
sourceSid: '8aeb5ddd-b810-4846-96bf-34262094c0ea',
userSid: '',
@ -78,11 +191,11 @@
//
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
// 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) => {
console.log('res', res)
const userRoles = this.resRouter(res.data)
@ -93,8 +206,8 @@
})
return userRoles
})
}
})
// }
// })
},
resRouter(menus) {
//
@ -124,7 +237,7 @@
// }
}
}
this.routes = menus
// this.routes = menus
console.log('左侧菜单', this.routes)
return menus
},

70
supervise-enterprise-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) {
@ -65,66 +65,12 @@ 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)
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
// var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
// var r = window.location.search.substr(1).match(reg)
// if (r != null) return unescape(r[2]); return null
}

78
supervise-enterprise-ui/src/router/modules/codemenu.js

@ -26,7 +26,85 @@ const codemenu = [{
noCache: true
}
}]
},{
path: '/kucunDdcxs',
component: Layout,
redirect: '/kucun/ddcx',
children: [{
path: '/kucun/ddcx',
component: () => import('@/views/query/orders.vue'),
name: 'kucunDdcxs',
meta: {
title: '订单查询',
noCache: true
}
}]
},{
path: '/NewList',
component: Layout,
redirect: '/NewList/warehouse',
children: [{
path: '/NewList/warehouse',
component: () => import('@/views/NewList/warehouse.vue'),
name: 'warehouse',
meta: {
title: '货物入库质押申请',
noCache: true
}
}]
},{
path: '/NewList',
component: Layout,
redirect: '/NewList/returnedMoney',
children: [{
path: '/NewList/returnedMoney',
component: () => import('@/views/NewList/returnedMoney.vue'),
name: 'returnedMoney',
meta: {
title: '回款上报',
noCache: true
}
}]
},{
path: '/NewList',
component: Layout,
redirect: '/NewList/market',
children: [{
path: '/NewList/market',
component: () => import('@/views/NewList/market.vue'),
name: 'market',
meta: {
title: '销售上报',
noCache: true
}
}]
},{
path: '/NewList',
component: Layout,
redirect: '/NewList/outbound',
children: [{
path: '/NewList/outbound',
component: () => import('@/views/NewList/outbound.vue'),
name: 'outbound',
meta: {
title: '货物解除质押出库申请',
noCache: true
}
}]
}, {
path: '/NewList',
component: Layout,
redirect: '/NewList/needMoney',
children: [{
path: '/NewList/needMoney',
component: () => import('@/views/NewList/needMoney.vue'),
name: 'needMoney',
meta: {
title: '用款申请提交',
noCache: true
}
}]
},{
path: '/kucuncgsq',
component: Layout,
redirect: '/tobaccopurchaseapplication',

62
supervise-enterprise-ui/src/views/NewList/market.vue

@ -0,0 +1,62 @@
<template>
<div>
<button-bar ref="btnbar" view-title="销售上报" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="listconadd">
</div>
</div>
</template>
<script>
import ButtonBar from '@/components/ButtonBar'
export default {
components: {
ButtonBar
},
data() {
return {
btndisabled: false,
queryInfos: {
total: 0,
current: 1,
size: 100,
params: {
purchaseNo:''
}
},
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
};
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
btnHandle(btnKey) {
switch (btnKey) {
case 'doClose': //
this.doClose()
break
default:
break
}
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
},
};
</script>
<style lang="scss" scoped>
</style>

62
supervise-enterprise-ui/src/views/NewList/needMoney.vue

@ -0,0 +1,62 @@
<template>
<div>
<button-bar ref="btnbar" view-title="用款申请提交" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="listconadd">
</div>
</div>
</template>
<script>
import ButtonBar from '@/components/ButtonBar'
export default {
components: {
ButtonBar
},
data() {
return {
btndisabled: false,
queryInfos: {
total: 0,
current: 1,
size: 100,
params: {
purchaseNo:''
}
},
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
};
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
btnHandle(btnKey) {
switch (btnKey) {
case 'doClose': //
this.doClose()
break
default:
break
}
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
},
};
</script>
<style lang="scss" scoped>
</style>

114
supervise-enterprise-ui/src/views/NewList/outbound.vue

@ -0,0 +1,114 @@
<template>
<div>
<button-bar ref="btnbar" view-title="货物解货质押出库申请" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="listconadd">
<div class="topHouse">
<h2>货物解货质押出库申请</h2>
<div class="warehouse">
<div class="top">
<span>所在项目{{"\xa0\xa0\xa0"}} XXX</span>
<span>申请日期XXXXX</span>
</div>
<div style="margin-top: 25px;">
仓库名称{{"\xa0\xa0\xa0"}} <el-select v-model="storehouseId" placeholder="请选择" size="small" style="width: 60%;" >
<el-option
v-for="(storehouse,i) in storehouseList"
:key="i"
:label="storehouse.title"
:value="storehouse.mun">
</el-option>
</el-select>
</div>
<div style="margin-top: 25px;">
货物价值{{"\xa0\xa0\xa0"}} <el-input v-model="estimateCalculatedValue" :readonly="true" placeholder="单行输入" size="small" style="width: 60%;" clearable></el-input>
<a target="_blank" style="margin-left: 20px;font-size: 14px;color: #018ad2;border-bottom: 1px solid #018ad2;" href="http://jianguan.yyundong.com/warehouse/#/outStorehouseManagement/outList"><i class="el-icon-plus"></i>添加出库单</a>
</div>
<div style="margin-top: 45px;margin-left: -10px;font-size: 14px;">
:客户发起发起申请首先监管审核再银行审核通过后客户在审核结果表里打印纸质申请表盖章并提交给监管银行各一份
</div>
<el-button type="primary" style="width: 13%;margin-left: 60%;margin-top: 50px;" size="small" @click="getPurchaseList">提交审核</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import ButtonBar from '@/components/ButtonBar'
export default {
components: {
ButtonBar
},
data() {
return {
btndisabled: false,
storehouseId:'',
estimateCalculatedValue:'',
storehouseList:[{mun:'1',title:'喜相随仓库'},{mun:'2',title:'大四喜仓库'}],
queryInfos: {
total: 0,
current: 1,
size: 100,
params: {
purchaseNo:''
}
},
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
};
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
btnHandle(btnKey) {
switch (btnKey) {
case 'doClose': //
this.doClose()
break
default:
break
}
},
getPurchaseList(){
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
},
};
</script>
<style lang="scss" scoped>
.listconadd{
.topHouse{
h2{
text-align: center;
font-weight: 520;
font-size: 26px;
}
.warehouse{
margin: 0 auto;
width: 65%;
height: 400px;
font-size: 18px;
.top{
width: 100%;
height: 40px;
border-bottom: 1px solid #717171;
display: flex;
justify-content: space-between;
}
}
}
}
</style>

62
supervise-enterprise-ui/src/views/NewList/returnedMoney.vue

@ -0,0 +1,62 @@
<template>
<div>
<button-bar ref="btnbar" view-title="回款上报" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="listconadd">
</div>
</div>
</template>
<script>
import ButtonBar from '@/components/ButtonBar'
export default {
components: {
ButtonBar
},
data() {
return {
btndisabled: false,
queryInfos: {
total: 0,
current: 1,
size: 100,
params: {
purchaseNo:''
}
},
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
};
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
btnHandle(btnKey) {
switch (btnKey) {
case 'doClose': //
this.doClose()
break
default:
break
}
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
},
};
</script>
<style lang="scss" scoped>
</style>

115
supervise-enterprise-ui/src/views/NewList/warehouse.vue

@ -0,0 +1,115 @@
<template>
<div>
<button-bar ref="btnbar" view-title="货物入库质押申请" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="listconadd">
<div class="topHouse">
<h2>货物入库质押申请</h2>
<div class="warehouse">
<div class="top">
<span>所在项目{{"\xa0\xa0\xa0"}} XXX</span>
<span>申请日期XXXXX</span>
</div>
<div style="margin-top: 25px;">
仓库名称{{"\xa0\xa0\xa0"}} <el-select v-model="storehouseId" placeholder="请选择" size="small" style="width: 60%;" >
<el-option
v-for="(storehouse,i) in storehouseList"
:key="i"
:label="storehouse.title"
:value="storehouse.mun">
</el-option>
</el-select>
</div>
<div style="margin-top: 25px;">
货物价值{{"\xa0\xa0\xa0"}} <el-input v-model="estimateCalculatedValue" :readonly="true" placeholder="单行输入" size="small" style="width: 60%;" clearable></el-input>
<a target="_blank" style="margin-left: 20px;font-size: 14px;color: #018ad2;border-bottom: 1px solid #018ad2;" href="http://jianguan.yyundong.com/warehouse/#/instorehouse/purchase"><i class="el-icon-plus"></i>添加入库单</a>
</div>
<div style="margin-top: 45px;margin-left: -10px;font-size: 14px;">
:客户发起发起申请首先监管审核再银行审核通过后客户在审核结果表里打印纸质申请表盖章并提交给监管银行各一份
</div>
<el-button type="primary" style="width: 13%;margin-left: 60%;margin-top: 50px;" size="small" @click="getPurchaseList">提交审核</el-button>
</div>
</div>
</div>
</div>
</template>
<script>
import ButtonBar from '@/components/ButtonBar'
export default {
components: {
ButtonBar
},
data() {
return {
btndisabled: false,
storehouseId:'',
estimateCalculatedValue:'',
storehouseList:[{mun:'1',title:'喜相随仓库'},{mun:'2',title:'大四喜仓库'}],
queryInfos: {
total: 0,
current: 1,
size: 100,
params: {
purchaseNo:''
}
},
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
};
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
btnHandle(btnKey) {
switch (btnKey) {
case 'doClose': //
this.doClose()
break
default:
break
}
},
getPurchaseList(){
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
},
};
</script>
<style lang="scss" scoped>
.listconadd{
.topHouse{
h2{
text-align: center;
font-weight: 520;
font-size: 26px;
}
.warehouse{
margin: 0 auto;
width: 65%;
height: 400px;
font-size: 18px;
.top{
width: 100%;
height: 40px;
border-bottom: 1px solid #717171;
display: flex;
justify-content: space-between;
}
}
}
}
</style>

34
warehousing-system/project_web_ui/src/views/component/stockManagement/stockList.vue

@ -8,15 +8,22 @@
<div v-show="isSearchShow" class="search">
<el-form ref="queryInfo" :inline="true" :model="queryInfo" class="tab-header">
<el-form-item label="商品名">
<el-input v-model="queryInfo.query" placeholder="请输入商品名" clearable />
<el-select v-model="queryInfo.params.proSid" placeholder="请选择">
<el-option
v-for="(product,i) in productList"
:key="i"
:label="product.name"
:value="product.barCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="仓库名称">
<el-select v-model="queryInfo.cangku" placeholder="请选择" >
<el-select v-model="queryInfo.params.storeHouseSid" placeholder="请选择" >
<el-option
v-for="(storehouse,i) in storehouseList"
:key="i"
:label="storehouse.name"
:value="storehouse.name">
:value="storehouse.sid">
</el-option>
</el-select>
</el-form-item>
@ -130,14 +137,17 @@ export default {
btndisabled: false,
isSearchShow: false,
queryInfo: {
params: {},
current: 1,
size: 10,
query:'',
cangku:''
params: {
proSid:'',
storeHouseSid:'',
},
},
cangku:'',
total: 0,
stockList: [],
productList: [],
storehouseList: [],
btnList: [
{
@ -162,10 +172,14 @@ export default {
},
resetQuery() {
this.queryInfo={
query: '',
current: 1,
size: 10,
params: {
proSid:'',
storeHouseSid:''
},
},
this.total=0
this.getStockList()
},
handleSizeChange (val) {
@ -194,6 +208,11 @@ export default {
this.storehouseList = result.data
}
},
async getProductList () {
const { data: result } = await this.$http.get('/purchase/getProductList')
if (result.status !== 200) return this.$message.error('获取商品列表失败')
this.productList = result.data
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
@ -205,6 +224,7 @@ export default {
this.$refs['btnbar'].setButtonList(this.btnList)
this.getStockList()
this.getStorehouseList()
this.getProductList()
}
}
</script>

Loading…
Cancel
Save