Browse Source

2023-6-9

master
guoxing 2 years ago
parent
commit
fe2ccc0299
  1. 15
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/Common/approval.js
  2. 2
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/User/login.js
  3. 26
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/oilTypeProcure/oilTypeProcure.js
  4. 125
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/system/departments/departments.js
  5. 182
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/system/roleAdminister/index.js
  6. 31
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/system/roleAdminister/rolemenus.js
  7. 41
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/layout/components/Navbar.vue
  8. 24
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/layout/components/Sidebar/index.vue
  9. 14
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/router/index.js
  10. 2
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialInfo/index.vue
  11. 31
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialInfo/materialInfoAdd.vue
  12. 2
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/oilType/index.vue
  13. 12
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/oilType/oilTypeAdd.vue
  14. 2
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/packagInfo/index.vue
  15. 31
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/packagInfo/packagInfoAdd.vue
  16. 3
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/business/oilTypeProcure/oilTypeProcureAdd.vue
  17. 376
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/business/oilTypeProcure/oilTypeProcureInfo.vue
  18. 43
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/login/login.vue
  19. 660
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/organizationManage/organizationManage.vue
  20. 42
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/supervise/oilTypeInBound/index.vue
  21. 64
      yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/supervise/oilTypeOutBound/index.vue

15
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/Common/approval.js

