单据管理,新增等待,异常,已完成等

master
anthonywj 3 years ago
parent c88ca86e65
commit 9b83d36642

File diff suppressed because one or more lines are too long

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>医院供应商自助平台</title>
<title>医院UDI自助管理平台</title>
</head>
<body>
<div id="app"></div>

@ -1,6 +1,6 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title>医院供应商自助平台</title><link rel=stylesheet href=https://unpkg.com/element-ui/lib/theme-chalk/index.css><link href=css/home.5235ad9e.css rel=prefetch><link href=js/home.fd43d6b8.js rel=prefetch><link href=css/app.55245d3e.css rel=preload as=style><link href=css/chunk-vendors.072ae084.css rel=preload as=style><link href=js/app.83283916.js rel=preload as=script><link href=js/chunk-vendors.ac7bf19a.js rel=preload as=script><link href=css/chunk-vendors.072ae084.css rel=stylesheet><link href=css/app.55245d3e.css rel=stylesheet></head><body><div id=app></div><script src=./tinymce4.7.5/tinymce.min.js></script><script src=https://unpkg.zhimg.com/vue@2.6.14/dist/vue.runtime.min.js></script><script src=https://unpkg.zhimg.com/vuex@3.6.2/dist//vuex.min.js></script><script src=https://unpkg.zhimg.com/vue-router@3.0.1/dist/vue-router.min.js></script><script src=https://unpkg.zhimg.com/element-ui@2.15.7/lib/index.js></script><script>ga('create', 'UA-110990780-1', 'auto');
<!DOCTYPE html><html><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=favicon.ico><title>医院UDI自助管理平台</title><link rel=stylesheet href=https://unpkg.com/element-ui/lib/theme-chalk/index.css><link href=css/home.5235ad9e.css rel=prefetch><link href=js/home.1a94cfbc.js rel=prefetch><link href=css/app.aff94608.css rel=preload as=style><link href=css/chunk-vendors.072ae084.css rel=preload as=style><link href=js/app.0b49955d.js rel=preload as=script><link href=js/chunk-vendors.ac7bf19a.js rel=preload as=script><link href=css/chunk-vendors.072ae084.css rel=stylesheet><link href=css/app.aff94608.css rel=stylesheet></head><body><div id=app></div><script src=./tinymce4.7.5/tinymce.min.js></script><script src=https://unpkg.zhimg.com/vue@2.6.14/dist/vue.runtime.min.js></script><script src=https://unpkg.zhimg.com/vuex@3.6.2/dist//vuex.min.js></script><script src=https://unpkg.zhimg.com/vue-router@3.0.1/dist/vue-router.min.js></script><script src=https://unpkg.zhimg.com/element-ui@2.15.7/lib/index.js></script><script>ga('create', 'UA-110990780-1', 'auto');
ga('send', 'pageview');
window.addEventListener('hashchange', function () {
ga('set', 'page', window.location.href);
ga('send', 'pageview');
});</script><script src=js/chunk-vendors.ac7bf19a.js></script><script src=js/app.83283916.js></script></body></html>
});</script><script src=js/chunk-vendors.ac7bf19a.js></script><script src=js/app.0b49955d.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,4 +1,4 @@
{
"BASE_URL":"http://192.168.0.109:9996",
"SERVER_IP": "http://192.168.0.109:9996"
"BASE_URL":"http://127.0.0.1:9996",
"SERVER_IP": "http://127.0.0.1:9996"
}

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>医院供应商自助平台</title>
<title>医院UDI自助管理平台</title>
</head>
<body>
<div id="app"></div>

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>医院供应商自助平台</title>
<title>医院UDI自助管理平台</title>
<!-- <link rel="stylesheet" href="https://unpkg.zhimg.com/element-ui/lib/theme-chalk/index.css">-->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">

@ -0,0 +1,34 @@
import axios from "../../utils/axios";
// 权限管理
// 获取列表
export function filterList(query) {
return axios({
url: "/spms/inv/warehouse/filter",
method: "get",
params: query
});
}
// 保存
export function saveWarehouse(data, formName, method = "post") {
let url =
formName !== "edit"
? "/spms/inv/warehouse/save"
: "/spms/inv/warehouse/edit";
return axios({
url: url,
method: method,
data: data
});
}
// 删除
export function deleteWarehouse(data) {
return axios({
url: "/spms/inv/warehouse/delete",
method: "post",
data: data
});
}

