代码备份

master
anthonywj 3 years ago
parent a6d85f5dba
commit fea1876d52

@ -16,3 +16,12 @@ export function check(data) {
data: data
});
}
export function deleterKey(data) {
return axios({
url: "/sale/info/deleterKey",
method: "post",
data: data
});
}

@ -96,6 +96,7 @@ export function inspectionStockOrderPDFFromTemplateFile(query) {
data: query,
});
}
export function stockOrderPDFFromTemplateFile(query) {
return axios({
url: "/udiwms/pdf/template/stock/order/file",
@ -107,5 +108,16 @@ export function stockOrderPDFFromTemplateFile(query) {
}
export function demoPrint(query) {
return axios({
url: "/system/pdf/template/demoPrint",
method: "post",
data: query,
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
responseType: 'arraybuffer', //一定要设置响应类型否则页面会是空白pdf
});
}

@ -246,6 +246,17 @@ export function updateStockOrderDetail(query) {
return axios({
url: '/udiwms/stock/order/detail/update',
method: 'post',
params: query
data: query
})
}
export function stockOrderChange(query) {
return axios({
url: "/udiwms/stock/order/change",
method: "post",
data: query
});
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 649 KiB

@ -434,7 +434,7 @@ export const asyncRouterMap = [
},
{
path: "thrProductsCheck",
name: "新增产品信息审核",
name: "新增产品审核",
component: thrProductsCheck,
meta: {
authRule: ["product/thrAddProducts"]
@ -1006,7 +1006,7 @@ export const asyncRouterMap = [
},
{
path: "thrProductsSubmit",
name: "新增产品信息",
name: "新增配送产品",
component: thrProductsSubmit,
meta: {
authRule: ["product/thrProductsSubmit"]

@ -848,6 +848,7 @@ export default {
selectLocalVisible: false, //UDI
isUseDyCheck: false,
lockStatusMap: {"1": "未提交", "2": "已提交", "3": "已锁定"},
loading:false,
};
},

@ -487,6 +487,10 @@ export default {
}
this.combineQuery.thirdIds.push(row.code);
});
if (selectData.length == 0) {
this.$message.warning("未选择产品");
return;
}
if (selected != '') {
this.$confirm("产品编码:" + selected + "已被添加,是否继续添加", "提示", {
confirmButtonText: "确定",

@ -79,7 +79,7 @@
>添加产品信息
</el-button
>
<el-button type="primary" @click="addProductVisible=true"></el-button>
<!-- <el-button type="primary" @click="addProductVisible=true"></el-button>-->
</el-button-group>
</el-form-item>
</el-row>
@ -1320,7 +1320,7 @@
<el-dialog
:close-on-click-modal="false"
:close-on-press-escape="false"
title="新增产品信息"
title="新增配送产品"
:visible.sync="addProductVisible"
width="85%"
v-if="addProductVisible"

@ -20,8 +20,8 @@
<el-form-item class="query-form-item">
<el-select v-model="query.status" placeholder="仓库状态" clearable>
<el-option label="全部" value=""></el-option>
<el-option label="正常" value=1></el-option>
<el-option label="禁用" value=0></el-option>
<el-option label="正常" value='1'></el-option>
<el-option label="禁用" value='0'></el-option>
</el-select>
</el-form-item>
<el-form-item>
@ -234,6 +234,7 @@
<!--添加用户弹窗-->
<el-dialog
v-if="userFormVisible"
title="用户列表"
:close-on-click-modal="false"
:close-on-press-escape="false"
@ -680,7 +681,7 @@ const formJson = {
pid: null,
name: null,
code: null,
status: 1,
status: "1",
advanceType: false,
isDefault: false,
level: 1,
@ -693,7 +694,7 @@ export default {
pid: null,
name: null,
code: null,
status: null,
status: "1",
advanceType: null,
isDefault: null
},

@ -3,7 +3,7 @@
<div>
<h3 class="toptitle">诏安县医院UDI自助平台</h3>
<h3 class="toptitle">诏安县医院</h3>
</div>
<el-form
@ -264,9 +264,9 @@
.toptitle {
position: absolute;
font-size: 60px;
font-size: 55px;
color: #FFFFFF;
margin: 100px auto 0.5333rem 100px;
margin: 50px auto 0.5333rem 50px;
text-align: center;
font-weight: bold;
}

@ -113,7 +113,7 @@
<el-dialog
:close-on-click-modal="false"
:close-on-press-escape="false"
title="新增产品信息"
title="新增配送产品"
:visible.sync="addProductVisible"
width="85%"
v-if="addProductVisible"

@ -35,26 +35,26 @@
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
<span>产品编码:&nbsp;</span>
</div>
<el-input
style="width: 60%"
size="small"
placeholder="请输入内容"
v-model="newProductData.name"
v-model="newProductData.code"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 60%"
size="small"
placeholder="请输入内容"
v-model="newProductData.code"
v-model="newProductData.name"
></el-input>
</div>
</el-col>
@ -62,63 +62,66 @@
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证:&nbsp;</span>
<span>规格型:&nbsp;</span>
</div>
<el-input
style="width: 60%"
size="small"
placeholder="请输入内容"
v-model="newProductData.registerNo"
v-model="newProductData.spec"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产厂家:&nbsp;</span>
<span>计量单位:&nbsp;</span>
</div>
<el-input
style="width: 60%"
size="small"
placeholder="请输入内容"
v-model="newProductData.manufactory"
v-model="newProductData.measname"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型号:&nbsp;</span>
<span>生产厂家:&nbsp;</span>
</div>
<el-input
style="width: 60%"
size="small"
placeholder="请输入内容"
v-model="newProductData.spec"
v-model="newProductData.manufactory"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>计量单位:&nbsp;</span>
<span>注册证号:&nbsp;</span>
</div>
<el-input
style="width: 60%"
size="small"
placeholder="请输入内容"
v-model="newProductData.measname"
v-model="newProductData.registerNo"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
@ -302,7 +305,8 @@ export default {
ybbm: null,
tyshxydm: null,
qxlb: null,
cpms: null
cpms: null,
thirdSys: null,
},
thirdSys: [],
}
@ -311,6 +315,37 @@ export default {
methods: {
saveNewProduct() {
this.addProductVisible = false;
if (this.$isBlank(this.newProductData.thirdSys)) {
this.$message.warning("第三方系统不能为空!");
return;
}
if (this.$isBlank(this.newProductData.code)) {
this.$message.warning("产品编码为空!");
return;
}
if (this.$isBlank(this.newProductData.name)) {
this.$message.warning("产品名称不能为空!");
return;
}
if (this.$isBlank(this.newProductData.spec)) {
this.$message.warning("规格型号不能为空");
return;
}
if (this.$isBlank(this.newProductData.measname)) {
this.$message.warning("计量单位不能为空!");
return;
}
if (this.$isBlank(this.newProductData.manufactory)) {
this.$message.warning("生产厂家不能为空!");
return;
}
if (this.$isBlank(this.newProductData.registerNo)) {
this.$message.warning("注册证号不能为空!");
return;
}
if (this.newType == 1) {
saveNewProduct(this.newProductData).then((res) => {
if (res.code == 20000) {
@ -356,5 +391,7 @@ export default {
</script>
<style scoped>
.el-row {
margin-top: 10px;
}
</style>

@ -21,12 +21,37 @@
placeholder="规格型号"
></el-input>
</el-form-item>
<!-- <el-form-item class="query-form-item">-->
<!-- <el-input-->
<!-- v-model="filterQuery.registerNo" clearable-->
<!-- placeholder="注册/备案凭证"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item class="query-form-item">
<el-input
v-model="filterQuery.registerNo" clearable
placeholder="注册/备案凭证"
></el-input>
<el-select
v-model="filterQuery.supId"
filterable
remote
clearable="true"
reserve-keyword
placeholder="配送企业"
:remote-method="findMethod"
size="mini"
:loading="loading"
>
<el-option
v-for="item in fromOptions"
:key="item.companyName"
:label="item.companyName"
:value="item.customerId"
>
<span style="float: left">{{ item.companyName }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.checkStatus" placeholder="审核状态">
<el-option label="全部" value=""></el-option>
@ -35,12 +60,12 @@
<el-option label="未通过" value="3"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item class="query-form-item">-->
<!-- <el-input-->
<!-- v-model="filterQuery.manufactory" clearable-->
<!-- placeholder="生产厂家"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- <el-form-item class="query-form-item">-->
<!-- <el-input-->
<!-- v-model="filterQuery.manufactory" clearable-->
<!-- placeholder="生产厂家"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.thirdSys" placeholder="请选择第三方系统" @change="thirdSysChange">
<el-option
@ -68,6 +93,7 @@
<el-table-column label="计量单位" prop="measname" show-overflow-tooltip></el-table-column>
<el-table-column label="注册/备案凭证" prop="registerNo" show-overflow-tooltip></el-table-column>
<el-table-column label="生产厂家" prop="manufactory" show-overflow-tooltip></el-table-column>
<el-table-column label="配送企业" prop="corpName" show-overflow-tooltip></el-table-column>
<el-table-column label="审核状态" prop="checkStatus" show-overflow-tooltip>
<template slot-scope="scope">
@ -130,6 +156,7 @@ import {getBasicThirdSys, filterDetailByKey} from "../../api/basic/basicThirdSys
import {selectIp} from "../../api/param/systemParamConfig";
import thrProductsDetail from "./ThrProductsDetail";
import ThrProductsAdd from "@/views/thrsys/ThrProductsAdd";
import {filterCustomers} from "@/api/auth/customer";
export default {
data() {
@ -141,6 +168,7 @@ export default {
registerNo: null,
manufactory: null,
thirdSys: "",
supId:null,
page: 1,
limit: 20,
},
@ -163,6 +191,7 @@ export default {
2: "已审核",
3: "未通过",
},
fromOptions: [],
curRow: null,
};
},
@ -325,6 +354,22 @@ export default {
this.$message.error(error.message);
})
},
findMethod(query) {
console.log(query);
this.fromOptions = [];
let cQuery = {
key: query,
customerName: query,
};
filterCustomers(cQuery)
.then((response) => {
this.fromOptions = response.data.list || [];
})
.catch(() => {
this.fromOptions = [];
});
},
},
components: {
thrProductsDetail, ThrProductsAdd
@ -333,6 +378,7 @@ export default {
},
created() {
this.getBasicThirdSys();
this.findMethod();
},
};
</script>

@ -6,28 +6,28 @@
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品名称:&nbsp;</span>
<span>产品编码:&nbsp;</span>
</div>
<el-input
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
:disabled="true"
v-model="data.name"
v-model="data.code"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>产品标识:&nbsp;</span>
<span>产品名称:&nbsp;</span>
</div>
<el-input
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="data.code"
:disabled="true"
v-model="data.name"
></el-input>
</div>
</el-col>
@ -38,65 +38,66 @@
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>注册证:&nbsp;</span>
<span>规格型:&nbsp;</span>
</div>
<el-input
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="data.registerNo"
v-model="data.spec"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>生产厂家:&nbsp;</span>
<span>计量单位:&nbsp;</span>
</div>
<el-input
style="width: 60%"
:disabled="true"
size="small"
splaceholder="ylqxzcrbarmc"
v-model="data.manufactory"
splaceholder="请输入内容"
v-model="data.measname"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>规格型:&nbsp;</span>
<span>注册证:&nbsp;</span>
</div>
<el-input
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="data.spec"
v-model="data.registerNo"
></el-input>
</div>
</el-col>
<el-col :span="12" class="el-col">
<div class="text item">
<div class="itemTag">
<span>计量单位:&nbsp;</span>
<span>生产厂家:&nbsp;</span>
</div>
<el-input
style="width: 60%"
:disabled="true"
size="small"
splaceholder="请输入内容"
v-model="data.measname"
splaceholder="ylqxzcrbarmc"
v-model="data.manufactory"
></el-input>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="12" class="el-col">
<div class="text item">
@ -249,15 +250,15 @@
</template>
<script>
export default {
name: "ThrProductsDetail",
props: {
data: {
type: Object,
required: true,
},
export default {
name: "ThrProductsDetail",
props: {
data: {
type: Object,
required: true,
},
}
},
}
</script>
<style scoped>

@ -115,7 +115,7 @@
<el-dialog
:close-on-click-modal="false"
:close-on-press-escape="false"
title="新增产品信息"
title="新增配送产品"
:visible.sync="addProductVisible"
width="85%"
v-if="addProductVisible"

@ -64,6 +64,15 @@
>模板下载
</el-button
>
<el-button
type="text"
size="small"
@click="previewPdf(scope.row)"
>预览
</el-button
>
</template>
</el-table-column>
</el-table>
@ -80,6 +89,7 @@
<!--表单-->
<el-dialog
v-if="formVisible"
:title="formMap[formName]"
:visible.sync="formVisible"
:close-on-click-modal="false"
@ -192,7 +202,11 @@
<el-button slot="trigger" size="small" type="primary" :disabled="uploadDisabled">选取文件
</el-button>
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload"></el-button>-->
<div slot="tip" class="el-upload__tip">只能上传 jasper 文件且不超过 2 MB</div>
<div slot="tip" class="el-upload__tip" v-if="formData.path==''"> jasper 2
MB
</div>
<div slot="tip" class="el-upload__tip">{{ formData.path }}</div>
</el-upload>
</el-form-item>
</el-col>
@ -219,7 +233,11 @@
<el-button slot="trigger" size="small" type="primary" :disabled="uploadDisabled">选取文件
</el-button>
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload"></el-button>-->
<div slot="tip" class="el-upload__tip">只能上传 jrxml 文件且不超过 2 MB</div>
<div slot="tip" class="el-upload__tip" v-if="formData.jrxmlPath==null"> jrxml
文件且不超过 2 MB
</div>
<div slot="tip" class="el-upload__tip">{{ formData.jrxmlPath }}</div>
</el-upload>
</el-form-item>
</el-col>
@ -308,6 +326,7 @@ import {
import {BASE_URL, SERVER_IP} from "../../../config/app";
import {authRoleAuthList} from "../../../api/auth/authRole";
import {saveAs} from 'file-saver';
import {demoPrint, stockOrderPDFFromTemplateFile} from "@/api/itextpdf/itextpdf";
const formJson = {
id: "",
@ -448,6 +467,24 @@ export default {
this.handleDownload(BASE_URL + "/udiwms/donwload/file?fileName=" + row.jrxmlPath, row.name + ".jrxml");
},
previewPdf(row) {
let query = {id: row.id};
demoPrint(query).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;
});
},
handleDownload(url, name) {
this.getBlob(url).then(blob => {
saveAs(blob, name);
@ -554,6 +591,8 @@ export default {
this.formVisible = true;
this.formData = JSON.parse(JSON.stringify(formJson));
this.fileList = [];
this.jrxmlFileList = [];
if (row !== null) {
this.formData = Object.assign({}, row);
this.formData.module = row.module + "";
@ -561,6 +600,8 @@ export default {
this.index = index;
this.formName = "update";
this.uploadDisabled = true;
// this.fileList.push(this.formData.path);
// this.jrxmlFileList.push(this.formData.jrxmlPath)
},

@ -4,6 +4,7 @@
<el-row>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.isCheck" placeholder="审核状态">
<el-option label="全部" value=""></el-option>
<el-option label="未审核" value="0"></el-option>
<el-option label="已审核" value="1"></el-option>
<el-option label="未通过" value="2"></el-option>
@ -33,6 +34,11 @@
prop="remark"
></el-table-column>
<el-table-column
label="申请人"
prop="companyName"
></el-table-column>
<el-table-column label="审核状态" prop="isCheck" width="120">
<template slot-scope="scope">
<span>{{ checkFlag[scope.row.isCheck] }}</span>
@ -49,6 +55,24 @@
>审核
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="editDialog(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
@ -60,12 +84,86 @@
width="30%"
center
>
<span slot="footer" class="dialog-footer">
<el-button @click="centerDialogVisible = false">取消</el-button>
<el-button type="primary" @click="passRegister"></el-button>
<el-button type="primary" @click="noPassRegister"></el-button>
</span>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="6">
<div class="ao-text">
<span>IMEI</span>
</div>
</el-col>
<el-col :span="12">
<el-input
size="small"
placeholder=""
v-model="checkQuery.imei"
disabled
></el-input>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex" style="margin-top: 10px">
<el-col :span="6">
<div class="ao-text">
<span>登记说明</span>
</div>
</el-col>
<el-col :span="12">
<el-input
size="small"
placeholder=""
v-model="checkQuery.remark"
></el-input>
</el-col>
</el-row>
<span slot="footer" class="dialog-footer" style="margin-top: 40px">
<el-button @click="centerDialogVisible = false">取消</el-button>
<el-button type="primary" @click="passRegister"></el-button>
<el-button type="primary" @click="noPassRegister"></el-button>
</span>
</el-dialog>
<el-dialog
title="编辑"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="editDialogVisible"
width="30%"
center
>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="6">
<div class="ao-text">
<span>IMEI</span>
</div>
</el-col>
<el-col :span="12">
<el-input
size="small"
placeholder=""
v-model="checkQuery.imei"
disabled
></el-input>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex" style="margin-top: 10px">
<el-col :span="6">
<div class="ao-text">
<span>登记说明</span>
</div>
</el-col>
<el-col :span="12">
<el-input
size="small"
placeholder=""
v-model="checkQuery.remark"
></el-input>
</el-col>
</el-row>
<span slot="footer" class="dialog-footer" style="margin-top: 40px">
<el-button @click="editDialogVisible = false">取消</el-button>
<el-button type="primary" @click="confirmEdit"></el-button>
</span>
</el-dialog>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
@ -76,13 +174,13 @@
</template>
<script>
import {registerList, check} from "../../api/auth/deviceCheck";
import {registerList, check, deleterKey} from "../../api/auth/deviceCheck";
export default {
data() {
return {
filterQuery: {
isCheck: "0",
isCheck: "",
page: 1,
limit: 20,
},
@ -99,6 +197,11 @@ export default {
addDialogVisible: false,
centerDialogVisible: false,
check: "",
checkQuery: {
imei: null,
remark: null,
},
editDialogVisible: false,
};
},
@ -132,7 +235,10 @@ export default {
this.total = 0;
});
},
editDialog(row) {
this.checkQuery = row;
this.editDialogVisible = true;
},
cancelDialog() {
this.addDialogVisible = false;
},
@ -170,20 +276,38 @@ export default {
});
},
checkDialog(row) {
this.checkQuery = {
id: row.id + "",
isCheck: 1,
};
console.log(
this.check + "---" + row.roles + "---" + this.checkQuery.roles
);
this.checkQuery = row;
this.centerDialogVisible = true;
},
confirmEdit() {
this.ch
this.checkRegister();
},
deleteDialog(row) {
let query = {
id: row.id,
}
deleterKey(query)
.then((response) => {
if (response.code === 20000) {
this.getList();
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.warning("删除失败");
this.loading = false;
}
})
.catch(() => {
});
},
passRegister() {
this.checkQuery.isCheck = 1;
this.checkRegister();
this.centerDialogVisible = false;
},

@ -638,11 +638,16 @@ export default {
methods: {
onSubmit(formName) {
// this.formVisible = true;
this.$refs[formName].validate((valid) => {
if (valid) {
// if (!this.checkCompanyNameStatus && this.registerConfigMap.companyCheckStatus) {
// return this.$message.error('');
// }
if (this.registerConfigMap.companyCheckStatus) {
if (this.$isBlank(this.inputQuery.companyName)) {
this.$message.error('企业名称不能为空');
return;
}
}
this.loading = true;
register(this.inputQuery).then((response) => {
if (response.code === 20000) {

@ -0,0 +1,347 @@
<template>
<div>
<el-form :model="formData" :rules="formRules" ref="dataForm">
<el-button-group style="display: flex;margin: -40px 0 20px 80%; height: 35px">
<el-button
type="primary"
@click.native="submit('0')"
>生成单据
</el-button
>
</el-button-group>
<el-row :gutter="20">
<el-col :span="3">
<div class="ao-text">
<span>入库单号</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="corpOrderId">
<el-input v-model="formData.corpOrderId" auto-complete="off"
:disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>单据时间</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="actDate">
<el-date-picker
v-model="formData.actDate"
type="datetime"
placeholder="日期"
:disabled="true"
style="width: 100%; "
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="3">
<div class="ao-text">
<span>单据类型</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item class="query-form-item" prop="billType">
<el-select v-model="formData.action" placeholder="请选择单据类型"
@change="actionChange">
<el-option
v-for="item in busTypes"
:key="item.name"
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="3">
<div class="ao-text">
<span>当前仓库</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item prop="locStorageCode">
<!--<el-select v-model="formData.billType" style="width: 100%" placeholder="业务类型" :disabled="true">-->
<!--<el-option label="送货单" value="deliveryNote"></el-option>-->
<!--</el-select>-->
<el-select v-model="formData.locStorageCode" placeholder="当前仓库信息" @change="locCHange">
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="3">
<div class="ao-text">
<span>往来信息</span>
</div>
</el-col>
<el-col :span="8">
<el-form-item class="query-form-item" prop="fromCorp"
v-if="curAction.corpType ==0 || curAction.corpType == 3 || (curAction.corpType == 2 && !curAction.genUnit)">
<el-select
v-model="formData.fromCorp"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请输入往来单位"
:remote-method="findMethod"
:loading="loading"
@change="unitChange"
>
<el-option
v-for="item in fromOptions"
:key="item.name"
:label="item.name"
:value="item"
>
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item" prop="fromCorp"
v-if="curAction.corpType ==1">
<el-select
v-model="formData.fromCorp"
filterable
remote
clearable="true"
reserve-keyword
placeholder="请输入仓库信息"
:remote-method="findStorageMethod"
:loading="loading"
@change="storageChange"
>
<el-option
v-for="item in fromStorageOptions"
:key="item.value"
:label="item.code"
:value="item">
<span style="float: left">{{ item.name }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.code }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item" prop="fromCorp"
v-if="curAction.corpType ==2 && curAction.genUnit">
<el-input v-model="formData.fromCorp" auto-complete="off"
clearable
placeholder="请输入病人住院号"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import {filterAllByLoc, filterAllByUser} from "@/api/basic/invWarehouse";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {parseTime} from "@/filtres";
import {getLocalJoinByUser} from "@/api/basic/busLocalType";
import {submitOrderWeb} from "@/api/warehouse/order";
import {stockOrderChange} from "@/api/warehouse/stockOrder";
export default {
name: "DialogcChangeNewOrder",
props: {
closeDialog: {
type: Function,
required: true,
},
curRow: {
type: Object,
required: true,
},
},
data() {
return {
formData: {
corpOrderId: "",
code: "",
actor: "",
fromCorpId: "",
fromCorp: null,
fromType: 2,
actDate: new Date(),
action: null,
locStorageCode: null,
},
fromStorageOptions: [],
curAction: {
corpType: 0,
genUnit: false,
},
busTypes: [],
fromOptions: [],
}
},
methods: {
submit() {
if (this.$isBlank(this.formData.action)) {
this.$message.warning("请选择单据类型!");
return;
}
if (this.$isBlank(this.formData.locStorageCode)) {
this.$message.error('当前仓库不能为空');
return;
}
if (this.$isBlank(this.formData.fromCorp)) {
this.$message.error('当前往来单位不能为空');
return;
}
let tQuery = {
stockOrderId: this.curRow.id,
locStorageCode: this.formData.locStorageCode,
action: this.formData.action,
fromCorp: this.formData.fromCorp,
fromCorpId: this.formData.fromCorpId,
}
stockOrderChange(tQuery)
.then((response) => {
console.log(response)
if (response.code === 20000) {
this.$message.success("提交成功");
this.closeDialog();
} else {
this.$message.error(response.message);
}
this.loading = false;
});
},
locCHange() {
this.findStorageMethod();
},
findStorageMethod(query) {
if (this.formData.locStorageCode == null)
return;
this.fromStorageOptions = [];
let cQuery = {
locInvCode: this.formData.locStorageCode,
};
filterAllByLoc(cQuery)
.then((response) => {
this.fromStorageOptions = response.data || [];
})
.catch(() => {
});
},
findMethod(query) {
console.log(query);
this.fromOptions = [];
let cQuery = {
key: query,
corpType: null,
outType: null,
};
if (this.curAction.corpType == 3) {//
cQuery.corpType = 4;
this.formData.fromCorpId = this.curAction.defaultUnit;
} else if (this.curAction.corpType == 2)//
{
cQuery.corpType = 4;
cQuery.outType = 2;
} else if (this.curAction.corpType == 0) {
cQuery.corpType = 2;
} else return;
getBasicUnitMaintains(cQuery)
.then((response) => {
this.loading = false;
this.fromOptions = response.data.page.list || [];
if (this.curAction.corpType == 3) {
for (let i = 0; i < this.fromOptions.length; i++) {
if (this.fromOptions[i].erpId == this.formData.fromCorpId) {
this.formData.fromCorp = this.fromOptions[i].name;
}
}
}
})
.catch(() => {
this.loading = false;
});
},
storageChange(row) {
this.formData.fromCorpId = row.code;
this.formData.fromCorp = row.name;
},
unitChange(row) {
console.log(row);
this.formData.fromCorpId = row.erpId;
this.formData.fromCorp = row.name;
},
actionChange(item) {
this.curAction = this.getActionItem(item);
// this.formData.locStorageCode = this.curAction.storageCode;
this.findMethod();
},
getBusType() {
let query = {
enabled: true,
};
getLocalJoinByUser(query)
.then((response) => {
this.busTypes = response.data.list || [];
this.filterQuery.billAction = this.busTypes[0].action;
})
.catch(() => {
});
},
getStorage() {
this.storageList = [];
filterAllByUser()
.then((response) => {
this.storageList = response.data || [];
})
.catch(() => {
});
},
},
created() {
if (this.$isBlank(this.formData.corpOrderId)) {
let date = new Date();
this.formData.corpOrderId = parseTime(date, '{y}{m}{d}{h}{i}{s}') + Math.ceil(Math.random() * 89 + 10);
}
this.getBusType();
this.getStorage();
}
}
</script>
<style scoped>
</style>

@ -58,10 +58,12 @@
<el-col :span="8">
<el-form-item class="query-form-item" prop="billType">
<el-select v-model="formData.action" placeholder="请选择单据类型"
:disabled="corpOrderIdDisabled"
@change="actionChange">
<el-option
v-for="item in busTypes"
:key="item.name"
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
@ -81,10 +83,12 @@
<!--<el-select v-model="formData.billType" style="width: 100%" placeholder="业务类型" :disabled="true">-->
<!--<el-option label="送货单" value="deliveryNote"></el-option>-->
<!--</el-select>-->
<el-select v-model="formData.locStorageCode" placeholder="当前仓库信息" @change="locCHange">
<el-select v-model="formData.locStorageCode" placeholder="当前仓库信息" @change="locCHange"
:disabled="corpOrderIdDisabled">
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
@ -105,7 +109,8 @@
</el-col>
<el-col :span="8">
<el-form-item class="query-form-item" prop="fromCorp"
v-if="curAction.corpType ==0 || curAction.corpType == 3 || (curAction.corpType == 2 && !curAction.genUnit)">
v-if="curAction.corpType ==0 || curAction.corpType == 3 || (curAction.corpType == 2 && !curAction.genUnit)"
>
<el-select
v-model="formData.fromCorp"
filterable
@ -115,6 +120,7 @@
placeholder="请输入往来单位"
:remote-method="findMethod"
:loading="loading"
:disabled="corpOrderIdDisabled"
@change="unitChange"
>
<el-option
@ -128,7 +134,8 @@
</el-select>
</el-form-item>
<el-form-item class="query-form-item" prop="fromCorp"
v-if="curAction.corpType ==1">
v-if="curAction.corpType ==1"
>
<el-select
v-model="formData.fromCorp"
filterable
@ -137,7 +144,7 @@
reserve-keyword
placeholder="请输入仓库信息"
:remote-method="findStorageMethod"
:loading="loading"
:loading="loading" :disabled="corpOrderIdDisabled"
@change="storageChange"
>
<el-option
@ -154,6 +161,7 @@
v-if="curAction.corpType ==2 && curAction.genUnit">
<el-input v-model="formData.fromCorp" auto-complete="off"
clearable
:disabled="corpOrderIdDisabled"
placeholder="请输入病人住院号"
></el-input>
</el-form-item>
@ -238,19 +246,21 @@
<el-button
type="text"
size="small"
:disabled="scope.row.relId != null "
@click.native.stop="bindRl(scope.row)"
>选择产品
</el-button
>
<!-- :disabled="scope.row.relId != null "-->
<el-button
type="text"
size="small"
:disabled=" scope.row.supId !=null"
@click.native.stop="handleUnitClick(scope.row)"
>选择供应商
</el-button
>
<!-- :disabled=" scope.row.supId !=null"-->
</template>
</el-table-column>
</el-table>
@ -481,7 +491,6 @@ export default {
this.$refs.inputRef.focus();
this.getCodeList();
} else {
this.corpOrderIdDisabled = true;
if (response.code == 502) {
this.curRow = response.data;
this.idQuery.id = this.curRow.orderId;

@ -68,8 +68,10 @@
<el-col :span="8">
<el-form-item class="query-form-item">
<el-select v-model="formData.billType" placeholder="请选择单据类型" @change="actionChange"
:disabled="corpOrderIdDisabled"
clearable>
<el-option
v-for="item in busTypes"
:key="item.name"
:label="item.name"
@ -93,8 +95,10 @@
<!--<el-select v-model="formData.billType" style="width: 100%" placeholder="业务类型" :disabled="true">-->
<!--<el-option label="送货单" value="deliveryNote"></el-option>-->
<!--</el-select>-->
<el-select v-model="formData.locStorageCode" placeholder="当前仓库信息" clearable>
<el-select v-model="formData.locStorageCode" placeholder="当前仓库信息" clearable
:disabled="corpOrderIdDisabled">
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
@ -178,11 +182,11 @@
<el-button
type="text"
size="small"
:disabled="scope.row.relId != null "
@click.native.stop="bindRl(scope.row)"
>选择产品
</el-button
>
<!-- :disabled="scope.row.relId != null "-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->

@ -52,7 +52,7 @@
<el-table-column label="操作" fixed="right" width="250">
<template slot-scope="scope">
<!-- <el-button-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native.stop="deleteCode(scope.$index, scope.row)"-->
@ -62,19 +62,19 @@
<el-button
type="text"
size="small"
:disabled="scope.row.relId != null "
@click.native.stop="bindRl(scope.row)"
>选择产品
</el-button
>
<!-- :disabled="scope.row.relId != null "-->
<el-button
type="text"
size="small"
:disabled=" scope.row.supId !=null"
@click.native.stop="handleUnitClick(scope.row)"
>选择供应商
</el-button
>
<!-- :disabled=" scope.row.supId !=null"-->
</template>
</el-table-column>

@ -47,7 +47,7 @@
</el-form-item>
<!-- <el-form-item class="query-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"-->
@ -116,6 +116,52 @@
</div>
</el-card>
<el-dialog
v-if="storageVisible"
title="请选择当前仓库"
:close-on-click-modal="false"
:close-on-press-escape="false"
append-to-body
:visible.sync="storageVisible">
<el-table
:data="storageList"
style="width: 100%;margin-bottom: 20px;"
row-key="id"
highlight-current-row>
<el-table-column
prop="code"
label="仓库编码"
width="120"
>
</el-table-column>
<el-table-column
prop="name"
label="仓库名称"
width="250"
>
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="selectStorage(scope.row)"
>选择
</el-button
>
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
@ -125,6 +171,7 @@ import {getBussinessType} from "../../api/basic/bussinessType";
import {getLocalJoinBusType} from "../../api/basic/busLocalType";
import store from "../../store";
import {getOriginBusType} from "@/api/basic/busOriginType";
import {filterAllByUser} from "@/api/basic/invWarehouse";
export default {
name: "closeDialog",
@ -156,17 +203,19 @@ export default {
erpName: "",
keys: [],
},
storageVisible: false,
dataList: [],
pageTotal: 1,
total: 1,
currentRow: null,
curLocInv: null,
loading: false,
multipleUdiSelection: [],
thirdSys: [],
thirdSysFk: null,
busTypes: [],
originTypes: [],
storageList: [],
actDateRange: [],
pickerOptions: {
shortcuts: [
@ -261,12 +310,35 @@ export default {
if (this.$isBlank(this.currentRow.id)) {
return;
}
if (this.curLocInv == null) {
this.storageVisible = true;
} else {
let tQuery = {
id: this.currentRow.id,
locStorageCode: this.curLocInv,
}
addStockOrder(tQuery)
.then((response) => {
if (response.code === 20000) {
this.closeDialog();
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
}
},
selectStorage(row) {
this.curLocInv = row.code;
let tQuery = {
id: this.currentRow.id
id: this.currentRow.id,
locStorageCode: this.curLocInv,
}
addStockOrder(tQuery)
.then((response) => {
if (response.code === 20000) {
this.storageVisible = false;
this.closeDialog();
} else {
this.$message.error(response.message);
@ -300,9 +372,22 @@ export default {
.catch(() => {
});
},
getStorage(event) {
this.storageList = [];
filterAllByUser()
.then((response) => {
this.storageList = response.data || [];
if (this.storageList.length == 1) {
this.curLocInv = this.storageList[0].code;
}
})
.catch(() => {
});
},
},
created() {
this.getBusType();
this.getStorage();
},
};
</script>

@ -519,7 +519,7 @@ import stockOrderNewSelectProduct from "./stockOrderNewSelectProduct";
import {getBasicUnitMaintains, getBasicUnitMaintains2} from "../../api/basic/basicUnitMaintain";
import {getBussinessType} from "../../api/basic/bussinessType";
import {getLocalBusType, getLocalJoinBusType, getLocalJoinByUser} from "../../api/basic/busLocalType";
import {filterAll, filterAllByUser} from "@/api/basic/invWarehouse";
import {filterAll, filterAllByLoc, filterAllByUser} from "@/api/basic/invWarehouse";
import dialogInvProduct from "../inventory/DialogInvProduct"
export default {
@ -726,11 +726,13 @@ export default {
},
findStorageMethod(query) {
console.log(query);
if (this.formData.locStorageCode == null)
return;
this.fromStorageOptions = [];
let cQuery = {
key: query,
locInvCode: this.formData.locStorageCode,
};
filterAllByUser(cQuery)
filterAllByLoc(cQuery)
.then((response) => {
let temp = response.data || [];
for (let i = 0; i < temp.length; i++) {
@ -1291,6 +1293,7 @@ export default {
this.formData.locStorageCode = item;
this.$forceUpdate();
this.getBusType(item);
this.findStorageMethod();
}
},
filters: {},

@ -107,7 +107,7 @@
<!-- {{ scope.row.type | typeFilterName }}-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" fixed="right" width="120">
<el-table-column label="操作" fixed="right" width="200">
<template slot-scope="scope">
<!-- <el-button-->
<!-- type="text"-->
@ -116,21 +116,32 @@
<!-- >码详情-->
<!-- </el-button-->
<!-- >-->
<!-- <el-button-->
<!-- type="text"-->
<!-- size="small"-->
<!-- @click.native="printOrder(scope.row)"-->
<!-- v-if="haveDistributionVisible"-->
<!-- >打印订单-->
<!-- </el-button-->
<!-- >-->
<el-button
type="text"
size="small"
@click.native="printOrder(scope.row)"
>打印
</el-button
>
<el-button
type="text"
size="small"
@click.native="handleDetailForm(scope.$index, scope.row)"
>编辑
>发票
</el-button
>
<el-button
type="text"
size="small"
@click.native="generOrder(scope.row)"
>生成单据
</el-button
>
<!-- v-if="haveDistributionVisible"-->
<div v-if="scope.row.enableSupplementOrder">
<el-button
type="text"
@ -291,6 +302,22 @@
</el-dialog>
<el-dialog
title="根据当前单据生成新单据"
:visible.sync="stockChangeVisible"
width="60%"
v-if="stockChangeVisible"
@close='closeDialog'
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<DialogcChangeNewOrder
:closeDialog="closeDialog"
:curRow="curRow"
></DialogcChangeNewOrder>
</el-dialog>
</div>
</template>
@ -306,6 +333,7 @@ import {
import stockOrderDistribution from "./stockOrderDistribution";
import stockOrderQRCodeDetail from "./stockOrderQRCodeDetail";
import stockQRCodeExport from "./stockQRCodeExport";
import DialogcChangeNewOrder from "./DialogcChangeNewOrder";
import draggable from "vuedraggable";
import {inspectionStockOrderPDFFromTemplateFile, stockOrderPDFFromTemplateFile} from "../../api/itextpdf/itextpdf";
import store from "../../store";
@ -379,12 +407,14 @@ export default {
isSp: store.getters.customerId,
detailFormVisible: false,
stockOrderEditVisible: false,
stockChangeVisible: false,
detailFormData: {},
detailFormLoading: false,
haveDistributionVisible: true,
qrcodeDetailVisible: false,
qrcodeExportVisible: false,
actDateRange: [],
curRow: null,
pickerOptions: {
shortcuts: [
{
@ -467,6 +497,12 @@ export default {
}
})
},
generOrder(row) {
this.stockChangeVisible = true;
this.curRow = row;
},
changeFun(row) {
let _this = this;
_this.multipId = []; //ID
@ -573,6 +609,8 @@ export default {
},
closeDialog(type) {
this.distributionVisible = false;
this.stockChangeVisible = false;
this.getList();
if (this.$isNotBlank(type)) {
this.detailList = [];
@ -587,12 +625,16 @@ export default {
}
},
printOrder(row) {
let tQuery = {queryId: row.id,}
let tQuery = {
queryId: row.id,
moduleId: 4,
}
this.loading = true;
inspectionStockOrderPDFFromTemplateFile(tQuery).then((response) => {
if (response.code === 20000) {
tQuery = {
id: row.id,
moduleId: 4,
}
stockOrderPDFFromTemplateFile(tQuery).then((response) => {
//pdfurl
@ -825,7 +867,7 @@ export default {
stockOrderDistribution,
stockOrderQRCodeDetail,
stockQRCodeExport,
StockOrderEdit
StockOrderEdit, DialogcChangeNewOrder
},
filters: {
statusFilterType(status) {

@ -702,13 +702,14 @@ export default {
printOrder(row) {
let tQuery = {
queryId: row.id,
moduleId: 5,
}
this.loading = true;
inspectionStockOrderPDFFromTemplateFile(tQuery).then((response) => {
if (response.code === 20000) {
tQuery = {
id: row.id,
moduleId: 5,
orderName: "配货单",
}
stockOrderPDFFromTemplateFile(tQuery).then((response) => {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save