You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
286 lines
9.4 KiB
286 lines
9.4 KiB
<template>
|
|
<div>
|
|
|
|
<div ref="lxHeader">
|
|
<lx-header icon="md-apps" :text="`${chukuType}出库管理`" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
|
|
<slot>
|
|
<div style="display: flex;justify-content: flex-start;flex-wrap: wrap;">
|
|
<Input v-model="select.keyword" style="width: 200px;margin-right: 10px;" placeholder="借用人搜索" />
|
|
<Button type="primary" @click="getindex">查询</Button>
|
|
<Button icon="ios-add" type="primary" style="margin-left: 10px;"
|
|
@click="$refs['addoutbounds'].isShow = true,$refs['addoutbounds'].type = 'add',
|
|
$refs['addoutbounds'].chukuType = chukuType,
|
|
$refs['addoutbounds'].authName=authName">添加</Button>
|
|
<!-- <Button icon="ios-add" type="primary" style="margin-left: 10px;"
|
|
@click="$refs['imports'].show()">导入</Button> -->
|
|
|
|
</div>
|
|
</slot>
|
|
</lx-header>
|
|
</div>
|
|
|
|
<xy-table :list="list" v-loading="loading" :total="total" @pageSizeChange="e => select.pageSize = e" @pageIndexChange="pageChange"
|
|
:table-item="table">
|
|
<template v-slot:btns>
|
|
<el-table-column fixed="right" label="操作" width="260" header-align="center">
|
|
<template slot-scope="scope">
|
|
<div v-if="scope.row.jilurenyuan==authName||roleName=='系统管理员'">
|
|
<Button type="primary" size="small" style="margin-left: 10px;" @click="editorChuku(scope.row.id,'editor')">编辑</Button>
|
|
<Button type="primary" size="small" style="margin-left: 10px;" @click="editorChuku(scope.row.id,'outbounds')">出库</Button>
|
|
<Button v-if='scope.row.zhuangtai==="待处理"' type="primary" size="small" style="margin-left: 10px;" @click="tofollow(scope.row.id,scope.row)">请示流程</Button>
|
|
<!-- v-if='scope.row.zhuangtai==="待处理"' -->
|
|
<Button v-if='scope.row.zhuangtai==="待处理"' type="primary" size="small" style="margin-left: 10px;" @click="printChuku(scope.row.id,'print')">打印</Button>
|
|
<Poptip transfer confirm title="确认要删除吗?" @on-ok="deleteChuku(scope.row)">
|
|
<Button type="primary" style="margin-left: 10px;" size="small" ghost>删除</Button>
|
|
</Poptip>
|
|
</div>
|
|
|
|
</template>
|
|
</el-table-column>
|
|
</template>
|
|
|
|
</xy-table>
|
|
<addoutbounds ref="addoutbounds" @refresh="getindex"></addoutbounds>
|
|
<printoutbounds ref="printoutbounds" @refresh="getindex"></printoutbounds>
|
|
<imports :table-name="customForm.tableName" :form-info="form" ref="imports" @refresh="getindex"></imports>
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
index,
|
|
destroy
|
|
} from "@/api/system/baseForm.js"
|
|
import {
|
|
getInfo
|
|
} from "@/api/user.js"
|
|
import {
|
|
getOutboundsStatus,
|
|
getOatoken
|
|
} from "@/api/contract.js"
|
|
import addoutbounds from "./component/addoutbounds.vue"
|
|
import printoutbounds from "./component/printoutbounds.vue"
|
|
import {
|
|
Message
|
|
} from 'element-ui'
|
|
import imports from "@/views/component/imports.vue"
|
|
import {
|
|
index as fieldIndex
|
|
} from "@/api/system/customFormField";
|
|
import {
|
|
getparameter
|
|
} from "@/api/system/dictionary";
|
|
export default {
|
|
components: {
|
|
addoutbounds,
|
|
imports,
|
|
printoutbounds
|
|
},
|
|
data() {
|
|
return {
|
|
window: {
|
|
width: 0,
|
|
height: 0,
|
|
top: 0,
|
|
left: 0
|
|
},
|
|
loading:false,
|
|
userName:'',
|
|
authName:'',
|
|
roleName:'',
|
|
select: {
|
|
pageSize: 10,
|
|
pageIndex: 1,
|
|
keyword: ""
|
|
},
|
|
chukuType:'领用',
|
|
customForm: {
|
|
customFormId: "",
|
|
tableName: ""
|
|
},
|
|
wuziguanli_oatoken:'',
|
|
form: [],
|
|
total: 0,
|
|
list: [],
|
|
table: [{
|
|
label: '序号',
|
|
type: 'index',
|
|
fixed: 'left',
|
|
width:80,
|
|
},{
|
|
label: "出库时间",
|
|
width: 180,
|
|
prop: 'chukushijian',
|
|
align: 'center',
|
|
fixed: 'left',
|
|
},
|
|
{
|
|
label: "状态",
|
|
width: 180,
|
|
prop: 'zhuangtai',
|
|
align: 'center'
|
|
},
|
|
{
|
|
label: "出库类型",
|
|
width: 180,
|
|
prop: 'chukuleixing',
|
|
align: 'center',
|
|
},
|
|
{
|
|
label: "借用仓库",
|
|
width: 180,
|
|
prop: 'jieyongcangku',
|
|
align: 'center',
|
|
},
|
|
{
|
|
label: "借用部门",
|
|
width: 180,
|
|
prop: 'jieyongbumen',
|
|
align: 'center',
|
|
},
|
|
// {
|
|
// label: "借用人",
|
|
// width: 180,
|
|
// prop: 'jieyongren',
|
|
// align: 'center',
|
|
// },
|
|
{
|
|
label: "经办人",
|
|
width: 180,
|
|
prop: 'jilurenyuan',
|
|
align:'center'
|
|
},
|
|
{
|
|
label: "备注",
|
|
prop: 'beizhu',
|
|
align: 'left'
|
|
}
|
|
]
|
|
}
|
|
},
|
|
methods: {
|
|
async getUserName(){
|
|
getInfo().then(res => {
|
|
console.log("res",res)
|
|
this.userName = res.username
|
|
this.authName = res.name
|
|
for(var k of res.role){
|
|
if(k.name=='系统管理员'){
|
|
this.roleName = k.name
|
|
}
|
|
}
|
|
|
|
}).catch(error => {})
|
|
},
|
|
async getindex() {
|
|
this.loading = true
|
|
const res = await index({
|
|
page_size: this.select.pageSize,
|
|
page: this.select.pageIndex,
|
|
table_name: 'outbounds',
|
|
filter:[{"key":"jieyongren","op":"like","value":this.select.keyword},
|
|
{"key":"chukuleixing","op":"like","value":this.chukuType}],
|
|
})
|
|
this.list = res.data
|
|
this.total = res.total
|
|
this.loading = false
|
|
},
|
|
|
|
pageChange(e) {
|
|
this.select.pageIndex = e
|
|
this.getindex()
|
|
},
|
|
editorChuku(id, type) {
|
|
this.$refs['addoutbounds'].id = id
|
|
this.$refs['addoutbounds'].isShow = true
|
|
this.$refs['addoutbounds'].type = type
|
|
this.$refs['addoutbounds'].chukuType = this.chukuType
|
|
},
|
|
printChuku(id, type){
|
|
this.$refs['printoutbounds'].id = id
|
|
this.$refs['printoutbounds'].isShow = true
|
|
this.$refs['printoutbounds'].type = type
|
|
this.$refs['printoutbounds'].chukuType = this.chukuType
|
|
},
|
|
async tofollow(id,row){
|
|
console.log(row)
|
|
if(row.id_outbounds_items_outbounds_id_relation.length<1){
|
|
Message({
|
|
type: 'warning',
|
|
message: '请补充出库物资'
|
|
})
|
|
return
|
|
}
|
|
|
|
let default_json = {
|
|
'yewukeshi':row.jieyongbumen,
|
|
'bianhao':row.chukushijian+'-'+row.id,
|
|
'wuzimingcheng':row.id_outbounds_items_outbounds_id_relation[0].zichanmingcheng,
|
|
'lingyongshijian':row.chukushijian,
|
|
'shuliang':row.id_outbounds_items_outbounds_id_relation[0].jieyongshuliang,
|
|
'xinghaoguige':row.id_outbounds_items_outbounds_id_relation[0].guigexinghao,
|
|
'jingbanren':row.jilurenyuan,
|
|
'beizhu':row.beizhu,
|
|
'gudingzichanbianhao':row.gudingzichanbianhao,
|
|
'baofeiyuanyin':row.baofeiyuanyin,
|
|
'link_id':row.id
|
|
}
|
|
let typeid = ''
|
|
let typeObj = JSON.parse(process.env.VUE_APP_OA_URL_TYPE)
|
|
for(var k in typeObj){
|
|
if(k==this.chukuType){
|
|
typeid = parseInt(typeObj[k])
|
|
}
|
|
}
|
|
// let res = await getOatoken()
|
|
// = this.chukuType=='领用'?31:(this.chukuType=='处置'?32:33)
|
|
// http://suzhouhedaooa.langye.net/admin/flow/create/31?username=admin&default_json={%22bianhao%22:%22100%22}
|
|
let url =
|
|
`${process.env.VUE_APP_OA_URL}/admin/flow/create/${typeid}?wuziguanli_oatoken=${this.wuziguanli_oatoken}&username=${this.userName}&default_json=${JSON.stringify(default_json)}`
|
|
let seeBuy = window.open(url, 'follow',
|
|
`top=${this.window.top},left=${this.window.left},width=${this.window.width},height=${this.window.height},location=0`
|
|
)
|
|
console.log(url)
|
|
},
|
|
deleteChuku(row) {
|
|
// return
|
|
destroy({
|
|
id: row.id,
|
|
table_name: 'outbounds'
|
|
}).then(res => {
|
|
Message({
|
|
type: 'success',
|
|
message: '删除成功'
|
|
})
|
|
this.getindex()
|
|
})
|
|
},
|
|
},
|
|
mounted() {
|
|
if(this.$route.path){
|
|
let path = this.$route.path.split("_")[1]
|
|
this.chukuType = path=='receive'?'领用':(path=='disposition'?'处置':'应急')
|
|
let tableName = path=='receive'?'lingyongchuku':(path=='disposition'?'baofeichuzhi':'yingjichuku')
|
|
getOutboundsStatus({
|
|
table:tableName
|
|
})
|
|
}
|
|
this.window.width = screen.availWidth * 0.95
|
|
this.window.height = screen.availHeight * 0.95
|
|
this.window.top = (window.screen.height - 30 - this.window.height) / 2
|
|
this.window.left = (window.screen.width - 10 - this.window.width) / 2
|
|
this.getUserName()
|
|
this.getindex()
|
|
getOatoken().then(res=>{
|
|
this.wuziguanli_oatoken =res.oatoken
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
</style>
|