@ -11,6 +11,7 @@ export function systemPDFTemplateList(query) {
params: query
});
}
export function systemPDFModuleList(query) {
return axios({
url: "/system/pdf/module/list",
@ -19,6 +20,24 @@ export function systemPDFModuleList(query) {
});
}
export function moduleDetail(query) {
return axios({
url: "/system/pdf/module/detail",
method: "get",
params: query
});
}
export function updateDetailRel(query) {
return axios({
url: "/system/pdf/module/updateRl",
method: "post",
data: query
});
}
export function getSystemPDFModules(query) {
return axios({
url: "/system/pdf/module/pdfModules",

@ -61,6 +61,8 @@ import BussinessType from "../views/basic/BussinessType.vue";
import BussinessTypeLocl from "../views/basic/BussinessTypeLocl.vue";
//基础数据维护
import invWarehouse from "../views/basic/invWarehouse"
import udiInfoExport from "../views/basic/UdiinfoExport.vue";
import UdiInfoManage from "../views/basic/UdiInfoManage.vue";
import UdiInfoManageSp from "../views/basic/UdiInfoManageSp.vue"
@ -372,6 +374,15 @@ export const asyncRouterMap = [
authRule: ["basicProduct"]
},
children: [
{
path: "invWarehouse",
component: invWarehouse,
name: "仓库信息",
icon: "",
meta: {
authRule: ["basicProduct/invWarehouse"]
}
},
{
path: "/udiInfo",
@ -586,7 +597,6 @@ export const asyncRouterMap = [
},
]
}
@ -769,51 +779,6 @@ export const asyncRouterMap = [
authRule: ["inout"]
},
children: [
{
path: "/scanOrder",
component: Empty,
name: "扫码单据管理",
redirect: "/scanOrder/errorOrder",
meta: {
authRule: ["inout/scanOrder"]
},
children: [
{
path: "errorOrder",
component: errorOrder,
name: "新增扫码单据",
meta: {
authRule: ["inout/errorOrder"]
}
},
{
path: "waitOrder",
name: "等待校验单据",
component: waitOrder,
meta: {
authRule: ["inout/waitOrder"]
}
},
{
path: "main",
name: "扫码单据查询",
component: inout,
meta: {
authRule: ["inout/main"]
}
},
{
path: "ioCheckOrder",
name: "校验异常单据",
component: ioCheckOrder,
meta: {
authRule: ["inout/ioCheckOrder"]
}
},
]
},
{
path: "/busOrder",
component: Empty,
@ -889,7 +854,49 @@ export const asyncRouterMap = [
// }
]
},
{
path: "/scanOrder",
component: Empty,
name: "扫码单据管理",
redirect: "/scanOrder/errorOrder",
meta: {
authRule: ["inout/scanOrder"]
},
children: [
{
path: "errorOrder",
component: errorOrder,
name: "新增扫码单据",
meta: {
authRule: ["inout/errorOrder"]
}
},
{
path: "waitOrder",
name: "等待校验单据",
component: waitOrder,
meta: {
authRule: ["inout/waitOrder"]
}
},
{
path: "main",
name: "扫码单据查询",
component: inout,
meta: {
authRule: ["inout/main"]
}
},
{
path: "ioCheckOrder",
name: "校验异常单据",
component: ioCheckOrder,
meta: {
authRule: ["inout/ioCheckOrder"]
}
},
]
},
{
path: "stockOrderSearch",
component: stockOrderSearch,

@ -83,7 +83,6 @@
</el-card>
<el-card class="el-card">
<el-table v-loading="loading" :data="detailList" style="width: 100%">
<el-table-column label="序号" type="index" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="接口名称" prop="name" show-overflow-tooltip="true"></el-table-column>

@ -20,6 +20,10 @@
<el-button-group style="margin-left: 10px;display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="handleAddClick"
>新增
</el-button
>
<el-upload
:action="uploadFileUrl"
multiple
@ -32,9 +36,6 @@
</el-upload>
</el-button-group>
<!-- <el-button type="primary" icon="search" @click="handleAddClick"
>新增</el-button
> -->
</el-form-item>
</el-form>
@ -72,7 +73,15 @@
>编辑
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
@ -181,7 +190,7 @@ export default {
true: "是",
false: "否",
},
fileList: [],
total: 0,
multipleSelection: [],
uploadFileUrl: null,
@ -205,7 +214,9 @@ export default {
this.modifyDialogVisible = false;
this.addDialogVisible = false;
},
handleChange() {
this.getList();
},
getList() {
this.loading = true;
getJoinBussinessType(this.filterQuery)
@ -256,6 +267,11 @@ export default {
});
},
handleAddClick() {
this.inputQuery = {};
this.addDialogVisible = true;
},
handleModifyClick(row) {
this.modifyDialogVisible = true;
this.inputQuery = {
@ -284,12 +300,11 @@ export default {
secCheckPc: row.secCheckPc,
secCheckWebNew: row.secCheckWebNew,
secCheckChange: row.secCheckChange,
};
},
deleteDialog(rowId) {
this.$confirm("此操作将永久删除该业务类型信息, 是否继续?", "提示", {
this.$confirm("此操作将永久删除该扫码类型信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
@ -310,10 +325,15 @@ export default {
deleteBussinessType(tquery)
.then((response) => {
this.getList();
if (response.code == 20000) {
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
@ -322,7 +342,7 @@ export default {
axios.get("./config.json").then(res => {
//
let response = res.data.BASE_URL;
this.uploadFileUrl = response + "udiwms/busstiness/file/upload";
this.uploadFileUrl = response + "/udiwms/busstiness/file/upload";
});
},
},

@ -1,8 +1,6 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-form-item class="query-form-item">
<el-input
@ -36,7 +34,7 @@
<el-table-column label="业务单据类型名称" prop="name" fixed></el-table-column>
<el-table-column label="业务单据类型代码" prop="action" fixed></el-table-column>
<el-table-column label="单据类型" prop="originAction" fixed></el-table-column>
<el-table-column label="第三方单据类型" prop="originAction" fixed></el-table-column>
<el-table-column label="单据是否启用" prop="enable" fixed>
<template slot-scope="scope">
<span>{{ enableMap[scope.row.enable] }}</span>
@ -68,6 +66,13 @@
>编辑
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
@ -118,7 +123,7 @@
</template>
<script>
import {getLocalBusType, addLocalBusType, updateLocalBusType} from "@/api/basic/busLocalType";
import {getLocalBusType, addLocalBusType, updateLocalBusType,deleteLocalBusType} from "@/api/basic/busLocalType";
import modifyDialog from "./BussinessTypeLoclModify";
export default {
@ -271,13 +276,17 @@ export default {
id: data.id + "",
};
deleteBussinessType(tquery)
deleteLocalBusType(tquery)
.then((response) => {
this.getList();
if (response.code == 20000) {
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});

@ -23,6 +23,7 @@
style="width: 200px"
size="small"
splaceholder="请输入内容"
disabled
v-model="inputQuery.action"
></el-input>
</div>
@ -34,16 +35,20 @@
<div class="itemTag">
<span>第三方单据类型:&nbsp;</span>
</div>
<el-select v-model="inputQuery.originAction" placeholder="请选择业务类型" clearable="true">
<el-select v-model="inputQuery.originAction" placeholder="请选择第三方系统单据类型" clearable="true">
<el-option
v-for="item in originTypes"
:key="item.name"
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
<!--<span style="float: right; color: #8492a6; font-size: 13px">{{ item.action }}</span>-->
<span style="float: left;font-size: 13px">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px;margin-left: 10px">{{
item.thirdSysName
}}</span>
</el-option>
</el-select>
</div>
</el-col>
@ -88,7 +93,7 @@
</el-col>
</el-row>
<div v-if="inputQuery.changeEnable">
<div v-if="visibleChange">
<!-- <div style="float:right;margin-bottom: 10px">-->
@ -244,6 +249,7 @@ export default {
1: "编辑",
},
changeList: [],
visibleChange: false,
}
},
methods: {
@ -251,7 +257,14 @@ export default {
this.query.action = this.inputQuery.action;
getChangeBusType(this.query)
.then((response) => {
if (response.code == 20000) {
this.changeList = response.data || [];
this.visibleChange = true;
} else {
this.$message.error(response.message);
this.visibleChange = false;
}
})
.catch(() => {
});
@ -332,6 +345,8 @@ export default {
if (this.inputQuery.changeEnable) {
this.query.type = "changeEnable";
this.getList()
} else {
this.visibleChange = false;
}
}
,

@ -10,7 +10,6 @@
style="width: 200px"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="inputQuery.name"
></el-input>
</div>
@ -35,15 +34,14 @@
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>出入库类型代码:&nbsp;</span>
<span>出入库类型:&nbsp;</span>
</div>
<el-input
style="width: 200px"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="inputQuery.mainAction"
></el-input>
<el-select v-model="inputQuery.mainAction" placeholder="出入库类型">
<el-option label="入库" value="WareHouseIn"></el-option>
<el-option label="出库" value="WareHouseOut"></el-option>
</el-select>
</div>
</el-col>
<!-- <el-col :span="10" class="el-col">-->
@ -76,7 +74,6 @@
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.action }}</span>
</el-option>
</el-select>
</div>
@ -85,7 +82,7 @@
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="24" class="el-col">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>备注:&nbsp;</span>
@ -98,46 +95,52 @@
></el-input>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="4" class="el-col">
<div class="text item">
<el-col :span="12" class="el-col">
<div class="text item" style="margin-top: 6px">
<el-checkbox v-model="inputQuery.enable"></el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkEnable"></el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckEnable"></el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.innerOrder"></el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.genUnit"></el-checkbox>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="5" class="el-col">
<span>选择业务单据校验的来源类型</span>
<!-- <el-divider></el-divider>-->
<!-- <el-row :gutter="20" class="el-row" type="flex">-->
<!-- <el-col :span="4" class="el-col">-->
<!-- <div class="text item">-->
<!-- <el-checkbox v-model="inputQuery.enable"></el-checkbox>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="4" class="el-col">-->
<!-- <div class="text item">-->
<!-- <el-checkbox v-model="inputQuery.innerOrder"></el-checkbox>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="4" class="el-col">-->
<!-- <div class="text item">-->
<!-- <el-checkbox v-model="inputQuery.checkEnable"></el-checkbox>-->
<!-- <el-checkbox v-model="inputQuery.genUnit"></el-checkbox>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-divider></el-divider>
<el-row :gutter="20" class="el-row" type="flex">
<!-- <el-col :span="5" class="el-col">-->
<!-- <span>选择业务单据校验的来源类型</span>-->
<!--&lt;!&ndash; <div class="text item">&ndash;&gt;-->
<!--&lt;!&ndash; <el-checkbox v-model="inputQuery.checkEnable"></el-checkbox>&ndash;&gt;-->
<!--&lt;!&ndash; </div>&ndash;&gt;-->
<!-- </el-col>-->
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkEnable">()</el-checkbox>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-row :gutter="20" class="el-row" type="flex" style="margin-left: 15px">
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkWebNew" :disabled="!inputQuery.checkEnable">web
@ -169,19 +172,27 @@
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.checkChange" :disabled="!inputQuery.checkEnable"></el-checkbox>
<el-checkbox v-model="inputQuery.checkChange" :disabled="!inputQuery.checkEnable">
</el-checkbox>
</div>
</el-col>
</el-row>
<el-divider></el-divider>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="5" class="el-col">
<span>单据需要复核的来源类型</span>
<!-- <div class="text item">-->
<!-- <el-checkbox v-model="inputQuery.checkEnable"></el-checkbox>-->
<!-- </div>-->
<!-- <el-col :span="5" class="el-col">-->
<!-- <span>单据需要复核的来源类型</span>-->
<!-- &lt;!&ndash; <div class="text item">&ndash;&gt;-->
<!-- &lt;!&ndash; <el-checkbox v-model="inputQuery.checkEnable"></el-checkbox>&ndash;&gt;-->
<!-- &lt;!&ndash; </div>&ndash;&gt;-->
<!-- </el-col>-->
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckEnable">()</el-checkbox>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-row :gutter="20" class="el-row" type="flex" style="margin-left: 15px">
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckUdims" :disabled="!inputQuery.secCheckEnable">web
@ -208,12 +219,14 @@
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckWebNew" :disabled="!inputQuery.secCheckEnable">UDI</el-checkbox>
<el-checkbox v-model="inputQuery.secCheckWebNew" :disabled="!inputQuery.secCheckEnable">UDI
</el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.secCheckChange" :disabled="!inputQuery.secCheckEnable"></el-checkbox>
<el-checkbox v-model="inputQuery.secCheckChange" :disabled="!inputQuery.secCheckEnable">
</el-checkbox>
</div>
</el-col>
</el-row>

@ -71,7 +71,7 @@
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="thirdSysFk" placeholder="请设置主系统">
<el-select v-model="thirdSysFk" placeholder="请设置主系统" disabled>
<el-option
v-for="item in thirdSys"
:key="item.value"

@ -184,7 +184,7 @@
<el-button type="text" size="small"
@click.native.stop="deleteCompanyProductRelevance(scope.row)"
>
>
</el-button>
</template>
</el-table-column>

@ -0,0 +1,451 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="query" class="query-form" size="mini">
<el-form-item class="query-form-item">
<el-input
v-model="query.code"
clearable
placeholder="仓位货位码"
style="width: 400px"
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="query.advanceType" placeholder="是否寄售" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="是" value=true></el-option>
<el-option label="否" value=false></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" @click.native="handleForm(null, null)"
>添加仓位
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table
:data="mergeList"
style="width: 100%;margin-bottom: 20px;"
row-key="id"
border
default-expand-all
:tree-props="{children: 'children', hasChildren: 'hasChildren'}">
<el-table-column
prop="code"
label="仓位货位码"
>
</el-table-column>
<el-table-column
prop="name"
label="仓位货位名称"
>
</el-table-column>
<el-table-column
prop="advanceType"
label="是否寄售">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.advanceType] }}</span>
</template>
</el-table-column>
<el-table-column
prop="isDefault"
label="是否默认库存">
<template slot-scope="scope">
<span>{{ enableMap[scope.row.isDefault] }}</span>
</template>
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
:disabled="scope.row.pid!=0"
@click.native.stop="handleForm(node, scope.row, 'add')"
>添加
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="handleForm(node, scope.row, 'edit')"
>编辑
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="handleDel(node,scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<!-- <el-tree-->
<!-- :data="mergeList"-->
<!-- :props="defaultProps"-->
<!-- node-key="id"-->
<!-- style="width: 50%"-->
<!-- default-expand-all-->
<!-- :expand-on-click-node="false"-->
<!-- :render-content="renderContent"-->
<!-- >-->
<!-- </el-tree>-->
</el-card>
<!--表单界面-->
<el-dialog
:title="formMap[formName]"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="formVisible"
:before-close="hideForm"
width="85%"
top="5vh"
>
<el-form :model="formData" :rules="formRules" ref="dataForm">
<el-form-item label="父ID" prop="pid">
<el-select v-model="formData.pid" placeholder="顶级">
<el-option
v-for="item in treeList"
:key="item.id"
:label="item.name"
:value="item.id"
>
<span style="float: left"
><span v-html="item.html"></span>{{ item.title }}</span
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="仓库货位名称" prop="name">
<el-input
type=""
v-model="formData.name"
auto-complete="off"
></el-input>
</el-form-item>
<el-form-item label="仓库货位代码" prop="title">
<el-input
type=""
v-model="formData.code"
auto-complete="off"
></el-input>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-radio-group v-model="formData.status">
<el-radio :label="0">禁用</el-radio>
<el-radio :label="1">正常</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="formData.advanceType"></el-checkbox>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="formData.isDefault"></el-checkbox>
</div>
</el-col>
</el-row>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click.native="hideForm">取消</el-button>
<el-button
type="primary"
@click.native="formSubmit()"
:loading="formLoading"
>提交
</el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
import {
filterList,
saveWarehouse,
deleteWarehouse
} from "../../api/basic/invWarehouse";
const formJson = {
id: null,
pid: null,
name: null,
code: null,
status: 1,
advanceType: false,
isDefault: false
};
export default {
data() {
return {
query: {
id: null,
pid: null,
name: null,
code: null,
status: null,
advanceType: null,
isDefault: null
},
mergeList: [],
node: null,
defaultProps: {
children: "children",
label: "name"
},
treeList: [],
loading: true,
index: null,
formName: null,
formMap: {
add: "新增",
edit: "编辑"
},
enableMap: {
true: "是",
false: "否",
},
formLoading: false,
formVisible: false,
formData: formJson,
formRules: {
name: [
{required: true, message: "请输入仓库货位名", trigger: "blur"}
],
code: [
{required: true, message: "请输入仓库货位代码", trigger: "blur"}
]
},
pidData: {}
,
deleteLoading: false
}
;
},
methods: {
/*eslint-disable */
renderContent(h, {node, data, store}) {
return (
<span
style="flex: 1; display: flex; align-items: center; justify-content: space-between; font-size: 14px; padding-right: 8px;">
<span>
<span title={data.name} style="margin-left:8px">{node.label}</span>
<span style="margin-left:18px">(编码{data.code})</span>
</span>
<span>
<el-button
style="font-size: 12px;"
type="text"
on-click={() => this.handleForm(node, data, "add")}
>
添加货位
</el-button>
<el-button
style="font-size: 12px;"
type="text"
on-click={() => this.handleForm(node, data, "edit")}
>
编辑
</el-button>
<el-button
style="font-size: 12px;"
type="text"
on-click={() => this.handleDel(node, data)}
>
删除
</el-button>
</span>
</span>
);
},
onReset() {
this.$router.push({
path: "",
});
this.query = {
name: "",
status: "",
};
this.getList();
},
onSubmit() {
this.getList();
},
getList() {
this.loading = true;
filterList(this.query)
.then((response) => {
this.loading = false;
this.mergeList = response.data.list || [];
this.treeList = response.data.tree_list || [];
})
.catch(() => {
this.loading = false;
this.mergeList = [];
this.treeList = [];
});
},
//
resetForm() {
if (this.$refs["dataForm"]) {
//
this.$refs["dataForm"].clearValidate();
//
this.$refs["dataForm"].resetFields();
this.getList();
}
},
//
hideForm() {
//
this.formVisible = !this.formVisible;
return true;
},
//
handleForm(node, data, formName) {
this.formVisible = true;
this.pidData = data || null;
formJson.pid = (data && parseInt(data.id)) || "";
this.formData = JSON.parse(JSON.stringify(formJson));
if (formName === "edit") {
this.formData = Object.assign({}, data);
this.node = node;
}
this.formData.pid = !this.formData.pid ? "" : this.formData.pid;
this.formName = formName;
if (data && data.id) {
this.index = this.mergeList.findIndex((d) => d.id === data.id);
}
},
formSubmit() {
this.$refs["dataForm"].validate((valid) => {
if (valid) {
this.formLoading = true;
let data = Object.assign({}, this.formData);
saveWarehouse(data, this.formName)
.then((response) => {
this.formLoading = false;
if (response.code !== 20000) {
this.$message.error(response.message);
return false;
}
this.$message.success("操作成功");
this.formVisible = false;
if (this.formName !== "edit") {
if (response.data && response.data.id) {
data.id = response.data.id;
if (this.pidData) {
if (!this.pidData.children) {
this.$set(this.pidData, "children", []);
}
this.pidData.children.push(data);
} else {
this.mergeList.push(data);
}
}
} else {
const parent = this.node.parent;
const children = parent.data.children || parent.data;
const index = children.findIndex((d) => d.id === data.id);
children.splice(index, 1, data);
}
//
this.resetForm();
this.getList();
})
.catch(() => {
this.formLoading = false;
});
}
});
},
//
handleDel(node, data) {
if (data.children && data.children.length > 0) {
this.$alert("请先删除子节点", "提示", {
confirmButtonText: "确定",
});
return false;
}
if (data.id) {
this.$confirm("确认删除该记录吗?", "提示", {
type: "warning",
})
.then(() => {
this.deleteLoading = true;
let para = {id: data.id};
deleteWarehouse(para)
.then((response) => {
this.deleteLoading = false;
if (response.code !== 20000) {
this.$message.error(response.message);
return false;
}
this.$message.success("删除成功");
const parent = node.parent;
const children = parent.data.children || parent.data;
const index = children.findIndex((d) => d.id === data.id);
children.splice(index, 1);
})
.catch(() => {
this.deleteLoading = false;
});
})
.catch(() => {
this.$message.info("取消删除");
});
}
},
},
filters: {
statusFilterType(status) {
const statusMap = {
0: "gray",
1: "success",
};
return statusMap[status];
},
statusFilterName(status) {
const statusMap = {
0: "禁用",
1: "正常",
};
return statusMap[status];
},
},
mounted() {
},
created() {
//
this.getList();
},
};
</script>
<style type="text/scss" lang="scss">
</style>

@ -22,15 +22,19 @@
></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.billAction" placeholder="请选择业务类型" clearable="true">
<el-select v-model="filterQuery.billAction" placeholder="请选择第三方系统单据类型" clearable="true">
<el-option
v-for="item in originTypes"
:key="item.name"
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
<!--<span style="float: right; color: #8492a6; font-size: 13px">{{ item.action }}</span>-->
<span style="float: left;font-size: 13px">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px;margin-left: 10px">{{
item.thirdSysName
}}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item">

@ -26,7 +26,7 @@
@row-click="moduleClick" highlight-current-row
>
<el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column label="模板类型" width="150" prop="templateType" >
<el-table-column label="模板类型" width="150" prop="templateType">
<template slot-scope="scope">
{{ moduleTypeMap[scope.row.templateType] }}
</template>
@ -91,6 +91,66 @@
>
</el-pagination>
</el-card>
<el-card class="el-card">
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column label="序号" type="index" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="业务类型" prop="localActionName" show-overflow-tooltip="true"></el-table-column>
<el-table-column label="模板名称">
<template slot-scope="scope">
<p v-if="scope.row.templateName === null">
<el-button
type="primary"
size="mini"
@click.native.stop="busSelectTemplate(scope.row)"
>选择模板
</el-button
>
</p>
<p v-if="scope.row.templateName !== null">
<el-button
type="primary"
size="mini"
@click.native.stop="busSelectTemplate(scope.row)"
>{{ scope.row.templateName }}
</el-button
>
</p>
</template>
</el-table-column>
</el-table>
<el-dialog
title="接口参数设置"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="modifyDetailDialogVisible"
width="70%"
v-if="modifyDetailDialogVisible"
>
<modifyDetailDialog :inputDetailQuery="inputDetailQuery"></modifyDetailDialog>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="onDetailModifySubmit"
>提交
</el-button
>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button
>
</div>
</el-dialog>
<el-pagination
:page-size="moduleQuery.limit"
@current-change="handlePageChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
<div style="margin-top: 18px ; color: #F71616;">
<span>重要提示本页功能仅供技术提供方修改&nbsp;</span>
</div>
</el-card>
<!--表单-->
<el-dialog
:title="formMap[formName]"
@ -288,8 +348,8 @@ import {
systemPDFTemplateSave,
systemPDFTemplateDeleteById,
systemPDFModuleList,
systemPDFModuleSave,
getSystemPDFModules
systemPDFModuleSave, updateDetailRel,
getSystemPDFModules, moduleDetail
} from "../../../api/param/systemPDFTemplate";
import {saveAs} from 'file-saver';
import {BASE_URL, SERVER_IP} from "../../../config/app";
@ -314,6 +374,8 @@ export default {
data() {
return {
query: {
templateType: null,
moduleId: null,
name: "",
page: 1,
limit: 20
@ -330,6 +392,7 @@ export default {
moduleNameList: [],
moduleTotal: 0,
selectTemplateQuery: {
busRlId: null,
name: "",
module: null,
page: 1,
@ -346,7 +409,7 @@ export default {
},
moduleSelectList: [],
moduleSelectTotal: 0,
loading: true,
loading: false,
index: null,
formName: null,
moduleFormName: null,
@ -382,6 +445,8 @@ export default {
path: ""
});
this.query = {
templateType: null,
moduleId: null,
name: "",
page: 1,
limit: 20
@ -400,23 +465,22 @@ export default {
this.getModuleList();
},
getList() {
this.loading = true;
systemPDFTemplateList(this.query)
// this.loading = true;
moduleDetail(this.query)
.then(response => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
this.list = response.data || [];
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
moduleClick(row) {
this.query = {
module: row.id,
templateType: row.templateType,
moduleId: row.id,
page: 1,
limit: 20
};
@ -490,13 +554,34 @@ export default {
};
this.moduleFormVisible = true;
this.selectTemplateQuery = {
module:row.templateType,
module: row.templateType,
name: "",
page: 1,
limit: 20
};
this.selectTemplateGetList();
},
busSelectTemplate(row) {
this.moduleFormData = {
id: row.id,
templateId: row.templateId,
};
this.moduleFormVisible = true;
this.selectTemplateQuery = {
module: row.templateType,
busRlId: row.id,
type: 1,
name: "",
page: 1,
limit: 20
};
console.log("this.selectTemplateQuery.busRlId =" + this.selectTemplateQuery.busRlId);
this.selectTemplateGetList();
},
selectTemplateGetList() {
console.log(this.selectTemplateQuery)
this.selectTemplateLoading = true;
@ -689,6 +774,27 @@ export default {
this.moduleFormLoading = true;
let data = Object.assign({}, this.moduleFormData);
this.moduleFormName = 'update';
if (this.selectTemplateQuery.type == 1) {
console.log("this.selectTemplateQuery.busRlId =" + this.selectTemplateQuery.busRlId);
let query = {
id: this.selectTemplateQuery.busRlId,
templateId: data.templateId,
}
updateDetailRel(query)
.then(response => {
this.moduleFormVisible = false;
this.moduleFormLoading = false;
if (response.code !== 20000) {
this.$message.error(response.message);
return false;
}
this.getList();
}).catch(() => {
this.moduleFormLoading = false;
});
} else
systemPDFModuleSave(data, this.moduleFormName)
.then(response => {
this.moduleFormLoading = false;

@ -181,6 +181,54 @@
</el-col>
</el-row>
<el-row :gutter="20" v-if="registerConfigMap.companyCheckStatus">
<el-col :span="4">
<div class="register-text">
<span>阳光采购平台企业名称:&nbsp;</span>
</div>
</el-col>
<el-col :span="10">
<el-form-item prop="fromCorp">
<el-select
v-model="inputQuery.udplatCompanyName"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请输入阳光采购企业名称"
:remote-method="findUdplatMethod"
size="small"
style="width: 100%"
@change="selectUdlpatOne"
:loading="loading"
>
<el-option
v-for="item in fromUdplatOptions"
:key="item.name"
:label="item.name"
:value="item"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<!--<el-button-->
<!--type="primary"-->
<!--size="small"-->
<!--icon="search"-->
<!--style="margin-top: 0.5px"-->
<!--@click="checkCompanyName"-->
<!--&gt;-->
<!--校验企业名称-->
<!--</el-button>-->
</el-col>
</el-row>
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="4">-->
<!-- <div class="register-text">-->
@ -418,7 +466,7 @@
<el-col :span="10" class="el-col" type="flex">
<div class="text item">
<span>{{this.acoountInfo }}</span>
<span>{{ this.acoountInfo }}</span>
</div>
</el-col>
<el-col :span="10" class="el-col" type="flex">
@ -444,25 +492,27 @@
</template>
<script>
import {
import {
getCompany,
modifyCompany,
getRefid, checkCompany, getRegisterConfig,
} from "../../api/warehouse/company";
import {getCheckcode, register} from "../../api/auth/register";
import {
} from "../../api/warehouse/company";
import {getCheckcode, register} from "../../api/auth/register";
import {
provinceAndCityData,
regionData,
provinceAndCityDataPlus,
regionDataPlus,
CodeToText,
TextToCode,
} from "element-china-area-data";
import Clipboard from 'clipboard'
import {BASE_URL} from "../../config/app";
import {getBasicUnitMaintains} from "../../api/basic/basicUnitMaintain"
} from "element-china-area-data";
import Clipboard from 'clipboard'
import {BASE_URL} from "../../config/app";
import {getBasicUnitMaintains} from "../../api/basic/basicUnitMaintain"
import {getCorps} from "@/api/thrsys/thrCorps";
export default {
export default {
data() {
let validatePass2 = (rule, value, callback) => {
if (value === "") {
@ -486,6 +536,8 @@
email: "",
companyId: "",
companyName: "",
udplatCompanyName: "",
udplatCompanyId: null,
creditNum: "",
area: "",
areaCode: "",
@ -501,6 +553,7 @@
options: regionDataPlus,
selectedOptions: [],
fromOptions: [],
fromUdplatOptions: [],
acoountInfo: "账号:" + "------" + "\n密码" + "-----",
rules: {
nickName: [
@ -527,6 +580,10 @@
companyName: [
{required: true, message: "请输入企业名称", trigger: "blur"},
],
udplatCompanyName: [
{required: true, message: "请输入阳光采购平台企业名称", trigger: "blur"},
],
creditNum: [
{required: true, message: "请输入统一社会信用号", trigger: "blur"},
],
@ -682,17 +739,21 @@
});
},
selectOne(event) {
this.inputQuery.companyName = event.name;
this.inputQuery.companyId = event.erpId;
// console.log("this.inputQuery.companyId" + item);
console.log("this.inputQuery.companyId" + event.erpId);
},
selectUdlpatOne(event) {
this.inputQuery.udplatCompanyName = event.name;
this.inputQuery.udplatCompanyId = event.erpId;
},
findMethod(query) {
console.log(query);
this.fromOptions = [];
let cQuery = {
key: query,
};
getBasicUnitMaintains(cQuery)
.then((response) => {
@ -703,6 +764,23 @@
this.loading = false;
});
},
findUdplatMethod(query) {
console.log(query);
this.fromUdplatOptions = [];
let cQuery = {
name: query,
thirdSysFk: null,
};
getCorps(cQuery)
.then((response) => {
this.loading = false;
this.fromUdplatOptions = response.data.list || [];
})
.catch(() => {
this.loading = false;
});
},
uploadHandleRemove(file, fileList) {
console.log(file, fileList);
},
@ -753,31 +831,31 @@
window.open(this.fileUrl + path);
},
},
};
};
</script>
<style>
.register-text {
.register-text {
width: 100%;
font-size: 13px;
font-family: "Microsoft YaHei";
float: right;
text-align: right;
margin-top: 10px;
}
}
.el-card {
.el-card {
margin-right: 20px;
margin-top: 15px;
/*transition: all .5s;*/
}
}
.el-row {
.el-row {
display: flex;
flex-wrap: wrap;
}
}
.el-col {
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
}
</style>

@ -327,7 +327,7 @@
<el-button
type="text"
size="small"
:disabled="scope.row.bindStatus === 0 "
:disabled="scope.row.bindRlFk != null "
@click.native.stop="bindRl(scope.row)"
>绑定产品
</el-button
@ -335,7 +335,7 @@
<el-button
type="text"
size="small"
:disabled="scope.row.bindSupStatus === 0 || scope.row.bindSupStatus ===null"
:disabled=" scope.row.supId !=null && scope.row.supId !='MUTI'"
@click.native.stop="handleUnitClick(scope.row)"
>绑定供应商
</el-button
@ -370,7 +370,8 @@
style="width: 100%"
@row-click="selectUnit"
>
<el-table-column label="往来单位ID" prop="unitId"></el-table-column>
<el-table-column label="序号" type="index" width="60" fixed></el-table-column>
<el-table-column label="往来单位ID" prop="erpId"></el-table-column>
<el-table-column
label="往来单位名称"
prop="name"

@ -668,6 +668,7 @@ export default {
let url = window.URL.createObjectURL(
new Blob(binaryData, {type: "application/json"})
);
// window.open(url);
this.loading = false;
const eleLink = document.createElement('a');
var timestamp=formatDate(new Date(),"yyyy-MM-dd_hh:mm")

@ -4,6 +4,7 @@
<div>
<el-form :inline="true" :model="listQuery" style="display: flex;" size="mini">
<el-row>
<el-form-item class="query-form-item">
<el-input
v-model="listQuery.billNo"
@ -30,17 +31,38 @@
<!-- </el-option>-->
<!-- </el-select>-->
<el-select v-model="listQuery.billAction" placeholder="请选择业务类型" clearable="true">
<el-select v-model="listQuery.billAction" placeholder="请选择第三方系统单据类型" clearable="true">
<el-option
v-for="item in originTypes"
:key="item.name"
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
<!--<span style="float: right; color: #8492a6; font-size: 13px">{{ item.action }}</span>-->
<span style="float: left;font-size: 13px">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px;margin-left: 10px">{{
item.thirdSysName
}}</span>
</el-option>
</el-select>
</el-form-item>
<!-- <el-form-item class="query-form-item">-->
<!-- <el-select v-model="listQuery.thirdSys" placeholder="请选择第三方系统" @change="thirdSysChange">-->
<!-- <el-option-->
<!-- v-for="item in thirdSys"-->
<!-- :key="item.value"-->
<!-- :label="item.thirdName"-->
<!-- :value="item.thirdId">-->
<!-- <span style="float: left">{{ item.thirdName }}</span>-->
<!-- <span style="float: right; color: #8492a6; font-size: 13px">{{-->
<!-- item.thirdId-->
<!-- }}</span>-->
<!-- </el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-row>
<el-row>
<el-form-item class="query-form-item">
<span style="color: #000; margin-left: 10px; margin-right: 6px"
>单据日期:</span
@ -66,6 +88,8 @@
>
</el-button-group>
</el-form-item>
</el-row>
</el-form>
<el-table
:data="dataList"

@ -242,9 +242,9 @@
</el-table-column>
<el-table-column width="180" label="生产日期">
<template slot-scope="scope">
<!-- <el-input size="small" v-model="scope.row.productDate"-->
<!-- :disabled="scope.row.index !== selectedIndex"-->
<!-- placeholder="请输入生产日期" style="width: 80%"></el-input>-->
<!-- <el-input size="small" v-model="scope.row.productDate"-->
<!-- :disabled="scope.row.index !== selectedIndex"-->
<!-- placeholder="请输入生产日期" style="width: 80%"></el-input>-->
<el-date-picker
type="date"
size="small" v-model="scope.row.productDate"
@ -258,9 +258,9 @@
</el-table-column>
<el-table-column width="180" label="失效日期">
<template slot-scope="scope">
<!-- <el-input size="small" v-model="scope.row.expireDate"-->
<!-- :disabled="scope.row.index !== selectedIndex"-->
<!-- placeholder="请输入失效日期" style="width: 80%"></el-input>-->
<!-- <el-input size="small" v-model="scope.row.expireDate"-->
<!-- :disabled="scope.row.index !== selectedIndex"-->
<!-- placeholder="请输入失效日期" style="width: 80%"></el-input>-->
<el-date-picker
type="date"
size="small" v-model="scope.row.expireDate"
@ -624,6 +624,7 @@ export default {
if (this.orderEditor) {
this.thisData.orderId = this.formData.id
}
this.thisData.stockOrderLists = this.codeArray;
this.selectProductVisible = true;
return;
}
@ -703,6 +704,7 @@ export default {
if (this.orderEditor) {
this.thisData.orderId = this.formData.id
}
this.thisData.stockOrderLists = this.codeArray;
this.selectProductVisible = true;
}
} else {
@ -718,26 +720,30 @@ export default {
},
closeDialogC2(rData) {//012693548470801311200226172302271020022632100025
closeDialogC2(rData) {
this.selectProductVisible = false;
this.thisData = {};
if (this.$isNotBlank(rData)) {
console.log(rData)
for (let i = 0; i < this.codeArray.length; i++) {
let obj = this.codeArray[i];
if (obj.batchNo == rData[0].batchNo) {
obj.count = parseInt(obj.count) + parseInt(this.iCount);
return;
}
}
// for (let i = 0; i < this.codeArray.length; i++) {
// let obj = this.codeArray[i];
// if (obj.batchNo == rData[0].batchNo) {
// obj.count = parseInt(obj.count) + parseInt(this.iCount);
// return;
// }
// }
this.codeArray = [];
rData.forEach((obj, index) => {
if (this.codeArray.length === 0) {
this.codeArray.push(obj);
} else {
// this.codeArray.push(obj);
this.codeArray.unshift(obj);
}
// if (this.codeArray.length === 0) {
// this.codeArray.push(obj);
// } else {
// this.codeArray.unshift(obj);
// }
});
console.log(this.codeArray);
this.$refs.multipleTable.setCurrentRow(this.codeArray[0]);
this.currentRow = this.codeArray[0];
this.selectedIndex = 0;

@ -508,6 +508,10 @@ export default {
this.$message.warning('未添加产品');
return;
}
if (status === '2') {
this.submitFunction(status);
} else {
for (let i = 0; i < this.codeArray.length; i++) {
if (this.$isBlank(this.codeArray[i].batchNo)) {
return this.$message.error('批次号不能为空');
@ -518,10 +522,10 @@ export default {
if (this.$isBlank(this.codeArray[i].expireDate)) {
return this.$message.error('失效日期不能为空');
}
if (this.$isBlank(this.codeArray[i].reCount) || this.codeArray[i].reCount === '0') {
return this.$message.error('配货数量不能小于0');
}
}
if (status === '2') {
this.submitFunction(status);
} else {
this.$confirm("是否确定提交订单?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
@ -532,6 +536,8 @@ export default {
this.loading = false;
});
}
}
});
},

@ -86,6 +86,15 @@
>删除
</el-button
>
<el-button
type="text"
size="small"
@click.native="printOrder(scope.row)"
>单据打印
</el-button
>
</template>
</el-table-column>
</el-table>
@ -346,8 +355,8 @@
</el-col>
<el-col :span="7">
<el-form-item prop="productDate">
<!-- <el-input v-model="detailFormData.productDate" auto-complete="off"-->
<!-- :disabled="false"></el-input>-->
<!-- <el-input v-model="detailFormData.productDate" auto-complete="off"-->
<!-- :disabled="false"></el-input>-->
<el-date-picker
type="date"
size="small" v-model="detailFormData.productDate"
@ -365,8 +374,8 @@
</el-col>
<el-col :span="7">
<el-form-item prop="expireDate">
<!-- <el-input v-model="detailFormData.expireDate" auto-complete="off"-->
<!-- :disabled="false"></el-input>-->
<!-- <el-input v-model="detailFormData.expireDate" auto-complete="off"-->
<!-- :disabled="false"></el-input>-->
<el-date-picker
type="date"
size="small" v-model="detailFormData.expireDate"
@ -458,7 +467,7 @@ import codeDetail from "./errorCode";
import addOrder from "./addOrder";
import store from "../../store";
import {getLocalJoinBusType} from "../../api/basic/busLocalType";
import {inspectionStockOrderPDFFromTemplateFile, stockOrderPDFFromTemplateFile} from "../../api/itextpdf/itextpdf";
export default {
name: "stockOrderEditor",
data() {
@ -656,6 +665,39 @@ export default {
this.qrcodeExportVisible = true;
}
},
printOrder(row) {
let tQuery = {
queryId: row.id,
}
this.loading = true;
inspectionStockOrderPDFFromTemplateFile(tQuery).then((response) => {
if (response.code === 20000) {
tQuery = {
id: row.id,
orderName: "配货单",
}
stockOrderPDFFromTemplateFile(tQuery).then((response) => {
//pdfurl
const binaryData = [];
binaryData.push(response);
//blob
let url = window.URL.createObjectURL(
new Blob(binaryData, {type: "application/pdf"})
);
this.loading = false;
window.open(url);//pdf
}).catch(() => {
this.loading = false;
});
} else {
this.loading = false;
this.$message.error(response.message);
}
}).catch(() => {
this.loading = false;
});
},
closeQRCodeExportDialog() {
this.qrcodeExportVisible = false;
this.getList();

@ -256,7 +256,7 @@
placeholder="请输入批次号" style="width: 80%"></el-input>
</template>
</el-table-column>
<el-table-column width="180" label="生产日期1">
<el-table-column width="180" label="生产日期">
<template slot-scope="scope">
<el-date-picker
@ -270,16 +270,27 @@
</el-date-picker>
<!-- <el-input size="small" v-model="scope.row.productDate"-->
<!-- :disabled="scope.row.index !== selectedIndex"-->
<!-- placeholder="请输入生产日期" style="width: 80%"></el-input>-->
<!-- <el-input size="small" v-model="scope.row.productDate"-->
<!-- :disabled="scope.row.index !== selectedIndex"-->
<!-- placeholder="请输入生产日期" style="width: 80%"></el-input>-->
</template>
</el-table-column>
<el-table-column width="180" label="失效日期">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.expireDate"
<!-- <el-input size="small" v-model="scope.row.expireDate"-->
<!-- :disabled="scope.row.index !== selectedIndex"-->
<!-- placeholder="请输入失效日期" style="width: 80%"></el-input>-->
<el-date-picker
type="date"
size="small" v-model="scope.row.expireDate"
:disabled="scope.row.index !== selectedIndex"
placeholder="请输入失效日期" style="width: 80%"></el-input>
placeholder="请输入失效日期" style="width: 80%"
value-format="yyMMdd"
format="yyyy-MM-dd"
>
</el-date-picker>
</template>
</el-table-column>
<el-table-column width="150" label="单据数量">
@ -292,16 +303,16 @@
oninput="value=value.replace(/[^\d]/g,'')"></el-input>
</template>
</el-table-column>
<el-table-column width="150" label="实际数量">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.reCount"
placeholder="请输入数量" style="width: 80%"
type='number'
@change="tableCountChange(scope.row)"
:disabled="scope.row.index !== selectedIndex"
oninput="value=value.replace(/[^\d]/g,'')"></el-input>
</template>
</el-table-column>
<!-- <el-table-column width="150" label="实际数量">-->
<!-- <template slot-scope="scope">-->
<!-- <el-input size="small" v-model="scope.row.reCount"-->
<!-- placeholder="请输入数量" style="width: 80%"-->
<!-- type='number'-->
<!-- @change="tableCountChange(scope.row)"-->
<!-- :disabled="scope.row.index !== selectedIndex"-->
<!-- oninput="value=value.replace(/[^\d]/g,'')"></el-input>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column width="150" label="价格">
<template slot-scope="scope">
<el-input size="small" v-model="scope.row.price"
@ -519,6 +530,7 @@ export default {
this.$message.warning('未添加产品');
return;
}
if (status === '3') {
for (let i = 0; i < this.codeArray.length; i++) {
if (this.$isBlank(this.codeArray[i].batchNo)) {
return this.$message.error('批次号不能为空');
@ -529,7 +541,21 @@ export default {
if (this.$isBlank(this.codeArray[i].expireDate)) {
return this.$message.error('失效日期不能为空');
}
if (this.$isBlank(this.codeArray[i].count) || this.codeArray[i].count === '0') {
return this.$message.error('单据数量不能小于0');
}
}
}
if (status === '2') {
for (let i = 0; i < this.codeArray.length; i++) {
if (this.$isBlank(this.codeArray[i].count) || this.codeArray[i].count === '0') {
return this.$message.error('单据数量不能小于0');
}
}
}
if (status === '501') {
this.submitFunction(status);
} else {
@ -618,7 +644,6 @@ export default {
});
},
selectProductFunction(event) {
if (event == null) {
this.$refs.inputRef.focus();
} else event.target.select();
@ -631,6 +656,8 @@ export default {
this.thisData.code = "";
this.thisData.orderEditor = this.orderEditor;
this.thisData.orderId = "";
console.log("-----1---" + this.thisData.stockOrderLists)
this.thisData.stockOrderLists = this.codeArray;
if (this.orderEditor) {
this.thisData.orderId = this.formData.id
}
@ -664,7 +691,8 @@ export default {
let ids = [response.data.getId];
let tQuery2 = {
ids: ids,
udiEntity: response.data
udiEntity: response.data,
stockOrderLists: this.codeArray,
};
getStockOrderDetailInstrumentById(tQuery2).then((response) => {
this.loading = false;
@ -677,34 +705,6 @@ export default {
this.loading = false;
});
// let tQuery2 = {
// id: response.data.getId
// };
// if (this.orderEditor) {
// tQuery2.orderId = this.formData.id;
// console.log(tQuery2)
// addStockOrderDetailFromCodeById(tQuery2).then((response) => {
// this.loading = false;
// if (response.code === 20000) {
// this.closeDialogC2(response);
// } else {
// this.$message.error(response.message);
// }
// }).catch(() => {
// this.loading = false;
// });
// } else {
// getStockOrderDetailInstrumentById(tQuery2).then((response) => {
// this.loading = false;
// if (response.code === 20000) {
// this.closeDialogC2(response.data);
// } else {
// this.$message.error(response.message);
// }
// }).catch(() => {
// this.loading = false;
// });
// }
} else {
this.thisData = response.data;
this.thisData.code = this.code;
@ -713,6 +713,7 @@ export default {
if (this.orderEditor) {
this.thisData.orderId = this.formData.id
}
this.thisData.stockOrderLists = this.codeArray;
this.selectProductVisible = true;
}
} else {
@ -728,25 +729,27 @@ export default {
},
closeDialogC2(rData) {//012693548470801311200226172302271020022632100025
closeDialogC2(rData) {
this.selectProductVisible = false;
this.thisData = {};
if (this.$isNotBlank(rData)) {
console.log(rData)
for (let i = 0; i < this.codeArray.length; i++) {
let obj = this.codeArray[i];
if (obj.batchNo == rData[0].batchNo) {
obj.count = parseInt(obj.count) + parseInt(this.iCount);
return;
}
}
// for (let i = 0; i < this.codeArray.length; i++) {
// let obj = this.codeArray[i];
// if (obj.batchNo == rData[0].batchNo) {
// obj.count = parseInt(obj.count) + parseInt(this.iCount);
// break;
// }
// }
this.codeArray = [];
rData.forEach((obj, index) => {
if (this.codeArray.length === 0) {
this.codeArray.push(obj);
} else {
// if (this.codeArray.length === 0) {
// this.codeArray.push(obj);
// } else {
// this.codeArray.unshift(obj);
// }
this.codeArray.unshift(obj);
}
});
this.$refs.multipleTable.setCurrentRow(this.codeArray[0]);
this.currentRow = this.codeArray[0];

@ -109,13 +109,13 @@
</template>
<script>
import {
import {
getStockOrderDetailInstrumentById,
stockOrderDetailFilterProduct
} from "../../api/warehouse/stockOrder";
import store from "../../store";
} from "../../api/warehouse/stockOrder";
import store from "../../store";
export default {
export default {
name: "closeDialog",
props: {
data: {
@ -269,7 +269,8 @@
this.loading = true;
let tQuery = {
ids: ids
ids: ids,
stockOrderLists: this.data.stockOrderLists,
};
getStockOrderDetailInstrumentById(tQuery).then((response) => {
this.loading = false;
@ -318,27 +319,28 @@
},
created() {
if (this.$isNotBlank(this.data)) {
console.log(this.data.stockOrderLists);
this.listQuery.nameCode = this.data.udi;
this.orderEditor = this.data.orderEditor;
this.orderId = this.data.orderId;
this.getList();
}
},
};
};
</script>
<style scoped>
.query-form-item {
.query-form-item {
display: block !important;
margin-right: 10px;
margin-bottom: 5px;
}
}
div /deep/ .el-table .warning-row {
div /deep/ .el-table .warning-row {
background: #bebebe;
}
}
div /deep/ .el-table .success-row {
div /deep/ .el-table .success-row {
background: #ffffff;
}
}
</style>

@ -505,12 +505,16 @@ export default {
}
},
printOrder(row) {
let tQuery = {queryId: row.id,}
let tQuery = {
queryId: row.id,
}
this.loading = true;
inspectionStockOrderPDFFromTemplateFile(tQuery).then((response) => {
if (response.code === 20000) {
tQuery = {
id: row.id,
orderName: "送货单",
}
stockOrderPDFFromTemplateFile(tQuery).then((response) => {
//pdfurl

Loading…
Cancel
Save