@ -0,0 +1,15 @@
import request from '@/utils/request'
let tokens = window.sessionStorage.getItem('tokenValue')
export default {
// 获取流程列表
getRecordBySid: function(sid) {
return request({
url: '/cyf/approval/getRecordBySid/' + sid,
method: 'get',
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
}

2
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/User/login.js

@ -11,7 +11,7 @@ class User {
}
logout(data) { // 退出
return request({
url: '/portal/v1/sysuser/signOut',
url: '/cyf/sys/signOut',
method: 'post',
data: qs.stringify(data)
})

26
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/oilTypeProcure/oilTypeProcure.js

@ -1,6 +1,20 @@
import request from '@/utils/request'
let tokens = window.sessionStorage.getItem('tokenValue')
export default {
// 获取采购订单列表 数据字典
procureOrderList: function(params) {
return request({
url: '/cyf/procurement/list',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
},
// 采购
// 查询分页列表
@ -66,7 +80,17 @@ export default {
data: data
});
},
// 经理--财务提交
updateByState: function(data) {
return request({
url: '/cyf/procurement/updateByState',
method: 'post',
data: data
});
},
// 销售
// 查询分页列表

125
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/system/departments/departments.js

@ -0,0 +1,125 @@
import request from '@/utils/request'
import qs from 'qs'
// let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjMwMDI3MDA3fQ.9bEgBzFW2g1CUT7s5VXxhNCa10cyU_WTCFeqpQje0iY'
let tokens = window.sessionStorage.getItem('tokenValue')
// 获取菜单 分页列表
export function pageList(data) {
return request({
url: '/cyf/sysorganization/listPage',
method: 'POST',
data: data,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 查询左侧部门列表
export function orgList(data) {
return request({
url: '/cyf/sysorganization/list',
method: 'get',
data: data,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 编辑部门信息
export function postOrgtree(data) {
return request({
url: '/cyf/sysorganization/update/' + data.sid,
method: 'POST',
data: data,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 获取 机构分页列表(编辑部门信息)
export function putOrgtree(data) {
return request({
url: '/cyf/sysorganization/update/' + data.sid,
method: 'POST',
data: data,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 新增部门信息
export function addOrgTree(data) {
return request({
url: '/cyf/sysorganization/save',
method: 'POST',
data: data,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 回显
export function selectBySid(data) {
return request({
url: 'cyf/sysorganization/fetchBySid/' + data,
method: 'get',
data: data,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 树 节点名称 删除
export function delOrgtree(data) {
return request({
url: `/cyf/sysorganization/delBySid/` + data.sid,
method: 'get',
data: qs.stringify(data),
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 查询主管人员 旧的:/cyf/sysstafforg/staffinfoList
export function getStaff(data) {
return request({
url: 'cyf/sysstaffinfo/getStaffNameByDeptSid',
method: 'get',
params: data,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 查询分管人员
export function getStaffName(params) {
return request({
url: '/cyf/sysstaffinfo/getStaffName',
method: 'get',
params: params,
headers: {
'Content-Type': 'application/json',
'token': tokens
}
})
}
// 查看二维码
export function getQrCode(data) {
return request({
url: '/cyf/sysorganization/getQrCode/' + data.sid,
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}

182
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/system/roleAdminister/index.js

@ -0,0 +1,182 @@
import request from '@/utils/request'
import qs from 'qs'
//let tokens = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyTm8iOiI2IiwiaXNzIjoiV0JLIiwiZXhwIjoxNjI5OTQxNjI1fQ.aOFOz0h7c8YQs-ti2GLpqeWu4AE9mifx_043hLJQf8g'
let tokens = window.sessionStorage.getItem('tokenValue');
// 业务角色 列表
export function roleOrgList(data){
return request({
url: '/cyf/sysrole/listPage',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
export function postList(data){
return request({
url: '/cyf/syspost/list',
method: 'get',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
// 获取数据字典下拉列表
export function typeValues(data) {
return request({
url: '/cyf/dictcommon/typeValues',
method: 'get',
params: data
})
}
// 设置是否可用:isEnable:1可用,0不可用
export function setRoleEnable(data) {
return request({
url: '/cyf/sysrole/setIsEnable/' + data.sid + '/' + data.isEnable,
method: 'POST',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
/**
* <新增 保存角色>
* @orgSid 机构SID
* @remarks 备注
* @roleName 角色名称
* */
export function saveOrgroles(data) {
return request({
url: '/cyf/sysrole/save',
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
/**
* <根据SID 修改角色>
* @sid 角色SID
* @orgSid 机构SID
* @remarks 备注
* @roleName 角色名称
* */
export function putOrgroles(data) {
return request({
url: `/cyf/sysrole/update/${data.sid}`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
/**
* <根据SID 删除角色>
* @sid 角色SID
* */
export function delOrgroles(data) {
return request({
url: `/cyf/sysrole/delBySids/${data.sid}`,
method: 'get',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 移动端授权
export function getRoleMenuList(data) {
return request({
url: '/cyf/sysmobilemenurole/getRoleMenuList',
method: 'post',
params: { roleSid: data }
})
}
// 菜单授权保存
export function saveRoleMenuList(data) {
return request({
url: `/cyf/sysmobilemenurole/saveRoleMenuList`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 菜单授权
export function roleMenuTree(data) {
return request({
url: `/cyf/sysmenu/listAllByRoleSid`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 菜单授权保存
export function saveorgrolemenus(data) {
return request({
url: `/cyf/sysmenurole/updateRoleAndMenu`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 资源授权
export function sourceMenuTree(data) {
return request({
url: `/cyf/syssource/listAllByRoleSid`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 资源授权保存
export function saveSource(data) {
return request({
url: `/cyf/syssourcerole/updateRoleAndSource`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 功能授权
export function funMenuTree(data) {
return request({
url: `/cyf/sysfunction/listAllByRoleSid`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}
// 功能授权保存
export function savefunMenu(data) {
return request({
url: `/cyf/sysrolefunction/updateRoleAndFunction`,
method: 'POST',
data: data,
headers: {'Content-Type': 'application/json',
'token':tokens
}
})
}

31
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/api/system/roleAdminister/rolemenus.js

@ -0,0 +1,31 @@
import request from '@/utils/request'
import qs from 'qs'
/**
* < 业务角色授权时菜单列表拥有的菜单选中>
* @orgTypeKeys 单位性质类别
* @roleSid 业务角色sid
* @userType 用户类型只能为1或2
* */
export function roleMenuTree(data){
return request({
url: '/system/v1/orgrolemenus/menutree',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}
/**
* < 保存角色授权的菜单项 >
* @roleMenus[] 角色权限列表 {menuSid 菜单sid} {orgSid 单位sid} {roleSid 角色sid}
* @roleSid 业务角色sid
* */
export function saveorgrolemenus(data){
return request({
url: '/system/v1/orgrolemenus',
method: 'post',
data: data,
headers: {'Content-Type': 'application/json'}
})
}

41
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/layout/components/Navbar.vue

@ -8,7 +8,8 @@
<p>欢迎您{{name}}</p>
<img src="@/assets/images/info.png">
<!-- <img src="@/assets/images/dy.png" @click="logout"> -->
<span class="backToHome" @click="logout"><i class="el-icon-back"></i>返回首页</span>
<!-- <span class="backToHome" @click="logout"><i class="el-icon-back"></i>返回首页</span> -->
<p class="dy" @click="logout()"><img src="@/assets/images/dy.png"></p>
</div>
</div>
<el-footer class="footer" height="40px">Copyright © {{ year }} 醇油坊进销存管理平台 All Rights Reserved</el-footer>
@ -16,6 +17,13 @@
</template>
<script>
import {
getToken,
removeToken,
getStorage,
removeStorage
} from '@/utils/auth'
import User from '@/api/User/login.js'
export default {
data() {
return {
@ -24,15 +32,40 @@
}
},
mounted() {
console.log(" userName", window.sessionStorage.getItem('userName'))
this.name = window.sessionStorage.getItem('userName')
var nowDate = new Date()
this.year = nowDate.getFullYear()
},
methods: {
logout() {
// this.$router.push({ path: '/home' })
window.opener = null
window.open('about:blank', '_top').close()
this.$confirm('确定要退出吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
User.logout({
token: getStorage()
}).then(res => {
removeStorage()
// this.$store.commit('user/SET_UESRINFO', '')
window.sessionStorage.setItem('tokenName', '')
window.sessionStorage.setItem('tokenValue', '')
window.sessionStorage.setItem('staffSid', '')
window.sessionStorage.setItem('sid', '')
window.sessionStorage.setItem('userName', '')
window.sessionStorage.setItem('rolesid', '')
window.sessionStorage.setItem('orgSid','')
window.sessionStorage.setItem('postSid', '')
this.$router.push({
path: '/login'
})
})
})
// // this.$router.push({ path: '/home' })
// window.opener = null
// window.open('about:blank', '_top').close()
}
}
}

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

@ -483,6 +483,30 @@
},
],
},
{
alwaysShow: true,
component: "organizationManage",
meta: {
icon: "el-icon-menu",
title: "组织管理",
},
name: "/organizationManage",
path: "/organizationManage",
},
// {
// alwaysShow: true,
// component: 'index',
// meta: {
// icon: "el-icon-menu",
// title: ""
// },
// name: "/project/index",
// path: "/project/index"
// },
// {
// alwaysShow: true,
// component: 'index',

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

@ -438,6 +438,20 @@ export const constantRoutes = [{
},
]
},
{
path: '/organizationManage',
component: Layout,
redirect: '/organizationManage',
children: [{
path: '/organizationManage',
component: () =>
import('@/views/organizationManage/organizationManage.vue'),
name: 'organizationManage',
meta: {
title: '组织管理'
}
}]
},
// {
// path: 'rawMaterialType',

2
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialInfo/index.vue

@ -30,6 +30,8 @@
<el-table-column label="原料名称" prop="name" align="center" />
<el-table-column label="原料编码" prop="number" align="center" />
<el-table-column label="原料类型" prop="typeName" align="center" />
<el-table-column label="原料单位" prop="unit" align="center" />
<el-table-column label="原料规格" prop="proSpec" align="center" />
<el-table-column label="原料初始库存" prop="initialInventory" align="center" />
<el-table-column label="原料现有库存" prop="inventory" align="center" />
</el-table>

31
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/materialInfo/materialInfoAdd.vue

@ -31,9 +31,17 @@
</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.unit" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">原料规格</span>
<el-input v-model="formobj.proSpec" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">原料初始库存</span>
<el-input v-model="formobj.initialInventory" placeholder="" class="item_input" clearable />
<el-input v-model="formobj.initialInventory" @input="limitInput1($event)" placeholder="" class="item_input" clearable />
</div>
</el-card>
@ -58,6 +66,8 @@
initialInventory: "",
typeSid: "",
typeName: "",
unit: "",
proSpec: "",
}
}
@ -66,6 +76,23 @@
this.rawMaterialType()
},
methods: {
/**
* 1必须为数字
* 2只能有一个小数点
* 3小数点后保留两位小数
* 4当第一位输入小数点的时候自动补全补为 0.
* 5除非是小数否则数字不能以0开头
* @param {string} value - 输入的值
* @param {string} index - 匹配的对象属性 [mkPrice | slPrice]
*/
limitInput1(value, index) {
this.formobj.initialInventory =
("" + value) //
.replace(/[^\d^\.]+/g, "") //
.replace(/^0+(\d)/, "$1") // 00
.replace(/^\./, "0.") // 0.
.match(/^\d*(\.?\d{0,2})/g)[0] || ""; // 02
},
rawMaterialType() {
req.rawMaterialType().then((res) => {
if (res.success) {
@ -111,6 +138,8 @@
initialInventory: "",
typeSid: "",
typeName: "",
unit: "",
proSpec: "",
}
this.$emit('doback')

2
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/oilType/index.vue

@ -38,6 +38,8 @@
<el-table-column label="原油编码" prop="number" align="center" />
<el-table-column label="原油Code" prop="code" align="center" />
<el-table-column label="原油单价" prop="price" align="center" />
<el-table-column label="原油单位" prop="unit" align="center" />
<el-table-column label="原油规格" prop="proSpec" align="center" />
</el-table>
</div>
<div class="pages">

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

@ -33,6 +33,14 @@
<el-input v-model="formobj.price" @input="limitInput($event,'slPrice')" placeholder="" class="item_input"
clearable />
</div>
<div class="item">
<span class="item_text">原油单位</span>
<el-input v-model="formobj.unit" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">原油规格</span>
<el-input v-model="formobj.proSpec" placeholder="" class="item_input" clearable />
</div>
</el-card>
</div>
@ -52,6 +60,8 @@
number: "",
code: "",
price: "",
unit: "",
proSpec: "",
}
}
},
@ -115,6 +125,8 @@
number: "",
code: "",
price: "",
unit: "",
proSpec: "",
}
this.$emit('doback')
},

2
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/packagInfo/index.vue

@ -30,6 +30,8 @@
<el-table-column label="包装物名称" prop="name" align="center" />
<el-table-column label="包装物编码" prop="number" align="center" />
<el-table-column label="包装物类型" prop="typeName" align="center" />
<el-table-column label="包装物单位" prop="unit" align="center" />
<el-table-column label="包装物规格" prop="proSpec" align="center" />
<el-table-column label="包装物初始库存" prop="initialInventory" align="center" />
<el-table-column label="包装物现有库存" prop="inventory" align="center" />
</el-table>

31
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/baseInfo/packagInfo/packagInfoAdd.vue

@ -31,9 +31,17 @@
</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.unit" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">包装物规格</span>
<el-input v-model="formobj.proSpec" placeholder="" class="item_input" clearable />
</div>
<div class="item">
<span class="item_text">包装物初始库存</span>
<el-input v-model="formobj.initialInventory" placeholder="" class="item_input" clearable />
<el-input v-model="formobj.initialInventory" @input="limitInput1($event)" placeholder="" class="item_input" clearable />
</div>
</el-card>
@ -58,6 +66,8 @@
initialInventory: "",
typeSid: "",
typeName: "",
unit: "",
proSpec: "",
}
}
@ -66,6 +76,23 @@
this.packageType()
},
methods: {
/**
* 1必须为数字
* 2只能有一个小数点
* 3小数点后保留两位小数
* 4当第一位输入小数点的时候自动补全补为 0.
* 5除非是小数否则数字不能以0开头
* @param {string} value - 输入的值
* @param {string} index - 匹配的对象属性 [mkPrice | slPrice]
*/
limitInput1(value, index) {
this.formobj.initialInventory =
("" + value) //
.replace(/[^\d^\.]+/g, "") //
.replace(/^0+(\d)/, "$1") // 00
.replace(/^\./, "0.") // 0.
.match(/^\d*(\.?\d{0,2})/g)[0] || ""; // 02
},
packageType() {
req.packageType().then((res) => {
if (res.success) {
@ -111,6 +138,8 @@
initialInventory: "",
typeSid: "",
typeName: "",
unit: "",
proSpec: "",
}
this.$emit('doback')

3
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/business/oilTypeProcure/oilTypeProcureAdd.vue

@ -94,7 +94,7 @@
</template>
</el-table-column>
<el-table-column label="商品编码" prop="number" align="center" />
<el-table-column label="单位" prop="sss" align="center" />
<el-table-column label="单位" prop="unit" align="center" />
<el-table-column label="单价" prop="price" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.price" placeholder="" @input="limitInput1($event,scope.$index)"
@ -325,6 +325,7 @@
console.log(">>>>>>>>>getType", choose[0])
this.formobj.commodityList[index].number = choose[0].number
this.formobj.commodityList[index].name = choose[0].name
this.formobj.commodityList[index].unit = choose[0].unit
this.formobj.commodityList[index].sid = value
},

376
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/business/oilTypeProcure/oilTypeProcureInfo.vue

@ -5,13 +5,14 @@
<div>采购信息</div>
<div>
<el-button type="primary" size="small" v-show="formobj.state<=5" :disabled="submitdisabled"
@click="submitData">提交</el-button>
@click="submitData">{{state}}</el-button>
<!-- <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">
<el-form ref="dataForm" :model="formobj" label-position="top" label-width="190px" class="formadd">
<el-form ref="dataForm" :model="formobj" label-position="top" label-width="190px" class="formadd"
style="margin-bottom: 150px;">
<div class="titwu">采购信息</div>
<div class="title" style="display: flex;align-items: center;justify-content: space-between;height:40px">
<div>主体信息</div>
@ -68,95 +69,98 @@
</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.paymentDate" type="date" style="width: 80%;" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" placeholder="请选择" />
<!-- <span>{{formobj.supplierName}}</span> -->
</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">
<!-- <span>{{formobj.arrivalDate}}</span> -->
<el-input v-model="formobj.payment" placeholder="" @input="limitInput($event)" style="width: 80%;"
clearable />
</el-form-item>
</el-col>
</el-row>
<div v-show="formobj.state==6 || formobj.state== 7">
<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.payer" placeholder="" style="width: 80%;" clearable />
<!-- <span>{{formobj.supplierName}}</span> -->
</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">
<!-- <span>{{formobj.arrivalDate}}</span> -->
<el-input v-model="formobj.payerBank" placeholder="" style="width: 80%;" 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.payee" placeholder="" style="width: 80%;" clearable />
<!-- <span>{{formobj.supplierName}}</span> -->
</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">
<!-- <span>{{formobj.arrivalDate}}</span> -->
<el-input v-model="formobj.payeeBank" placeholder="" style="width: 80%;" 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.paymentSummary" placeholder="" type="textarea" :rows="5" style="width: 100%;"
clearable />
<!-- <span>{{formobj.supplierName}}</span> -->
</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.paymentDate" type="date" style="width: 80%;" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" placeholder="请选择" /> -->
<span>{{formobj.paymentDate}}</span>
</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">
<span>{{formobj.payment}}</span>
<!-- <el-input v-model="formobj.payment" placeholder="" @input="limitInput($event)" style="width: 80%;"
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.payer" placeholder="" style="width: 80%;" clearable /> -->
<span>{{formobj.payer}}</span>
</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">
<span>{{formobj.payerBank}}</span>
<!-- <el-input v-model="formobj.payerBank" placeholder="" style="width: 80%;" 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.payee" placeholder="" style="width: 80%;" clearable /> -->
<span>{{formobj.payee}}</span>
</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">
<span>{{formobj.payeeBank}}</span>
<!-- <el-input v-model="formobj.payeeBank" placeholder="" style="width: 80%;" 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.paymentSummary" placeholder="" type="textarea" :rows="5"
style="width: 100%;" clearable /> -->
<span>{{formobj.paymentSummary}}</span>
</el-form-item>
</el-col>
</el-row>
</div>
<el-collapse v-model="activeNames">
@ -178,23 +182,121 @@
</el-collapse-item>
</el-collapse>
<el-collapse v-model="activeNames">
<el-collapse-item name="2" title="审批流程">
<el-table v-loading="listLoading" :data="recordList" border style="width: 100%;"
:row-style="{height: '40px'}">
<!-- <el-table-column type="selection" align="center" width="50"/> -->
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center" />
<el-table-column label="审批日期" prop="approvalDate" align="center" />
<el-table-column label="审批人员" prop="approverName" align="center" />
<el-table-column label="部门名称" prop="approver" align="center" />
<el-table-column label="审批操作" prop="operateValue" align="center" />
<el-table-column label="审批意见" prop="approvalOpinions" align="center" />
</el-table>
</el-collapse-item>
</el-collapse>
</el-form>
</div>
</div>
<el-dialog title="请填写审核意见" :visible.sync="editDialog" width="40%" @close='handleCancle'>
<table class="e-table" cellspacing="0">
<tr>
<td>审核操作</td>
<td>
<div>
<el-radio v-model="radio" label="3">同意</el-radio>
<el-radio v-model="radio" label="4">不同意</el-radio>
</div>
</td>
</tr>
<tr>
<td>审核意见</td>
<td>
<el-input v-model="form.approvalOpinions" placeholder="" clearable></el-input>
</td>
</tr>
<tr v-show="radio=='3'&&formobj.state == '5'">
<td>付款日期</td>
<td>
<el-date-picker v-model="form.paymentDate" type="date" style="width: 100%;" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="请选择" />
</td>
</tr>
<tr v-show="radio=='3'&&formobj.state == '5'">
<td>付款金额</td>
<td>
<el-input v-model="form.payment" @input="limitInput($event)" placeholder="" clearable></el-input>
</td>
</tr>
<tr v-show="radio=='3'&&formobj.state == '5'">
<td>付款单位</td>
<td>
<el-input v-model="form.payer" placeholder="" clearable></el-input>
</td>
</tr>
<tr v-show="radio=='3'&&formobj.state == '5'">
<td>付款单位开户行</td>
<td>
<el-input v-model="form.payerBank" placeholder="" clearable></el-input>
</td>
</tr>
<tr v-show="radio=='3'&&formobj.state == '5'">
<td>收款单位</td>
<td>
<el-input v-model="form.payee" placeholder="" clearable></el-input>
</td>
</tr>
<tr v-show="radio=='3'&&formobj.state == '5'">
<td>收款单位开户行</td>
<td>
<el-input v-model="form.payeeBank" placeholder="" clearable></el-input>
</td>
</tr>
<tr v-show="radio=='3'&&formobj.state == '5'">
<td>摘要</td>
<td>
<el-input v-model="form.paymentSummary" placeholder="" clearable></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/oilTypeProcure/oilTypeProcure'
import req2 from '@/api/Common/approval.js'
export default {
data() {
return {
submitdisabled: false,
listLoading: false,
activeNames: ['1'],
activeNames: ['1', "2"],
recordList: [],
state: "提交",
editDialog: false,
radio: "0",
form: {
sid: "",
operate: "",
approvalOpinions: "",
paymentDate: "",
payment: "",
payerBank: "",
payee: '',
payeeBank: '',
paymentSummary: ""
},
formobj: {
sid: "",
orderNumber: "",
@ -210,6 +312,7 @@
payeeBank: "",
paymentSummary: "",
commodityList: [],
state: ""
}
}
},
@ -224,7 +327,7 @@
* @param {string} index - 匹配的对象属性 [mkPrice | slPrice]
*/
limitInput(value) {
this.formobj.payment =
this.form.payment =
("" + value) //
.replace(/[^\d^\.]+/g, "") //
.replace(/^0+(\d)/, "$1") // 00
@ -232,13 +335,8 @@
.match(/^\d*(\.?\d{0,2})/g)[0] || ""; // 02
},
submitData() {
console.log(">>>>>>>>>submit", this.formobj)
if (this.formobj.state = 5) {
//
} else {
//
if (this.formobj.state == "1") {
req.procureAddSubmitInfo(this.formobj)
.then(resp => {
if (resp.success) {
@ -253,9 +351,66 @@
}
})
.catch(() => {})
} else {
this.editDialog = true;
}
console.log(">>>>>>>>>submit", this.formobj)
// if (this.formobj.state = 5) {
// //
// } else {
// //
// }
},
save() {
this.form.sid = this.formobj.sid
this.form.operate = this.radio
console.log(">>>>>>>>>", this.form)
req.updateByState(this.form)
.then(resp => {
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.editDialog = false;
this.handleReturn("true")
} else {
// resp.code
}
})
.catch(() => {})
},
handleCancle() {
this.editDialog = false
this.radio = "0"
this.form = {
sid: "",
operate: "",
approvalOpinions: "",
paymentDate: "",
payment: "",
payment: "",
payerBank: "",
payee: '',
payeeBank: '',
paymentSummary: ""
}
},
handleReturn(isreload) {
console.log(">>>>>>>>>")
@ -277,6 +432,7 @@
payeeBank: "",
paymentSummary: "",
commodityList: [],
state: ""
}
},
@ -286,12 +442,32 @@
.then(resp => {
if (resp.success) {
this.formobj = resp.data
console.log(">>>>>>>>>", this.formobj.state)
if (this.formobj.state == "1") {
this.state = "提交"
} else {
this.state = "审核"
}
}
})
.catch(e => {
this.formobj = row
})
req2.getRecordBySid(row.sid)
.then(resp => {
if (resp.success) {
this.recordList = resp.data
}
})
.catch(e => {
this.recordList = []
})
},
//
indexMethod(index) {
@ -334,4 +510,4 @@
/deep/ .el-collapse-item__content {
padding-bottom: 0;
}
</style>
</style>

43
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/login/login.vue

@ -95,16 +95,7 @@
doLogin(this.loginForm).then((response) => {
if (response.code == 200) {
console.log(" response", response)
this.$router.push({
path: '/index'
})
this.loading = false
this.getUserInfo(response.data.loginId)
window.sessionStorage.setItem('tokenName', response.data.tokenName)
window.sessionStorage.setItem('tokenValue', response.data.tokenValue)
console.log(" tokenName", response.data.tokenName)
console.log(" tokenValue", response.data.tokenValue)
this.getUserInfo(response.data)
}
}).catch(() => {
@ -128,19 +119,33 @@
// this.$refs.imgCodeRole.getCodeImage()
// })
},
getUserInfo(id) {
getUserById(id).then((response) => {
getUserInfo(data) {
getUserById(data.loginId).then((response) => {
if (response.code == 200) {
console.log(" response", response)
let user = response.data
//
window.sessionStorage.setItem('staffSid', user.staffSid)
window.sessionStorage.setItem('sid', user.sid)
window.sessionStorage.setItem('userName', user.userName)
window.sessionStorage.setItem('tokenName', data.tokenName)
window.sessionStorage.setItem('tokenValue', data.tokenValue)
console.log(" tokenName",data.tokenName)
console.log(" tokenValue", data.tokenValue)
let user = response.data
//
window.sessionStorage.setItem('staffSid', user.staffSid)
window.sessionStorage.setItem('sid', user.sid)
window.sessionStorage.setItem('userName', user.userName)
window.sessionStorage.setItem('rolesid', user.rolesid)
window.sessionStorage.setItem('orgSid', user.orgSid)
window.sessionStorage.setItem('postSid', user.postSid)
this.$router.push({
path: '/index'
})
this.loading = false
}
}).catch(() => {
})
}).catch(() => {})
},
codeShow() {

660
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/organizationManage/organizationManage.vue

@ -0,0 +1,660 @@
<template>
<div class="container" style="display: flex;">
<div class="org-tree">
<el-tree :data="treedata" node-key="sid" :props="props" :default-expanded-keys="['fd6435f2-0005-11ec-a033-48452053aa33']" @node-click="handleNodeClick">
<span class="custom-tree-node" slot-scope="{ node, data }" @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)" @click.stop.native>
<span>{{ node.label || $store.getters.userInfo.Orgname }}</span>
<span v-show="data.del" class="handle">
<el-tooltip class="item" effect="dark" content="新增" placement="top-start">
<el-button type="text" size="mini" @click.stop="() => append(data)" icon="el-icon-circle-plus-outline">
</el-button>
</el-tooltip>
<!-- <el-tooltip v-show="data.sid" class="item" effect="dark" content="修改" placement="top-start">-->
<!-- <el-button type="text" size="mini" @click.stop="() => deit(data)" icon="el-icon-edit">-->
<!-- </el-button>-->
<!-- </el-tooltip>-->
<!-- <el-tooltip v-show="data.sid" class="item" effect="dark" content="删除" placement="top-start">-->
<!-- <el-button type="text" size="mini" @click.stop="() => remove(data)" icon="el-icon-delete">-->
<!-- </el-button>-->
<!-- </el-tooltip>-->
</span>
</span>
</el-tree>
</div>
<el-dialog title="编辑节点" :visible.sync="dialogVisible" width="50%" class="edit">
<table class="e-table" cellspacing="0">
<tr>
<td>组织名称</td>
<td>
<el-input v-model="form.name" style="width:300px"></el-input>
</td>
<td>组织编码</td>
<td>
<el-input v-model="form.orgCode" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>主管人员</td>
<td>
<el-select v-model="form.zgStaffSid" style="width:300px" filterable>
<el-option v-for="item in staffdata" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
</td>
<td>分管人员</td>
<td>
<el-select v-model="fgStaffSid" style="width:300px" filterable multiple>
<el-option v-for="item in staffdata2" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
</td>
</tr>
<tr>
<td>组织简称</td>
<td :colspan="3">
<el-input v-model="form.orgAbbre" style="width: 30%"></el-input>
</td>
</tr>
<tr>
<td>管理层级</td>
<td>
<el-select v-model="form.orgLevelValue" style="width:300px" placeholder="请选择" filterable @change="changeOrgLevel">
<el-option v-for="item in orgLevel_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</td>
<td>其他编码</td>
<td>
<el-input v-model="form.otherCode" style="width:300px" placeholder="与财务中客户编码相同"></el-input>
</td>
</tr>
<tr>
<td>组织地址</td>
<td>
<el-input v-model="form.addrs" style="width:300px"></el-input>
</td>
<td>组织属性</td>
<td>
<el-select v-model="form.orgAttributeValue" placeholder="请选择" filterable @change="changeOrgAttribute">
<el-option v-for="item in orgAttribute_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</td>
</tr>
<tr>
<td>组织联系人</td>
<td>
<el-input v-model="form.linkPerson" style="width:300px"></el-input>
</td>
<td>联系电话</td>
<td>
<el-input v-model="form.linkPhone" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>是否独立法人</td>
<td>
<el-radio v-model="form.isDept" :label="0"></el-radio>
<el-radio v-model="form.isDept" :label="1"></el-radio>
</td>
<td>排序号</td>
<td>
<el-input v-model="form.sort" style="width:300px"></el-input>
</td>
</tr>
</table>
<div slot="footer" class="text-center">
<el-button type="primary" @click="nodeSave()"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</div>
</el-dialog>
<div class="org-table" v-show="isshow == 'table'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="组织名称">
<el-input v-model="page.params.name" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="onSearch()">查询</el-button>
<el-button @click="resetSearch()">重置</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- table -->
<el-table :data="tableData" default-expand-all border style="width: 100%;">
<el-table-column label="操作" align="center" width="160px">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="editRow(scope.row)">
编辑
</el-button>
<el-button type="danger" size="mini" @click.native.prevent="remove(scope.row)">
删除
</el-button>
</template>
</el-table-column>
<el-table-column prop="name" label="组织名称" align="center"></el-table-column>
<el-table-column prop="orgCode" label="组织编码" align="center"></el-table-column>
<!-- <el-table-column prop="zgNames" label="主管" align="center"></el-table-column>-->
<el-table-column prop="fgNames" label="分管" align="center"></el-table-column>
<!--<el-table-column prop="contactMan" label="联系人" align="center" width="100px"></el-table-column>-->
<el-table-column prop="linkPhone" label="联系人手机号" width="110" align="center">
</el-table-column>
<el-table-column prop="addrs" label="地址" align="center">
</el-table-column>
<el-table-column prop="sort" label="排序" align="center" width="50px">
</el-table-column>
<el-table-column prop="qrText" label="二维码" align="center" width="80px">
<template slot-scope="scope">
<el-button @click.native.prevent="lookRow(scope.row)" type="text" size="small">查看</el-button>
</template>
</el-table-column>
</el-table>
<pagination :total="page.total" :page.sync="page.current" :limit.sync="page.size" @pagination="pagination"/>
</div>
<div class="org-table" v-show="isshow == 'ewm'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<h4 style="margin: 0;line-height: 32px;">组织二维码</h4>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button type="primary" @click="Printewm"> </el-button>
<el-button @click="isshow = 'table'"> </el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- center -->
<div class="ewm" style="display: flex;justify-content: center; align-items: center;" ref="print">
<img style="width: 200px; height: 200px;" :src="ewmForm.qrFilePath" alt="">
<ul style="list-style:none; line-height: 32px; font-size: 16px;">
<li><label>组织名称: </label><span>{{ ewmForm.departmentName }}</span></li>
</ul>
</div>
</div>
<!-- 新增编辑页面 -->
<div class="org-table" v-show="isshow == 'edit'">
<div class="tab-header">
<el-form ref="form" :inline="true" :model="form" label-width="80px">
<el-row :gutter="20">
<el-col :span="16">
<h4 style="margin: 0;line-height: 32px;"> {{ dialogTitle }}组织信息</h4>
</el-col>
<el-col :span="8">
<el-form-item style="float: right;">
<el-button type="primary" @click="save()"> </el-button>
<el-button @click="isshow = 'table'"> </el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<!-- center -->
<div class="ediut">
<table class="e-table" cellspacing="0">
<tr>
<td>组织名称</td>
<td>
<el-input v-model="form.name" style="width:300px"></el-input>
</td>
<td>组织编码</td>
<td>
<el-input v-model="form.orgCode" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>主管人员</td>
<td>
<el-select v-model="form.zgStaffSid" style="width:300px" filterable>
<el-option v-for="item in staffdata" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
</td>
<td>分管人员</td>
<td>
<el-select v-model="fgStaffSid" style="width:300px" filterable multiple>
<el-option v-for="item in staffdata2" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
</td>
</tr>
<tr>
<td>组织简称</td>
<td :colspan="3">
<el-input v-model="form.orgAbbre" style="width: 300px"></el-input>
</td>
</tr>
<tr>
<td>管理层级</td>
<td>
<el-select v-model="form.orgLevelValue" style="width:300px" placeholder="请选择" filterable @change="changeOrgLevel">
<el-option v-for="item in orgLevel_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</td>
<td>其他编码</td>
<td>
<el-input v-model="form.otherCode" style="width:300px" placeholder="与财务中客户编码相同"></el-input>
</td>
</tr>
<tr>
<td>组织地址</td>
<td>
<el-input v-model="form.addrs" style="width:300px"></el-input>
</td>
<td>组织属性</td>
<td>
<el-select v-model="form.orgAttributeValue" placeholder="请选择" filterable @change="changeOrgAttribute">
<el-option v-for="item in orgAttribute_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</td>
</tr>
<tr>
<td>组织联系人</td>
<td>
<el-input v-model="form.linkPerson" style="width:300px"></el-input>
</td>
<td>联系电话</td>
<td>
<el-input v-model="form.linkPhone" style="width:300px"></el-input>
</td>
</tr>
<tr>
<td>是否独立法人</td>
<td>
<el-radio v-model="form.isDept" :label="0"></el-radio>
<el-radio v-model="form.isDept" :label="1"></el-radio>
</td>
<td>排序号</td>
<td>
<el-input v-model="form.sort" style="width:300px"></el-input>
</td>
</tr>
</table>
</div>
</div>
<!-- <Position v-if="mapDialog" :address.sync="form.addrs" :maker-position.sync="form.jwd"
:dialog-visible.sync="mapDialog"/>-->
</div>
</template>
<script>
import {
addOrgTree,
delOrgtree,
getQrCode, getStaff,
getStaffName,
orgList,
pageList,
postOrgtree,
putOrgtree,
selectBySid
} from '@/api/system/departments/departments.js'
import { typeValues } from '@/api/system/roleAdminister/index'
import Position from '@/components/amap/amap.vue'
export default {
components: { Position },
data() {
return {
dialogVisible: false,
mapDialog: false,
dialogTitle: '',
props: {
label: 'name',
children: 'children'
},
nodeForm: {
sid: '',
name: '',
sortNo: ''
},
ewmForm: {
qrFilePath: '',
organizationName: '',
departmentName: '',
address: ''
},
orgAttribute_list: [],
orgLevel_list: [],
form: {
sid: '',
name: '',
orgCode: '',
/* jwd: '',*/
addrs: '',
zgStaffSid: '',
zgStaffName: '',
fgStaffSid: '',
fgStaffName: '',
linkPerson: '',
linkPhone: '',
sort: '',
isDept: '',
orgAbbre: '',
orgAttributeValue: '',
orgAttributeKey: '',
orgLevelValue: '',
orgLevelKey: '',
otherCode: ''
},
fgStaffSid: [],
formBackup: Object.assign({}, this.form),
isshow: 'table',
page: {
total: 0, //
current: 1, //
size: 10, //
params: {
name: '',
organizationSid: '',
psid: ''
}
},
tableData: [],
treedata: [],
staffdata: [],
staffdata2: [],
rules: {}
}
},
mounted() {
this.getOrgTree()
this.init()
},
methods: {
init() {
typeValues({ type: 'orgAttribute' }).then((res) => {
if (res.success) {
this.orgAttribute_list = res.data
}
})
typeValues({ type: 'orgLevel' }).then((res) => {
if (res.success) {
this.orgLevel_list = res.data
}
})
},
changeOrgLevel(value) {
let bb = null
this.orgLevel_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
value: e.dictValue,
key: e.dictKey
}
}
})
this.form.orgLevelValue = bb.value
this.form.orgLevelKey = bb.key
},
changeOrgAttribute(value) {
let bb = null
this.orgAttribute_list.forEach((e) => {
if (e.dictValue === value) {
bb = {
key: e.dictKey,
value: e.dictValue
}
}
})
this.form.orgAttributeKey = bb.key
},
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
this.getPageList(this.page)
},
handleNodeClick(data) {
this.isshow = 'table'
this.page.params.organizationSid = this.$store.getters.userInfo.orgSid
this.page.params.psid = data.sid || 0
this.getPageList(this.page)
},
getPageList(data) { //
pageList(data).then(res => {
console.log('返回子级:',res)
this.tableData = res.data.records
this.page.total = res.data.total
})
},
getOrgTree() { //
orgList({}).then(res => {
this.treedata = res.data
})
},
save() {
if (this.fgStaffSid.length > 0) {
this.form.fgStaffSid = this.fgStaffSid.join()
} else {
this.form.fgStaffName = ''
this.form.fgStaffSid = ''
}
this.form.organizationSid = this.$store.getters.userInfo.orgSid
// this.form.dlxx = typeof(this.form.dlxx) == 'string' ? this.form.dlxx : this.form.dlxx.join()
if (this.form.sid) {
// console.log(this.form)
putOrgtree(this.form).then(res => {
if (res.success) {
this.isshow = 'table'
this.getOrgTree()
this.handleNodeClick({ sid: this.form.psid })
this.$message({
message: res.msg,
type: 'success'
})
}
})
} else {
addOrgTree(this.form).then(res => {
if (res.success) {
this.isshow = 'table'
this.getOrgTree()
this.handleNodeClick({ sid: this.form.psid })
this.$message({
message: res.msg,
type: 'success'
})
}
})
}
},
append(data) {
console.log(123456789, data)
this.dialogTitle = '新增'
this.isshow = 'edit'
this.fgStaffSid = []
this.form = Object.assign({}, this.formBackup)
this.form.psid = data.sid || 0
this.form.organizationSid = this.$store.getters.userInfo.orgSid
this.form.address = data.orgAddress || data.address
this.form.dlxx = data.gisInfo || data.dlxx
this.getStaff(data.sid)
this.getStaff2(data.sid)
},
editRow(row) {
this.getStaff(row.sid)
this.getStaff2(row.sid)
this.dialogTitle = '编辑'
this.isshow = 'edit'
this.fgStaffSid = []
selectBySid(row.sid).then((response) => {
if (response.success) {
this.form = response.data
this.form.fgStaffName = response.data.fgNames
this.form.fgStaffSid = response.data.fgStaffSid
if (this.form.fgStaffSid) {
this.fgStaffSid = response.data.fgStaffSid.split(',')
}
this.form.zgStaffName = response.data.zgNames
this.form.zgStaffSid = response.data.zgStaffSid
console.log('编辑回显的数据', this.form)
}
})
},
deit(data) { //
this.getStaff(data.sid)
this.getStaff2(data.sid)
console.log(data, 8888)
this.dialogVisible = true
this.form.sid = data.sid
// this.form.psid = null
this.form.name = data.name
this.form.orgCode = data.orgCode
/* this.form.jwd = data.jwd*/
this.form.addrs = data.addrs
this.form.linkPerson = data.linkPerson
this.form.linkPhone = data.linkPhone
this.form.sort = data.sort
this.form.zgStaffSid = data.zgSids
this.form.fgStaffSid = data.fgSids.split(',')
},
nodeSave() { //
console.log('这是保存nodeSave(0')
this.form.fgStaffSid = this.form.fgStaffSid.join()
postOrgtree(this.form).then(res => {
this.getOrgTree()
this.dialogVisible = false
this.$message({
message: res.msg,
type: 'success'
})
})
},
remove(data) {
this.$confirm('确定要删除该组织吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delOrgtree({ sid: data.sid }).then(res => {
this.getOrgTree()
this.handleNodeClick({ sid: data.psid })
this.$message({
message: res.msg,
type: 'success'
})
})
})
},
lookRow(row) { //
this.isshow = 'ewm'
getQrCode({ sid: row.sid }).then(res => {
this.ewmForm = res.data
})
},
Printewm() {
this.$print(this.$refs.print) // 使
},
mouseenter(data) {
this.$set(data, 'del', true)
},
mouseleave(data) {
this.$set(data, 'del', false)
},
onSearch() {
this.getPageList(this.page)
},
resetSearch() {
this.page.params.name = ''
this.getPageList(this.page)
},
//
getStaff(orgSid) {
getStaff({ deptSid: orgSid }).then((res) => {
if (res.success) {
this.staffdata = res.data
}
})
},
//
getStaff2(orgSid) {
getStaffName({ deptSid: orgSid }).then(res => {
this.staffdata2 = res.data
console.log('分管人员', this.staffdata2)
})
}
}
}
</script>
<style>
.el-icon-arrow-right:before {
content: '\e6e0';
color: #727272;
}
</style>
<style scoped="scoped" lang="scss">
.org-tree {
width: 240px;
min-height: 100%;
box-sizing: border-box;
/*padding-right: 10px;*/
border: 1px solid #edf1f7;
overflow: scroll;
}
.org-table {
flex: 1;
// padding-left: 10px;
margin: 0 10px;
border: 1px solid #edf1f7;
min-height: 100%;
overflow-y: scroll;
.ewm {
margin: 30px auto 0;
width: 560px;
}
.ediut {
margin: 30px auto 0;
/*width:750px;*/
}
}
.custom-tree-node {
position: relative;
overflow: hidden;
width: 100%;
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
padding-right: 8px;
}
.handle {
position: absolute;
right: 0;
.el-button--text {
font-size: 15px;
background-color: #FFFFFF;
}
}
.my-tabs {
margin-top: 10px;
}
.edit {
.el-form-item__label {
width: 100px !important;
display: inline-block !important;
}
.el-input {
width: 70%;
}
}
.td_left {
border-left: 0 solid #e6e9f0;
}
</style>

42
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/supervise/oilTypeInBound/index.vue

@ -18,7 +18,11 @@
<el-card class="box-card">
<div class="item">
<span class="item_text">合同编号</span>
<el-input v-model="formobj.contractNumber" placeholder="" class="item_input" clearable />
<el-select v-model="formobj.salesContractNumber" filterable placeholder="请选择订单编号" class="item_input"
@change="getSalesContractNumberer">
<el-option v-for="item in salesContractNumber" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
<!-- <el-input v-model="formobj.contractNumber" placeholder="" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">供货商名称</span>
@ -89,6 +93,7 @@
<script>
import req from '@/api/oilTypeInAndOutBound/oilTypeInAndOutBound'
import req3 from '@/api/supplier/supplier'
import req2 from '@/api/oilTypeProcure/oilTypeProcure.js'
import upload from '@/components/uploadFile/upload_yanchejianchaTuBiao'
export default {
components: {
@ -97,6 +102,8 @@
data() {
return {
submitdisabled: false,
salesContractNumbers: [],
salesContractNumber: [],
supplierLists: [],
supplierList: [],
crudeLists: [],
@ -106,6 +113,7 @@
imgList: [],
formobj: {
sid: "",
procSid: "",
contractNumber: "",
contractSigningDate: "",
warehousingDate: "",
@ -126,10 +134,30 @@
}
},
created() {
this.procureOrderList()
this.supplierInfoList()
this.crudeinfoList()
},
methods: {
procureOrderList() {
req2.procureOrderList().then((res) => {
if (res.success) {
console.log(">>>>>>>>>2222222", res.data)
this.salesContractNumbers = res.data
for (var i = 0; i < this.salesContractNumbers.length; i++) {
let item = {
name: this.salesContractNumbers[i].orderNumber,
sid: this.salesContractNumbers[i].sid,
}
this.salesContractNumber.push(item)
}
}
})
},
supplierInfoList() {
req3.supplierList().then((res) => {
if (res.success) {
@ -172,8 +200,8 @@
console.log(">>>>>>>>>111111111111wwwwwwwwww", res.data)
this.tankLists = res.data
this.tankList = []
this.formobj.tankName =""
this.formobj.tankSid =""
this.formobj.tankName = ""
this.formobj.tankSid = ""
for (var i = 0; i < this.tankLists.length; i++) {
let item = {
@ -198,6 +226,7 @@
})
this.formobj = {
sid: "",
procSid: "",
contractNumber: "",
contractSigningDate: "",
warehousingDate: "",
@ -226,6 +255,13 @@
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
getSalesContractNumberer(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.salesContractNumbers.filter((item) => item.sid === value)
console.log(">>>>>>>>>getType", choose[0])
this.formobj.salesContractNumber = choose[0].orderNumber
this.formobj.procSid = value
},
getSupplier(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.supplierLists.filter((item) => item.sid === value)

64
yxt-supervise-cyf/yxt-supervise-cyf-ui/src/views/supervise/oilTypeOutBound/index.vue

@ -18,7 +18,10 @@
<el-card class="box-card">
<div class="item">
<span class="item_text">合同编号</span>
<el-input v-model="formobj.salesContractNumber" placeholder="" class="item_input" clearable />
<el-select v-model="formobj.salesContractNumber" filterable placeholder="请选择订单编号" class="item_input" @change="getSalesContractNumberer">
<el-option v-for="item in salesContractNumber" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
<!-- <el-input v-model="formobj.salesContractNumber" placeholder="" class="item_input" clearable /> -->
</div>
<div class="item">
<span class="item_text">合同日期</span>
@ -68,8 +71,8 @@
</div>
<div class="item" style="margin-top: 70px;">
<span class="item_text">登记材料</span>
<upload class="item_input" ref="uploadImg" v-model="imgList" @change="backData"
bucket="map" :upload-data="{ type: '0001' }"></upload>
<upload class="item_input" ref="uploadImg" v-model="imgList" @change="backData" bucket="map"
:upload-data="{ type: '0001' }"></upload>
</div>
</el-card>
@ -81,8 +84,9 @@
<script>
import req from '@/api/oilTypeInAndOutBound/oilTypeInAndOutBound'
import req2 from '@/api/oilTank/oilTank'
import upload from '@/components/uploadFile/upload_yanchejianchaTuBiao'
import req2 from '@/api/oilTank/oilTank'
import req3 from '@/api/oilTypeProcure/oilTypeProcure.js'
import upload from '@/components/uploadFile/upload_yanchejianchaTuBiao'
export default {
components: {
upload
@ -90,6 +94,8 @@
data() {
return {
submitdisabled: false,
salesContractNumbers: [],
salesContractNumber: [],
crudeLists: [],
crudeList: [],
tankLists: [],
@ -97,6 +103,7 @@
imgList: [],
formobj: {
sid: "",
procSid:"",
salesContractNumber: "",
contractSigningDate: "",
deliveryDate: "",
@ -110,16 +117,35 @@
weight: "",
value: "",
remarks: "",
crudeOilOutboundFiles :[],
crudeOilOutboundFiles: [],
}
}
},
created() {
this.crudeinfoList()
// this.procureOrderList()
this.crudeinfoList()
},
methods: {
procureOrderList() {
req3.procureOrderList().then((res) => {
if (res.success) {
console.log(">>>>>>>>>procureOrderList", res.data)
this.salesContractNumbers = res.data
for (var i = 0; i < this.salesContractNumbers.length; i++) {
let item = {
name: this.salesContractNumbers[i].orderNumber,
sid: this.salesContractNumbers[i].sid,
}
this.salesContractNumber.push(item)
}
}
})
},
crudeinfoList() {
req.crudeinfoList().then((res) => {
if (res.success) {
@ -144,9 +170,9 @@
if (res.success) {
console.log(">>>>>>>>>111111111111wwwwwwwwww", res.data)
this.tankLists = res.data
this.tankList =[]
this.formobj.tankName =""
this.formobj.tankSid =""
this.tankList = []
this.formobj.tankName = ""
this.formobj.tankSid = ""
for (var i = 0; i < this.tankLists.length; i++) {
let item = {
@ -171,6 +197,7 @@
})
this.formobj = {
sid: "",
procSid:"",
salesContractNumber: "",
contractSigningDate: "",
deliveryDate: "",
@ -184,7 +211,7 @@
weight: "",
value: "",
remarks: "",
crudeOilOutboundFiles :[],
crudeOilOutboundFiles: [],
}
this.imgList = []
@ -199,13 +226,20 @@
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
},
getSalesContractNumberer(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.salesContractNumbers.filter((item) => item.sid === value)
console.log(">>>>>>>>>getType", choose[0])
this.formobj.salesContractNumber = choose[0].number
this.formobj.procSid = value
},
getType(value) {
console.log(">>>>>>>>>getType", value)
const choose = this.crudeLists.filter((item) => item.sid === value)
console.log(">>>>>>>>>getType", choose[0])
this.formobj.crudeNumber = choose[0].number
this.formobj.crudeSid = value
this.getTankList(value)
this.getTankList(value)
},
getTank(value) {
console.log(">>>>>>>>>getType", value)
@ -223,7 +257,7 @@
aa.push(value[i].url)
}
}
this.formobj.crudeOilOutboundFiles = aa
this.formobj.crudeOilOutboundFiles = aa
},
}
@ -235,7 +269,7 @@
margin-right: 60px;
min-width: 70%;
margin-top: 20px;
padding-bottom: 50px;
padding-bottom: 50px;
.item {
display: flex;

Loading…
Cancel
Save