Merge remote-tracking branch 'origin/master' into dev

# Conflicts:
#	src/views/inout/IoAuditedOrder.vue
dev
schry 2 years ago
commit 278adb8242

@ -9,7 +9,6 @@ export function authAdminList(query) {
}); });
} }
//根据当前角色,获取是否为客户角色 //根据当前角色,获取是否为客户角色
export function roleCustomers(query) { export function roleCustomers(query) {
return axios({ return axios({
@ -67,4 +66,18 @@ export function selectUser(query) {
}); });
} }
export function modifyPasswd(data) {
return axios({
url: "/admin/auth/admin/updateUser",
method: "post",
data: data
});
}
export function filterByUser(query) {
return axios({
url: "/admin/auth/admin/selectUser",
method: "get",
params: query
});
}

@ -31,3 +31,11 @@ export function exportExcel(query) {
}); });
} }
export function exportExcelAll(query) {
return axios({
url: "/udiwms/thrProducts/importLog/exportAll",
method: "post",
data: query
});
}

@ -10,10 +10,10 @@
<div class="inv-hos-title"> <div class="inv-hos-title">
<span <span
style="margin-left:8px;color: #2d8cf0;font-size: 14px;">部门:{{ deptName }}</span> style="margin: 10px;color: #2d8cf0;font-size: 14px;">部门&nbsp:&nbsp{{ deptName }}</span>
<span <span
style="margin-right: 18px;margin-left:8px;color: #2d8cf0;font-size: 14px;">仓库:{{ inv }}</span> style="margin-right: 18px;margin-left:8px;color: #2d8cf0;font-size: 14px;">仓库&nbsp:&nbsp{{ inv }}</span>
<span style="font-weight: 500;color:rgb(51 48 48); font-size: 14px;">用户:{{ this.companyName }}</span> <span style="font-weight: 500;color:rgb(51 48 48); font-size: 14px;">用户&nbsp:&nbsp吴XX{{ this.companyName }}</span>
<span <span
style="font-weight: 500;color:rgb(51 48 48); font-size: 14px; margin-right: 20px">({{ style="font-weight: 500;color:rgb(51 48 48); font-size: 14px; margin-right: 20px">({{
this.userName this.userName
@ -40,6 +40,9 @@
<el-dropdown-item divided @click.native="changeInv"> <el-dropdown-item divided @click.native="changeInv">
<span>切换仓库</span> <span>切换仓库</span>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item divided @click.native="modifyPassword">
<span>修改密码</span>
</el-dropdown-item>
<el-dropdown-item divided @click.native="logout"> <el-dropdown-item divided @click.native="logout">
<span>退出登录</span> <span>退出登录</span>
</el-dropdown-item> </el-dropdown-item>
@ -102,6 +105,78 @@
</el-form> </el-form>
</el-dialog> </el-dialog>
<el-dialog
title="修改密码"
:visible.sync="isVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="35%"
v-if="isVisible"
>
<el-form :model="inputQuery" label-width="100px" :rules="formRules" ref="dataForm">
<el-row :gutter="20">
<el-col :span="20">
<el-form-item prop="userName" label="用户账号:">
<el-input
size="small"
placeholder="请输入登录用户账号"
v-model="inputQuery.userName"
@input="change()"
:disabled="true"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item prop="passWord" label="当前密码:">
<el-input
size="small"
placeholder="请输入当前密码"
type="password"
v-model="inputQuery.passWord"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item prop="newPassword" label="新密码:">
<el-input
size="small"
placeholder="请输入新密码"
type="password"
v-model="inputQuery.newPassword"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="20">
<el-form-item prop="confirmPassword" label="确认密码:">
<el-input
size="small"
placeholder="请输入确认密码"
type="password"
v-model="inputQuery.confirmPassword"
@input="change()"
></el-input>
</el-form-item>
</el-col>
</el-row>
<div style='text-align: center; margin-bottom: 10px;margin-top: 18px ;'>
<el-button type="primary" @click="onSubmit"></el-button>
<el-button @click="closeDialog"></el-button>
</div>
</el-form>
</el-dialog>
</div> </div>
</template> </template>
@ -118,17 +193,35 @@ import RuoYiDoc from '@/components/RuoYi/Doc'
import store from "@/store"; import store from "@/store";
import {filterAllByUser} from "@/api/system/invWarehouse"; import {filterAllByUser} from "@/api/system/invWarehouse";
import {filterSubByInv, findByDeptUser} from "@/api/system/invSubWarehouse"; import {filterSubByInv, findByDeptUser} from "@/api/system/invSubWarehouse";
import {updateInv} from "@/api/auth/authAdmin"; import {updateInv, modifyPasswd,filterByUser} from "@/api/auth/authAdmin";
import {isRelogin} from "@/utils/request"; import {isRelogin} from "@/utils/request";
import router from "@/router"; import router from "@/router";
export default { export default {
data() { data() {
// let validatePass2 = (rule, value, callback) => {
// if (value === "") {
// callback(new Error(""));
// } else if (value !== this.inputQuery.passWord) {
// callback(new Error("!"));
// } else {
// callback();
// }
// };
return { return {
inv: store.getters.locInvName, inv: store.getters.locInvName,
deptName: store.getters.locDeptName, deptName: store.getters.locDeptName,
selInvVisible: false, selInvVisible: false,
isVisible: false,
userInfo: {}, userInfo: {},
inputQuery: {
passWord: "",
newPassword: "",
confirmPassword: "",
userName: "",
locInvCode: "",
},
deptList: [], deptList: [],
invList: [], invList: [],
formRules: { formRules: {
@ -138,6 +231,19 @@ export default {
locInvCode: [ locInvCode: [
{required: true, message: "请选择当前仓库", trigger: "blur"} {required: true, message: "请选择当前仓库", trigger: "blur"}
], ],
password: [{required: true, message: "请输入密码", trigger: "blur"}],
newPassword: [{required: true, message: "请输入密码", trigger: "blur"}],
confirmPassword: [
{required: true, message: "请确认密码", trigger: "blur"},
// {validator: validatePass2, trigger: "blur"},
],
},
rules: {
password: [{required: true, message: "请输入密码", trigger: "blur"}],
confirmPassword: [
{required: true, message: "请确认密码", trigger: "blur"},
// {validator: validatePass2, trigger: "blur"},
],
}, },
}; };
@ -176,6 +282,41 @@ export default {
} }
}, },
methods: { methods: {
onSubmit() {
if (this.inputQuery.newPassword != this.inputQuery.confirmPassword) {
this.$message.error("新密码与确认密码不一致!!!!");
return
}
if (this.inputQuery.passWord == this.inputQuery.newPassword) {
this.$message.error("旧密码与新密码不能相同!!!!");
return
}
this.$refs["dataForm"].validate((valid) => {
if (valid) {
this.loading = true;
modifyPasswd(this.inputQuery).then((response) => {
if (response.code === 20000) {
this.loading = false;
this.$confirm('密码重置成功,请点击确定重新登录', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$store.dispatch('LogOut').then(() => {
location.href = process.env.VUE_APP_CONTEXT_PATH;
})
}).catch(() => {
});
} else {
this.$message.error(response.message);
}
});
} else {
return false;
}
});
},
toggleSideBar() { toggleSideBar() {
this.$store.dispatch('app/toggleSideBar') this.$store.dispatch('app/toggleSideBar')
}, },
@ -195,6 +336,9 @@ export default {
changeInv() { changeInv() {
this.selInvVisible = true; this.selInvVisible = true;
}, },
modifyPassword() {
this.isVisible = true;
},
getDeptList() { getDeptList() {
this.deptList = []; this.deptList = [];
@ -206,6 +350,16 @@ export default {
.catch(() => { .catch(() => {
}); });
}, },
getInputQuery() {
this.inputQuery = [];
filterByUser()
.then((response) => {
this.inputQuery = response.data || [];
// this.getInvList();
})
.catch(() => {
});
},
deptChange() { deptChange() {
this.getInvList(); this.getInvList();
@ -261,6 +415,8 @@ export default {
closeDialog() { closeDialog() {
this.selInvVisible = false; this.selInvVisible = false;
this.isVisible = false;
this.getDeptList() this.getDeptList()
this.resetForm(); this.resetForm();
}, },
@ -283,7 +439,10 @@ export default {
locInvCode: store.getters.locInvCode, locInvCode: store.getters.locInvCode,
locDeptCode: store.getters.locDeptCode, locDeptCode: store.getters.locDeptCode,
}; };
this.inputQuery = {
userName: this.$store.getters.name,
};
this.getInputQuery();
this.getDeptList(); this.getDeptList();
//this.getInvList() //this.getInvList()

@ -213,6 +213,7 @@ export default {
return { return {
query: { query: {
key: "", key: "",
corpType: "2",
page: 1, page: 1,
limit: 20, limit: 20,
}, },
@ -303,6 +304,7 @@ export default {
}); });
this.query = { this.query = {
key: "", key: "",
corpType: "2",
page: 1, page: 1,
limit: 20, limit: 20,
}; };

@ -125,6 +125,7 @@
<el-table-column width="120" label="操作"> <el-table-column width="120" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click.native.stop="handleModifyClick(scope.row)">详情</el-button> <el-button type="text" @click.native.stop="handleModifyClick(scope.row)">详情</el-button>
<el-button type="text" @click.native.stop="handleDeleteClick(scope.row.id)">移除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -485,7 +486,33 @@ export default {
}; };
this.checked = row.isUseDy == 1; this.checked = row.isUseDy == 1;
}, },
handleDeleteClick(rowId){
this.$confirm("此操作将删除该供应商器械信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let dQuery = {
id: rowId,
};
deleteCompanyProductRelevance(dQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.$message.success("删除成功");
} else {
this.$message.error(response.message);
}
this.getList();
})
.catch(() => {
this.loading = false;
});
})
.catch(() => {
});
},
lockProducts(status) { lockProducts(status) {
let selectData = this.multipleSelection; let selectData = this.multipleSelection;
let postQuery = { let postQuery = {

@ -567,6 +567,7 @@ export default {
action: null, action: null,
invCode: null, invCode: null,
fromCorp: null, fromCorp: null,
fromCorpName: null,
fromInvCode: null, fromInvCode: null,
remark: null, remark: null,
fromType: 2, fromType: 2,
@ -1461,6 +1462,7 @@ export default {
this.corpOrderIdDisabled = true; this.corpOrderIdDisabled = true;
this.orderFormData = this.orderQuery; this.orderFormData = this.orderQuery;
this.actionEnable = true; this.actionEnable = true;
this.orderFormData.fromCorp=this.orderFormData.fromCorpName;
if (this.$isNotBlank(this.orderFormData.checkPreInOrders)) { if (this.$isNotBlank(this.orderFormData.checkPreInOrders)) {
this.checkPreInArray = this.orderFormData.split(","); this.checkPreInArray = this.orderFormData.split(",");
} }

@ -451,6 +451,7 @@ export default {
startTime: null, startTime: null,
endTime: null, endTime: null,
}; };
this.actDateRange = null
this.getList(); this.getList();
}, },
// //

@ -801,39 +801,35 @@ export default {
this.BASE_URL + this.BASE_URL +
"/udiwms/image/register/file/getImage?type=image2&name=" + row.licenseUrl; "/udiwms/image/register/file/getImage?type=image2&name=" + row.licenseUrl;
this.imgList = []; this.imgList = [];
this.imgList.push(this.certFileUrl) this.imgList.push(this.certFileUrl);
let index = row.licenseUrl.lastIndexOf('.'); let index = row.licenseUrl.lastIndexOf('.');
if (index === -1) { if (index === -1) {
this.$message.error("文件名异常!") this.$message.error("文件名异常!");
return false return false;
} }
if (row.licenseUrl.substr(index + 1) === 'pdf') { if (row.licenseUrl.substr(index + 1) === 'pdf') {
let pdf = "application/pdf" let pdf = "application/pdf";
let binaryData = []; let binaryData = [];
previewFile(this.certFileUrl).then(res => { previewFile(this.certFileUrl).then(res => {
binaryData.push(res); binaryData.push(res);
let URL = window.URL.createObjectURL(new Blob(binaryData, { type: pdf })); let URL = window.URL.createObjectURL(new Blob(binaryData, { type: pdf }));
window.open(URL); window.open(URL);
}) });
// window.open(this.imgList[0]) return false;
return false
} }
this.imgViewerVisible = true; this.imgViewerVisible = true;
// previewImage({
// imageUrl: this.inputQuery.licenseUrl,
// certFileUrl: this.certFileUrl,
// }).then((response) => {
// if (response.code === 20000) {
// }
// console.log(this.imgList);
// });
const m = (e) => { const m = (e) => {
e.preventDefault(); e.preventDefault();
}; };
document.body.style.overflow = "hidden"; document.body.style.overflow = "hidden";
document.addEventListener("touchmove", m, false); // document.addEventListener("touchmove", m, false); //
}, },
closeImgViewer() {
this.imgViewerVisible = false;
document.body.style.overflow = "auto"; //
document.removeEventListener("touchmove", m, false); //
},
invChange() { invChange() {
@ -842,7 +838,7 @@ export default {
}, },
freshen() { freshen() {
this.Upinvoice = false; this.Upinvoice = false;
this.getBizDetailListInv(); // this.getBizDetailListInv();
}, },
printOrder(row) { printOrder(row) {
this.currentManufacturer = row; this.currentManufacturer = row;

@ -169,6 +169,7 @@ export default {
0: "草稿", 0: "草稿",
1: "未审核", 1: "未审核",
2: "已审核", 2: "已审核",
3: "已拒绝"
}, },
orderMutiVisible: false, orderMutiVisible: false,
actDateRange: [], actDateRange: [],
@ -210,7 +211,9 @@ export default {
statusFilterType(status) { statusFilterType(status) {
const statusMap = { const statusMap = {
0: "warning", 0: "warning",
1: "success", 1: "primary",
2: "success",
3: "danger"
}; };
return statusMap[status]; return statusMap[status];
}, },

@ -328,7 +328,7 @@ export default {
updateCountOrderStatus(params).then((res) => { updateCountOrderStatus(params).then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
this.$message.success("审核通过"); this.$message.success("审核通过");
this.$message.success("已驳回"); this.$message.warning("已驳回");
this.getList(); this.getList();
this.onRestDetail(); this.onRestDetail();
} else { } else {

@ -42,7 +42,7 @@
<el-table-column label="序号" type="index" width="50"></el-table-column> <el-table-column label="序号" type="index" width="50"></el-table-column>
<el-table-column label="码" prop="udiCode"></el-table-column> <el-table-column label="码" prop="udiCode"></el-table-column>
<el-table-column label="状态" width="120"> <el-table-column label="状态" width="120" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ statusMap[scope.row.status] }}</span> <span>{{ statusMap[scope.row.status] }}</span>
</template> </template>

@ -216,7 +216,6 @@ export default {
warehouseUserList(this.userQuery).then((res) => { warehouseUserList(this.userQuery).then((res) => {
this.userData = res.data.list; this.userData = res.data.list;
this.userTotal = res.data.total; this.userTotal = res.data.total;
}).catch((error) => { }).catch((error) => {
this.$message.error("数据正在处理,请勿重复提交") this.$message.error("数据正在处理,请勿重复提交")
}); });

@ -239,7 +239,14 @@ export default {
this.$message.error("请选择类型!"); this.$message.error("请选择类型!");
return; return;
} }
if (this.inputQuery.beforeTime < 0){
this.$message.error("生成出入库单时间间隔不能为负数!")
return;
}
if (this.inputQuery.busBeforeTime < 0){
this.$message.error("生成业务单时间间隔不能为负数!")
return;
}
if (this.formName === "add") { if (this.formName === "add") {
let numRegExp = '^[0-9]*$'; let numRegExp = '^[0-9]*$';
let numReg = new RegExp(numRegExp); let numReg = new RegExp(numRegExp);

@ -235,11 +235,11 @@ export default {
return; return;
} }
if (this.inputQuery.beforeTime < 0){ if (this.inputQuery.beforeTime < 0){
this.$message.error("时间间隔不能为负数!") this.$message.error("生成出入库单时间间隔不能为负数!")
return; return;
} }
if (this.inputQuery.busBeforeTime < 0){ if (this.inputQuery.busBeforeTime < 0){
this.$message.error("时间间隔不能为负数!") this.$message.error("生成业务单时间间隔不能为负数!")
return; return;
} }
// if (isBlank(this.inputQuery.invCode)) { // if (isBlank(this.inputQuery.invCode)) {

@ -1,10 +1,14 @@
<template> <template>
<div> <div>
<el-card> <el-card>
<el-form :inline="true" :model="query" size="mini"> <el-form :inline="true" :model="query" size="mini" v-show="showSearch">
<el-row>
<el-col :span="8">
<el-form-item label="用户账号:"> <el-form-item label="用户账号:">
<el-input v-model="query.userName" placeholder="用户账号" clearable></el-input> <el-input v-model="query.userName" placeholder="用户账号" clearable></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item class="query-form-item" label="账号状态:"> <el-form-item class="query-form-item" label="账号状态:">
<el-select v-model="query.userFlag" placeholder="请选择账号状态:"> <el-select v-model="query.userFlag" placeholder="请选择账号状态:">
<el-option label="全部" value=""></el-option> <el-option label="全部" value=""></el-option>
@ -12,27 +16,27 @@
<el-option label="正常" value="1"></el-option> <el-option label="正常" value="1"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> </el-col>
<el-col :span="8">
<el-form-item label="所属部门:">
<el-input v-model="query.deptName" placeholder="所属部门" clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="top-right-btn">
<el-button-group> <el-button-group>
<el-button <el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button>
type="primary" <el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
icon="el-icon-refresh" <el-button type="primary" icon="el-icon-search" @click="onSubmit"></el-button>
@click="onReset"
>重置
</el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmit"
>查询
</el-button
>
<el-button type="primary" @click.native="handleForm(null, null)" icon="el-icon-plus" <el-button type="primary" @click.native="handleForm(null, null)" icon="el-icon-plus"
:disabled="!configParms.sysUser && query.customerId == 110" :disabled="!configParms.sysUser && query.customerId == 110"
v-hasPermi="['system:user:add']" v-hasPermi="['system:user:add']">新增</el-button>
>新增
</el-button
>
</el-button-group> </el-button-group>
</el-form-item> </div>
</el-form>
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" <el-table v-loading="loading" :data="list"
style="width: 100%" style="width: 100%"
border highlight-current-row> border highlight-current-row>
@ -292,10 +296,12 @@ export default {
} }
}; };
return { return {
showSearch: true,
roles: [], roles: [],
query: { query: {
userName: "", userName: "",
userFlag: "1", userFlag: "1",
deptName: "",
page: 1, page: 1,
limit: 10, limit: 10,
roleId: "", roleId: "",
@ -363,6 +369,12 @@ export default {
}; };
}, },
methods: { methods: {
getDeptList(){
},
hideSearch() {
this.showSearch = !this.showSearch;
},
onReset() { onReset() {
this.$router.push({ this.$router.push({
path: "" path: ""
@ -370,6 +382,7 @@ export default {
this.query = { this.query = {
userName: "", userName: "",
userFlag: "1", userFlag: "1",
deptName: null,
page: 1, page: 1,
limit: 10, limit: 10,
roleId: "", roleId: "",

@ -34,8 +34,8 @@
<el-tag :type="statusFilterType(scope.row.status)">{{ status[scope.row.status] }}</el-tag> <el-tag :type="statusFilterType(scope.row.status)">{{ status[scope.row.status] }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="下载次数" prop="dlCount" show-overflow-tooltip> <el-table-column label="下载次数" prop="dlCount" show-overflow-tooltip></el-table-column>
</el-table-column> <el-table-column label="下载信息" prop="remark" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" width="120"> <el-table-column label="操作" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click.native.stop="downloadExcel(scope.row)">下载 <el-button type="text" @click.native.stop="downloadExcel(scope.row)">下载

@ -113,7 +113,7 @@ import {getInvbasdoc} from "@/api/thrsys/getErps";
import {getBasicThirdSys, filterDetailByKey} from "@/api/thrsys/basicThirdSys"; import {getBasicThirdSys, filterDetailByKey} from "@/api/thrsys/basicThirdSys";
import {selectIp} from "@/api/system/systemParamConfig"; import {selectIp} from "@/api/system/systemParamConfig";
import thrProductsDetail from "./thrProductsDetail"; import thrProductsDetail from "./thrProductsDetail";
import {exportExcel} from "@/api/thrsys/thrProductsExport" import {exportExcel,exportExcelAll} from "@/api/thrsys/thrProductsExport"
import {thrProductUpload} from "@/api/thrsys/smp" import {thrProductUpload} from "@/api/thrsys/smp"
export default { export default {
@ -155,6 +155,7 @@ export default {
}, },
thrProductsDetailVisible: false, thrProductsDetailVisible: false,
thisData: null, thisData: null,
multipleSelection: []
}; };
}, },
@ -395,11 +396,32 @@ export default {
selectData.forEach((obj) => { selectData.forEach((obj) => {
this.filterQuery.thrProductsEntities.push(obj); this.filterQuery.thrProductsEntities.push(obj);
}); });
this.allExport(); exportExcel(this.filterQuery)
.then((response) => {
if (response.code == 20000) {
this.$message({
type: "success",
message: "导出成功后台正在生成Json文件请稍后刷新查看",
});
this.$emit("cancelDialog", true);
} else {
this.$message({
type: "error",
message: response.message,
});
this.$emit("cancelDialog", true);
}
})
.catch(() => {
this.$message({
type: "error",
message: "上传失败",
});
});
}, },
allExport() { allExport() {
this.filterQuery.thrProductsEntities=this.list; this.filterQuery.thrProductsEntities=this.list;
exportExcel(this.filterQuery) exportExcelAll(this.filterQuery)
.then((response) => { .then((response) => {
if (response.code == 20000) { if (response.code == 20000) {
this.$message({ this.$message({

Loading…
Cancel
Save