Commit ee083724 authored by 柳 佳乐's avatar 柳 佳乐
Browse files

20221115

parent 43dd450d
...@@ -3,7 +3,7 @@ ENV = 'development' ...@@ -3,7 +3,7 @@ ENV = 'development'
# base api 后端url # base api 后端url
#VUE_APP_BASE_API = 'http://192.168.10.107:7080' #VUE_APP_BASE_API = 'http://192.168.10.107:7080'
#VUE_APP_BASE_API = 'http://192.168.10.109:11523' VUE_APP_BASE_API = 'http://192.168.10.109:11523'
VUE_APP_BASE_API = 'http://www.aishuhong.com:11549/prod-api/' #VUE_APP_BASE_API = 'http://www.aishuhong.com:11549/prod-api/'
#VUE_APP_BASE_API = 'http://192.168.31.100:7081' #VUE_APP_BASE_API = 'http://192.168.31.100:7081'
...@@ -72,7 +72,7 @@ export function chinaIdentityValid(rule, value, callback) { ...@@ -72,7 +72,7 @@ export function chinaIdentityValid(rule, value, callback) {
callback() callback()
} }
//银行卡号检测 //银行卡号检测
export function bankAccountValid (rule, value, callback) { export function bankAccountValid(rule, value, callback) {
const strBin = '10,18,30,35,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,60,62,65,68,69,84,87,88,94,95,98,99' const strBin = '10,18,30,35,37,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,58,60,62,65,68,69,84,87,88,94,95,98,99'
if (!value) { if (!value) {
return callback(new Error('收款账户不能为空')) return callback(new Error('收款账户不能为空'))
...@@ -87,44 +87,39 @@ export function bankAccountValid (rule, value, callback) { ...@@ -87,44 +87,39 @@ export function bankAccountValid (rule, value, callback) {
} }
} }
// 电话号码验证 // 电话号码验证
export function checkPhone (rule, value, callback) { export function checkPhone(rule, value, callback) {
if (!value) { if (!value) {
console.log(1) console.log(1)
return callback(new Error('手机号不能为空')); return callback(new Error('手机号不能为空'));
} else { } else {
const reg = /(^1\d{10}$)|(^[0-9]\d{7}$)/ const reg = /(^1\d{10}$)|(^[0-9]\d{7}$)/
if (!reg.test(value)) { if (!reg.test(value)) {
callback(new Error('手机号格式不对')); callback(new Error('手机号格式不对'));
}else{ } else {
callback(); callback();
} }
} }
}; };
//路径校验 //路径校验
export function pathValid (rule, value, callback) { export function pathValid(rule, value, callback) {
const RegExp = /^\/.*/ const RegExp = /^\/.*/
if(!value) { if (!value) {
return callback(new Error('路劲不能为空')) return callback(new Error('路劲不能为空'))
}else if(!RegExp.test(value)){ } else if (!RegExp.test(value)) {
callback(new Error("路径必须已‘/’开头")) callback(new Error("路径必须已‘/’开头"))
}else{ } else {
callback(); callback();
} }
} }
//定义金额校验 //定义金额校验
export function money(rule, value, callback) { export function money(rule, value, callback) {
<<<<<<< HEAD
let RegExp = /(^([-]?)[1-9]([0-9]+)?(\.[0-9]{1,6})?$)|(^([-]?)(0){1}$)|(^([-]?)[0-9]\.[0-9]([0-9])?$)/; let RegExp = /(^([-]?)[1-9]([0-9]+)?(\.[0-9]{1,6})?$)|(^([-]?)(0){1}$)|(^([-]?)[0-9]\.[0-9]([0-9])?$)/;
if (RegExp.test(value)) { if (value === null || value === undefined || value === '') {
=======
let RegExp = /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$/;
if(value === null || value === undefined || value === '') {
callback(new Error('金额不能为空')) callback(new Error('金额不能为空'))
}else if (RegExp.test(value)) { } else if (RegExp.test(value)) {
>>>>>>> 4d6bb737cd8f5c1dac548efd85ccb5f2d8bff4da
callback(); callback();
} else { } else {
callback(new Error("金额格式错误")); callback(new Error("金额格式错误"));
...@@ -132,25 +127,47 @@ export function money(rule, value, callback) { ...@@ -132,25 +127,47 @@ export function money(rule, value, callback) {
}; };
//校验账号密码,只允许数字和字母 //校验账号密码,只允许数字和字母
export function account_password_valid(rule, value, callback){ export function account_password_valid(rule, value, callback) {
let reg = /^[a-zA-Z0-9]*$/ let reg = /^[a-zA-Z0-9]*$/
if(value === null || value === undefined || value === '') { if (value === null || value === undefined || value === '') {
callback(new Error('请填写正确信息,不能为空')) callback(new Error('请填写正确信息,不能为空'))
}else if (reg.test(value)) { } else if (reg.test(value)) {
callback(); callback();
} else { } else {
callback(new Error("格式错误,只允许输入数字和字母")); callback(new Error("格式错误,只允许输入数字和字母"));
} }
} }
//只允许数字 //只允许数字
export function number_valid(rule, value, callback){ export function number_valid(rule, value, callback) {
let reg = /^[0-9]*$/ let reg = /^[0-9]*$/
if(value === null || value === undefined || value === '') { if (value === null || value === undefined || value === '') {
return callback(new Error('不能为空')) return callback(new Error('不能为空'))
}else if (reg.test(value)) { } else if (reg.test(value)) {
callback(); callback();
} else { } else {
callback(new Error("只允许输入数字")); callback(new Error("只允许输入数字"));
} }
} }
\ No newline at end of file //发票号码
export function Invoice_No(rule, value, callback) {
let reg = /^\d{8,}$/
if (value === null || value === undefined || value === '') {
return callback(new Error('不能为空'))
} else if (reg.test(value)) {
callback();
} else {
callback(new Error("输入数字格式为8位数字"));
}
}
//发票代码
export function Invoice_code(rule, value, callback) {
let reg = /^\d{12,}$/
if (value === null || value === undefined || value === '') {
return callback(new Error('不能为空'))
} else if (reg.test(value)) {
callback();
} else {
callback(new Error("输入数字格式为8位数字"));
}
}
<template> <template>
<div class="container"> <div class="container">
<!-- 搜索区域 -->
<div class="container_top">
<el-form :inline="true" class="demo-form-inline" :model="queryitem">
<el-form-item label="项目名称:">
<el-input
placeholder="请输入"
v-model="queryitem.projectName"
></el-input>
</el-form-item>
<el-form-item label="报销人:">
<el-input
placeholder="请输入"
v-model="queryitem.userName"
></el-input>
</el-form-item>
<el-form-item label="审批状态:">
<el-select
placeholder="请选择"
v-model="queryitem.tripStatus"
>
<el-option label="待审批" value="0"></el-option>
<el-option label="小组长通过" value="1"></el-option>
<el-option label="小组长驳回" value="2"></el-option>
<el-option label="财务通过" value="3"></el-option>
<el-option label="财务驳回" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="onSubmit()"
>查询</el-button
>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-refresh-right"
@click="reset()"
>重置</el-button
>
</el-form-item>
</el-form>
</div>
<!-- 表格内容区域 --> <!-- 表格内容区域 -->
<div class="total_content"> <div class="total_content">
<el-table :data="tableData" style="width: 100%" border> <el-table :data="tableData" style="width: 100%" border>
...@@ -167,8 +209,8 @@ ...@@ -167,8 +209,8 @@
<el-table-column align="center" label="操作"> <el-table-column align="center" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.tripStatus == 1"> <div v-if="scope.row.tripStatus == 1">
<el-button type="primary" @click="agreeandrefuse(scope.row)" <el-button type="primary" size="mini" @click="agreeandrefuse(scope.row)"
>同意驳回</el-button >同意驳回</el-button
> >
</div> </div>
<div <div
...@@ -331,7 +373,7 @@ ...@@ -331,7 +373,7 @@
</el-form> </el-form>
</el-drawer> </el-drawer>
</div> </div>
<!-- 同意驳回 --> <!-- 同意驳回 -->
<el-drawer <el-drawer
title="核实金额" title="核实金额"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
...@@ -436,10 +478,10 @@ ...@@ -436,10 +478,10 @@
<el-descriptions-item label="随从人员"> <el-descriptions-item label="随从人员">
<span <span
v-for="item in financelistData.entouragelist" v-for="item in financelistData.entouragelist"
:key="item.tripId" :key="item.id"
style="margin: 0px 5px" style="margin: 0px 5px"
> >
{{ item.userName }} {{ item.personnelName }}
</span> </span>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
...@@ -503,14 +545,6 @@ ...@@ -503,14 +545,6 @@
:direction="direction" :direction="direction"
size="50%" size="50%"
> >
<!-- <el-button
type="primary"
style="margin-left: 5%; margin: 30px 50px"
:disabled="disabled"
@click="updatecard"
>添加附件</el-button
> -->
<el-card <el-card
class="box-card" class="box-card"
style="width: 90%; margin-left: 5%; margin-top: 20px" style="width: 90%; margin-left: 5%; margin-top: 20px"
...@@ -518,13 +552,13 @@ ...@@ -518,13 +552,13 @@
> >
<el-row class="row-bg"> <el-row class="row-bg">
<div <div
v-for="index in queryDTOList" v-for="item in queryDTOList"
:key="index.enclosureId" :key="item.enclosureId"
class="lsitall" class="lsitall"
> >
<el-col :span="10"> <el-col :span="10">
<div style="margin-top: 6px; margin-left: 40px"> <div style="margin-top: 6px; margin-left: 40px">
附件{{ index.enclosureId }} 附件{{ item.enclosureId }}
</div> </div>
</el-col> </el-col>
<el-col :span="12" style="margin-left: -50px"> <el-col :span="12" style="margin-left: -50px">
...@@ -534,89 +568,13 @@ ...@@ -534,89 +568,13 @@
class="a-style" class="a-style"
size="mini" size="mini"
style="font-size: 13px" style="font-size: 13px"
@click="delProject(index)" @click="delProject(item)"
>下载</el-button >下载</el-button
> >
<!-- <el-popover placement="top" width="160" v-model="index.visible">
<p>确定要删除此条附件吗</p>
<div style="text-align: right; margin: 0">
<el-button
size="mini"
type="text"
@click="index.visible = false"
>取消</el-button
>
<el-button
type="primary"
size="mini"
@click="deleteProject(index)"
>确定</el-button
>
</div>
<el-button
type="danger"
icon="el-icon-delete"
class="a-style"
size="mini "
style="font-size: 13px"
slot="reference"
>删除</el-button
>
</el-popover> -->
</el-col> </el-col>
</div> </div>
</el-row> </el-row>
</el-card> </el-card>
<!-- 附件上传 -->
<!-- <el-card
class="box-card"
style="width: 90%; margin-left: 5%; margin-top: 20px"
v-show="getshow == 0"
>
<div style="width: 60%; margin-left: 30px">
<el-input
type="textarea"
:rows="2"
placeholder="请输入附件详情"
v-model="proutlist1.enclosureDescribe"
style="margin: 20px 0px"
></el-input>
<el-upload
class="upload-demo"
ref="upload1"
drag
:action="action1"
:file-list="fileList1"
:on-remove="delfile1"
:auto-upload="false"
:on-change="onChangepdf"
:on-success="Refresh"
:data="proutlist1"
multiple
style="margin: 20px 0px"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处,或
<em>点击上传附件</em>
</div>
<div class="el-upload__tip" slot="tip">
只能上传文件,且不超过500kb
</div>
</el-upload>
</div>
<div style="margin-left: 75%">
<el-button @click="remove()">取 消</el-button>
<el-button
type="primary"
@click="determine()"
style="margin-top: 20px"
>确 定</el-button
>
</div>
</el-card> -->
<div class="box-card" v-show="getshow == 3"></div> <div class="box-card" v-show="getshow == 3"></div>
</el-drawer> </el-drawer>
</div> </div>
...@@ -641,6 +599,9 @@ export default { ...@@ -641,6 +599,9 @@ export default {
data() { data() {
return { return {
queryitem: { queryitem: {
projectName: null,
userName: null,
tripStatus: null,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
companyId: null, companyId: null,
...@@ -656,7 +617,7 @@ export default { ...@@ -656,7 +617,7 @@ export default {
tableData: [], tableData: [],
// 随从人员 // 随从人员
entouragelist: [], entouragelist: [],
// 同意驳回 // 同意驳回
agreeOrapproval: { agreeOrapproval: {
tripId: null, tripId: null,
tripStatus: 0, //状态 tripStatus: 0, //状态
...@@ -670,6 +631,7 @@ export default { ...@@ -670,6 +631,7 @@ export default {
drawer: false, drawer: false,
paramlist: {}, paramlist: {},
financelistData: {}, financelistData: {},
getinvoivelist: [],
rules: { rules: {
verifyTotalAmountLarge: [ verifyTotalAmountLarge: [
{ {
...@@ -679,7 +641,10 @@ export default { ...@@ -679,7 +641,10 @@ export default {
}, },
], ],
verifyTotalAmountSmall: [ verifyTotalAmountSmall: [
{ required: true, validator: money, trigger: "blur" }, {
validator: money,
trigger: "blur",
},
], ],
}, },
...@@ -728,7 +693,6 @@ export default { ...@@ -728,7 +693,6 @@ export default {
queryBypagefinance(this.queryitem) queryBypagefinance(this.queryitem)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
console.log(res);
this.total = res.data.total; this.total = res.data.total;
this.tableData = res.data.list; this.tableData = res.data.list;
res.data.list.forEach((item) => { res.data.list.forEach((item) => {
...@@ -756,6 +720,25 @@ export default { ...@@ -756,6 +720,25 @@ export default {
this.financelistData = data; this.financelistData = data;
this.dialogVisible = true; this.dialogVisible = true;
}, },
// 搜索
onSubmit() {
this.queryitem.pageNum = 1;
this.getpagelist();
},
// 重置
reset() {
this.queryitem = {
projectName: null,
userName: null,
tripStatus: null,
pageNum: 1,
pageSize: 10,
companyId: null,
};
// 获取 companyId
this.queryitem.companyId = this.$store.getters.companyId;
this.getpagelist();
},
// 查看详情 // 查看详情
getdetails(data) { getdetails(data) {
this.drawer = true; this.drawer = true;
...@@ -775,7 +758,6 @@ export default { ...@@ -775,7 +758,6 @@ export default {
this.agreeOrapproval.tripStatus = 3; this.agreeOrapproval.tripStatus = 3;
this.agreeOrapproval.tripId = this.financelistData.tripId; this.agreeOrapproval.tripId = this.financelistData.tripId;
this.agreeOrapproval.financeTime = this.time(); this.agreeOrapproval.financeTime = this.time();
console.log(this.agreeOrapproval);
finApproval(this.agreeOrapproval) finApproval(this.agreeOrapproval)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
...@@ -804,37 +786,49 @@ export default { ...@@ -804,37 +786,49 @@ export default {
}, },
// 驳回 // 驳回
refuse() { refuse() {
this.$prompt("驳回理由", "提示", { this.$refs.form.validate((valid) => {
confirmButtonText: "确定", if (valid) {
cancelButtonText: "取消", this.$prompt("驳回理由", "提示", {
type: "warning", confirmButtonText: "确定",
}) cancelButtonText: "取消",
.then((value) => { inputErrorMessage: "驳回理由必填!",
this.agreeOrapproval.financeId = this.$store.getters.urId; type: "warning",
this.agreeOrapproval.finaceRefute = value.value; inputValidator: (value) => {
this.agreeOrapproval.tripStatus = 4; if (value) {
this.agreeOrapproval.tripId = this.financelistData.tripId; return true;
this.agreeOrapproval.financeTime = this.time();
finApproval(this.agreeOrapproval)
.then((res) => {
if (res.success) {
this.$message.success("操作成功");
this.getpagelist();
} else { } else {
this.$message.error(res.msg); return false;
} }
},
})
.then((value) => {
this.agreeOrapproval.financeId = this.$store.getters.urId;
this.agreeOrapproval.finaceRefute = value.value;
this.agreeOrapproval.tripStatus = 4;
this.agreeOrapproval.tripId = this.financelistData.tripId;
this.agreeOrapproval.financeTime = this.time();
finApproval(this.agreeOrapproval)
.then((res) => {
if (res.success) {
this.$message.success("操作成功");
this.getpagelist();
} else {
this.$message.error(res.msg);
}
})
.catch((error) => {
this.$message.error("操作失败");
});
this.dialogVisible = false;
}) })
.catch((error) => { .catch(() => {
this.$message.error("操作失败"); this.$message({
type: "info",
message: "取消操作",
});
}); });
this.dialogVisible = false; }
}) });
.catch(() => {
this.$message({
type: "info",
message: "取消操作",
});
});
}, },
//时间处理 yyyy-MM-dd hh:mm:ss //时间处理 yyyy-MM-dd hh:mm:ss
time() { time() {
...@@ -874,7 +868,6 @@ export default { ...@@ -874,7 +868,6 @@ export default {
this.getinvoivelist.forEach((e) => { this.getinvoivelist.forEach((e) => {
e.filePath = process.env.VUE_APP_BASE_API + e.filePath; e.filePath = process.env.VUE_APP_BASE_API + e.filePath;
}); });
// console.log(this.getinvoivelist);
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
this.back(); this.back();
...@@ -1024,59 +1017,9 @@ export default { ...@@ -1024,59 +1017,9 @@ export default {
a.click(); // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了 a.click(); // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
a.remove(); // 一次性的,用完就删除a标签 a.remove(); // 一次性的,用完就删除a标签
}, },
//显示添加附件
// updatecard() {
// this.getshow = 0;
// this.disabled = true;
// this.delfile1();
// },
//删除附件
// deleteProject(row) {
// deleteById(row)
// .then((res) => {
// if (res.success) {
// this.selectImage(row);
// this.$message({
// message: "删除成功",
// type: "success",
// });
// this.visible = false;
// console.log(res.msg);
// }
// })
// .catch((errror) => {
// this.$message.error(res.msg);
// });
// },
//清除附件文件
// delfile1(file) {
// this.fileList1 = this.fileList1.filter((item) => item.uid !== file.uid);
// this.fileTypepdf = false;
// this.proutlist1.enclosureDescribe = "";
// },
//确定提交附件
// determine() {
// //判断是否有附件文件
// if (this.fileTypepdf) {
// this.proutlist1.userId = this.$store.getters.urId;
// this.proutlist1.companyId = this.$store.getters.companyId;
// this.$refs.upload1.submit();
// this.getshow = 1; //隐藏与显示
// this.disabled = false;
// this.$message({
// showClose: true,
// message: "上传附件成功",
// type: "success",
// });
// this.Refresh();
// } else {
// this.$message.error("请添加附件,在进行提交");
// }
// },
//刷新附件 //刷新附件
Refresh() { Refresh() {
this.queryDTO.tripId = this.proutlist1.Id; this.queryDTO.tripId = this.proutlist1.Id;
console.log(this.proutlist1.Id);
selectByIdF(this.queryDTO) selectByIdF(this.queryDTO)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
...@@ -1090,33 +1033,6 @@ export default { ...@@ -1090,33 +1033,6 @@ export default {
this.$message.error("获取附件文件失败"); this.$message.error("获取附件文件失败");
}); });
}, },
//附件取消
// remove() {
// if (this.queryDTOList.length > 0) {
// this.getshow = 1;
// this.disabled = false;
// this.backii();
// this.delfile1();
// } else {
// this.getshow = 3;
// this.disabled = false;
// this.backii();
// this.delfile1();
// }
// },
//附件文件校验
// onChangepdf(file) {
// console.log(this.proutlist1);
// const fileNamepdf = file.name;
// let fileType = fileNamepdf.substring(fileNamepdf.lastIndexOf("."));
// if (fileType != "") {
// this.fileTypepdf = true;
// } else {
// this.$message.warning("附件只能只能上传文件");
// this.$refs.upload1.clearFiles();
// this.fileTypepdf = false;
// }
// },
//判断图片与pdf显示与隐藏 //判断图片与pdf显示与隐藏
fromgetlist(row) { fromgetlist(row) {
...@@ -1135,7 +1051,6 @@ export default { ...@@ -1135,7 +1051,6 @@ export default {
//跳转修改 //跳转修改
Agrt(row) { Agrt(row) {
const photopath = row.filePath; const photopath = row.filePath;
console.log(photopath);
window.open(photopath, "_blank"); window.open(photopath, "_blank");
}, },
}, },
...@@ -1143,6 +1058,9 @@ export default { ...@@ -1143,6 +1058,9 @@ export default {
</script> </script>
<style scoped> <style scoped>
.container_top {
padding: 15px;
}
.total_content { .total_content {
padding: 15px; padding: 15px;
} }
......
<template> <template>
<div class="container"> <div class="container">
<!-- 搜索区域 -->
<div class="container_top">
<el-form :inline="true" class="demo-form-inline" :model="queryitem">
<el-form-item label="项目名称:">
<el-input
placeholder="请输入"
v-model="queryitem.projectName"
></el-input>
</el-form-item>
<el-form-item label="报销人:">
<el-input
placeholder="请输入"
v-model="queryitem.userName"
></el-input>
</el-form-item>
<el-form-item label="审批状态:">
<el-select
placeholder="请选择"
v-model="queryitem.tripStatus"
>
<el-option label="待审批" value="0"></el-option>
<el-option label="小组长通过" value="1"></el-option>
<el-option label="小组长驳回" value="2"></el-option>
<el-option label="财务通过" value="3"></el-option>
<el-option label="财务驳回" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="onSubmit"
>查询</el-button
>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-refresh-right"
@click="reset()"
>重置</el-button
>
</el-form-item>
</el-form>
</div>
<!-- 表格内容区域 --> <!-- 表格内容区域 -->
<div class="total_content"> <div class="total_content">
<el-table :data="tableData" style="width: 100%" border> <el-table :data="tableData" style="width: 100%" border>
...@@ -336,7 +378,6 @@ ...@@ -336,7 +378,6 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-drawer> </el-drawer>
<!-- 附件的下载与添加 --> <!-- 附件的下载与添加 -->
<div> <div>
<el-drawer <el-drawer
...@@ -345,14 +386,6 @@ ...@@ -345,14 +386,6 @@
:direction="direction" :direction="direction"
size="50%" size="50%"
> >
<!-- <el-button
type="primary"
style="margin-left: 5%; margin: 30px 50px"
:disabled="disabled"
@click="updatecard"
>添加附件</el-button
> -->
<el-card <el-card
class="box-card" class="box-card"
style="width: 90%; margin-left: 5%; margin-top: 20px" style="width: 90%; margin-left: 5%; margin-top: 20px"
...@@ -379,33 +412,6 @@ ...@@ -379,33 +412,6 @@
@click="delProject(index)" @click="delProject(index)"
>下载</el-button >下载</el-button
> >
<!-- <el-popover placement="top" width="160" v-model="index.visible">
<p>确定要删除此条附件吗</p>
<div style="text-align: right; margin: 0">
<el-button
size="mini"
type="text"
@click="index.visible = false"
>取消</el-button
>
<el-button
type="primary"
size="mini"
@click="deleteProject(index)"
>确定</el-button
>
</div>
<el-button
type="danger"
icon="el-icon-delete"
class="a-style"
size="mini "
style="font-size: 13px"
slot="reference"
>删除</el-button
>
</el-popover> -->
</el-col> </el-col>
</div> </div>
</el-row> </el-row>
...@@ -483,6 +489,9 @@ export default { ...@@ -483,6 +489,9 @@ export default {
return { return {
total: null, total: null,
queryitem: { queryitem: {
projectName: null,
userName: null,
tripStatus: null,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
userId: null, userId: null,
...@@ -493,15 +502,15 @@ export default { ...@@ -493,15 +502,15 @@ export default {
entouragelist: [], entouragelist: [],
drawer: false, drawer: false,
paramlist: {}, paramlist: {},
// 同意驳回 // 同意驳回
agreeOrapproval: { agreeOrapproval: {
tripStatus: 0, //状态 tripStatus: 0, //状态
headmanId: null, // userid headmanId: null, // userid
headmanTime: "", headmanTime: "",
headmanRefute: "", headmanRefute: "",
tripId: null, tripId: null,
}, },
getinvoivelist: [],
invoiceShow: false, invoiceShow: false,
//查询图片给的值 //查询图片给的值
getinvoiveId: { getinvoiveId: {
...@@ -554,7 +563,6 @@ export default { ...@@ -554,7 +563,6 @@ export default {
queryByheadman(this.queryitem) queryByheadman(this.queryitem)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
console.log(res);
this.total = res.data.total; this.total = res.data.total;
this.tableData = res.data.list; this.tableData = res.data.list;
res.data.list.forEach((item) => { res.data.list.forEach((item) => {
...@@ -578,11 +586,31 @@ export default { ...@@ -578,11 +586,31 @@ export default {
this.$message.error("查询失败"); this.$message.error("查询失败");
}); });
}, },
// 搜索
onSubmit() {
this.queryitem.pageNum = 1;
this.getpagelist();
},
// 重置
reset() {
this.queryitem = {
projectName: null,
userName: null,
tripStatus: null,
pageNum: 1,
pageSize: 10,
userId: null,
};
// 获取 userId
this.queryitem.userId = this.$store.getters.urId;
this.getpagelist();
},
// 同意 // 同意
agree(data) { agree(data) {
this.$confirm("是否同意此报销单?, 是否继续?", "提示", { this.$confirm("是否同意此报销单?, 是否继续?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning", type: "warning",
}) })
.then(() => { .then(() => {
...@@ -590,7 +618,6 @@ export default { ...@@ -590,7 +618,6 @@ export default {
this.agreeOrapproval.tripStatus = 1; this.agreeOrapproval.tripStatus = 1;
this.agreeOrapproval.tripId = data.tripId; this.agreeOrapproval.tripId = data.tripId;
this.agreeOrapproval.headmanTime = this.time(); this.agreeOrapproval.headmanTime = this.time();
console.log(this.agreeOrapproval);
Approval(this.agreeOrapproval) Approval(this.agreeOrapproval)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
...@@ -599,7 +626,6 @@ export default { ...@@ -599,7 +626,6 @@ export default {
message: "同意成功!", message: "同意成功!",
}); });
this.getpagelist(); this.getpagelist();
console.log(data);
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
...@@ -620,7 +646,15 @@ export default { ...@@ -620,7 +646,15 @@ export default {
this.$prompt("驳回理由", "提示", { this.$prompt("驳回理由", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
inputErrorMessage: "驳回理由必填!",
type: "warning", type: "warning",
inputValidator: (value) => {
if (value) {
return true;
} else {
return false;
}
},
}) })
.then((value) => { .then((value) => {
this.agreeOrapproval.headmanId = data.userId; this.agreeOrapproval.headmanId = data.userId;
...@@ -633,7 +667,6 @@ export default { ...@@ -633,7 +667,6 @@ export default {
if (res.success) { if (res.success) {
this.$message.success("操作成功"); this.$message.success("操作成功");
this.getpagelist(); this.getpagelist();
console.log(data);
} else { } else {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
...@@ -744,7 +777,6 @@ export default { ...@@ -744,7 +777,6 @@ export default {
//刷新附件 //刷新附件
Refresh() { Refresh() {
this.queryDTO.tripId = this.proutlist1.Id; this.queryDTO.tripId = this.proutlist1.Id;
console.log(this.proutlist1.Id);
selectByIdF(this.queryDTO) selectByIdF(this.queryDTO)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
...@@ -775,7 +807,6 @@ export default { ...@@ -775,7 +807,6 @@ export default {
//跳转修改 //跳转修改
Agrt(row) { Agrt(row) {
const photopath = row.filePath; const photopath = row.filePath;
console.log(photopath);
window.open(photopath, "_blank"); window.open(photopath, "_blank");
}, },
}, },
...@@ -783,6 +814,9 @@ export default { ...@@ -783,6 +814,9 @@ export default {
</script> </script>
<style scoped> <style scoped>
.container_top {
padding: 15px;
}
.total_content { .total_content {
padding: 15px; padding: 15px;
} }
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
ref="ruleform" ref="ruleform"
:model="spendreimbursementform" :model="spendreimbursementform"
label-width="120px" label-width="120px"
:label-position="labelPosition"
:rules="rules" :rules="rules"
> >
<el-main> <el-main>
...@@ -194,7 +193,7 @@ ...@@ -194,7 +193,7 @@
v-model="spendreimbursementform.fromList" v-model="spendreimbursementform.fromList"
multiple multiple
filterable filterable
allow-create
default-first-option default-first-option
placeholder="请选择" placeholder="请选择"
> >
...@@ -232,43 +231,47 @@ ...@@ -232,43 +231,47 @@
<!-- 对话框1 --> <!-- 对话框1 -->
<el-dialog title="选择随行人员" :visible.sync="dialogFormVisible"> <el-dialog title="选择随行人员" :visible.sync="dialogFormVisible">
<!-- --> <!-- -->
<el-form :model="peopleList" :inline="true"> <el-form :model="peopleList">
<el-row <el-row
v-for="(item, index) in peopleList.insertBatch" v-for="(item, index) in peopleList.insertBatch"
:key="index" :key="index"
> >
<el-col :span="32"> <el-form-item
<el-form-item :label="'姓名' + (index + 1)"
:label="'姓名' + (index + 1)" :prop="'insertBatch.' + index + '.personnelName'"
:prop="'peopleList.insertBatch.' + index" :rules="{
> required: true,
<el-row> message: '姓名不能为空',
<el-col :span="12" trigger: 'blur',
><div class="grid-content bg-purple"> }"
<el-input >
v-model="item.personnelName" <el-col :span="8"
></el-input></div ><div class="grid-content bg-purple-light">
></el-col> <el-input
<el-col :span="12" v-model.trim="item.personnelName"
><div ></el-input></div
class="grid-content bg-purple-light" ></el-col>
style="margin: 0px 5px" <el-col :span="3"
> ><div class="grid-content bg-purple">
<el-button @click.prevent="removeDomain(item)" <el-button
>删除</el-button style="margin-left: 5px"
> :disabled="deletestaus"
<el-button @click="addDomain">新增类型</el-button> @click.prevent="removeDomain(item)"
</div></el-col >删除</el-button
> >
</el-row> </div></el-col
</el-form-item> >
</el-col> <el-col :span="6"
><div class="grid-content bg-purple-light">
<el-button @click="addDomain">新增人员</el-button>
</div></el-col
>
</el-form-item>
</el-row> </el-row>
</el-form> </el-form>
<!-- --> <!-- -->
<!-- 操作 --> <!-- 操作 -->
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<button @click="btn">测试</button>
<el-button @click="dialogFormVisible = false">取 消</el-button> <el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogFormVisible = false" <el-button type="primary" @click="dialogFormVisible = false"
>确 定</el-button >确 定</el-button
...@@ -298,6 +301,7 @@ import { selectProjectpeople } from "@/api/spendreimbursement.js"; ...@@ -298,6 +301,7 @@ import { selectProjectpeople } from "@/api/spendreimbursement.js";
import { insertId } from "@/api/spendreimbursement.js"; import { insertId } from "@/api/spendreimbursement.js";
import { Addinvoice } from "@/api/spendreimbursement.js"; import { Addinvoice } from "@/api/spendreimbursement.js";
import { selectAllBystatus } from "@/api/project"; import { selectAllBystatus } from "@/api/project";
import { money } from "@/utils/myValidate";
export default { export default {
created() { created() {
this.Typeitem.companyId = this.$store.getters.companyId; this.Typeitem.companyId = this.$store.getters.companyId;
...@@ -311,15 +315,6 @@ export default { ...@@ -311,15 +315,6 @@ export default {
this.reimebursementprojectpeopleItem(); this.reimebursementprojectpeopleItem();
}, },
data() { data() {
var moneyrow = (rule, value, callback) => {
let RegExp =
/(^([-]?)[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^([-]?)(0){1}$)|(^([-]?)[0-9]\.[0-9]([0-9])?$)/;
if (RegExp.test(value)) {
callback();
} else {
callback(new Error("金额格式错误"));
}
};
return { return {
dialogFormVisible: false, dialogFormVisible: false,
labelPosition: "left", labelPosition: "left",
...@@ -393,6 +388,7 @@ export default { ...@@ -393,6 +388,7 @@ export default {
// 收集随从人员进行展示 // 收集随从人员进行展示
collectProjectpeople: [], collectProjectpeople: [],
getinvoivelist: [], getinvoivelist: [],
deletestaus: true,
// 验证规则 // 验证规则
rules: { rules: {
fromList: [ fromList: [
...@@ -417,8 +413,7 @@ export default { ...@@ -417,8 +413,7 @@ export default {
transitPlace: [{ required: true, message: "此项不能为空!" }], transitPlace: [{ required: true, message: "此项不能为空!" }],
applyTotalAmountLarge: [{ required: true, message: "此项不能为空!" }], applyTotalAmountLarge: [{ required: true, message: "此项不能为空!" }],
applyTotalAmountSmall: [ applyTotalAmountSmall: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
applyTime: [ applyTime: [
{ {
...@@ -430,36 +425,28 @@ export default { ...@@ -430,36 +425,28 @@ export default {
planeTicket: [{ required: true, message: "此项不能为空!" }], planeTicket: [{ required: true, message: "此项不能为空!" }],
vehicle: [{ required: true, message: "此项不能为空!" }], vehicle: [{ required: true, message: "此项不能为空!" }],
foodAllowance: [ foodAllowance: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
publicMiscellaneousSubsidy: [ publicMiscellaneousSubsidy: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
tripCost: [ tripCost: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
planeTicket: [ planeTicket: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
trafficCost: [ trafficCost: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
lodgingCost: [ lodgingCost: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
insuranceCost: [ insuranceCost: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
otherCost: [ otherCost: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
remarks: [{ required: true, message: "此项不能为空!" }], remarks: [{ required: true, message: "此项不能为空!" }],
...@@ -481,20 +468,6 @@ export default { ...@@ -481,20 +468,6 @@ export default {
}; };
}, },
methods: { methods: {
// 这是测试的数据
btn() {
console.log(this.peopleList.insertBatch);
},
btn2() {
this.spendreimbursementform.fromList.forEach((e) => {
let obj = {};
obj.companyId = this.$store.getters.companyId;
obj.status = 1;
obj.invoiceId = e;
this.form.push(obj);
});
console.log(this.form);
},
//查询发票编号 //查询发票编号
Selectinsertlsit() { Selectinsertlsit() {
let param = { let param = {
...@@ -533,10 +506,8 @@ export default { ...@@ -533,10 +506,8 @@ export default {
this.peopleList.insertBatch.forEach((e) => { this.peopleList.insertBatch.forEach((e) => {
let obj = {}; let obj = {};
obj.personnelName = e.personnelName; obj.personnelName = e.personnelName;
obj.tripId = res.data;
addpeopleList.push(obj1, obj); addpeopleList.push(obj1, obj);
}); });
console.log(addpeopleList);
// 第二个方法 添加随从人员 // 第二个方法 添加随从人员
insertId(addpeopleList) insertId(addpeopleList)
...@@ -564,6 +535,7 @@ export default { ...@@ -564,6 +535,7 @@ export default {
.then((resu) => { .then((resu) => {
if (resu.success) { if (resu.success) {
this.$message.success("添加成功!"); this.$message.success("添加成功!");
this.back();
} else { } else {
this.$message.error(resu.msg); this.$message.error(resu.msg);
} }
...@@ -586,6 +558,7 @@ export default { ...@@ -586,6 +558,7 @@ export default {
}, },
// //
addDomain() { addDomain() {
this.deletestaus = false;
this.peopleList.insertBatch.push({ this.peopleList.insertBatch.push({
personnelName: "", personnelName: "",
tripId: null, tripId: null,
...@@ -643,6 +616,8 @@ export default { ...@@ -643,6 +616,8 @@ export default {
}, },
// 弹窗按钮 // 弹窗按钮
addBtn1() { addBtn1() {
this.peopleList.insertBatch = [0];
this.deletestaus = true;
this.dialogFormVisible = true; this.dialogFormVisible = true;
}, },
// 开关选项 // 开关选项
...@@ -665,13 +640,17 @@ export default { ...@@ -665,13 +640,17 @@ export default {
let time = this.timestampToTime(val); let time = this.timestampToTime(val);
this.spendreimbursementform.applyTime = time; this.spendreimbursementform.applyTime = time;
} }
}, // 计算天数 },
// 计算天数
DateDiff(sDate1, sDate2) { DateDiff(sDate1, sDate2) {
let oDate1, oDate2, iDays; //sDate1和sDate2是2006-12-18格式
oDate1 = new Date(sDate1); var oDate1, oDate2, iDays;
oDate1 = new Date(sDate1); //转换为12-18-2006格式
oDate2 = new Date(sDate2); oDate2 = new Date(sDate2);
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数 iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数
console.log(iDays);
return iDays; return iDays;
}, },
//开始结束 时间的处理 计算天数 //开始结束 时间的处理 计算天数
......
...@@ -2,12 +2,47 @@ ...@@ -2,12 +2,47 @@
<div class="container"> <div class="container">
<!-- 添加按钮 --> <!-- 添加按钮 -->
<div class="total_top"> <div class="total_top">
<el-button <el-form :inline="true" class="demo-form-inline" :model="queryitem">
type="success" <el-form-item label="项目名称:">
icon="el-icon-circle-plus" <el-input
@click="insertreimebursementItem" placeholder="请输入"
>申请出差报销</el-button v-model="queryitem.projectName"
> ></el-input>
</el-form-item>
<el-form-item label="审批状态:">
<el-select
placeholder="请选择"
v-model="queryitem.tripStatus"
>
<el-option label="待审批" value="0"></el-option>
<el-option label="小组长通过" value="1"></el-option>
<el-option label="小组长驳回" value="2"></el-option>
<el-option label="财务通过" value="3"></el-option>
<el-option label="财务驳回" value="4"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="onSubmit()"
>查询</el-button
>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-refresh-right"
@click="reset()"
>重置</el-button
>
</el-form-item>
<el-form-item>
<el-button
type="success"
icon="el-icon-circle-plus"
@click="insertreimebursementItem"
>申请出差报销</el-button
>
</el-form-item>
</el-form>
</div> </div>
<!-- 表格内容区域 --> <!-- 表格内容区域 -->
<div class="total_content"> <div class="total_content">
...@@ -97,7 +132,7 @@ ...@@ -97,7 +132,7 @@
}} }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="项目列表" prop="projectName"> <el-table-column align="center" label="报销项目" prop="projectName">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
align="center" align="center"
...@@ -422,7 +457,6 @@ ...@@ -422,7 +457,6 @@
v-model="fromList" v-model="fromList"
multiple multiple
filterable filterable
allow-create
default-first-option default-first-option
placeholder="请选择" placeholder="请选择"
> >
...@@ -443,45 +477,43 @@ ...@@ -443,45 +477,43 @@
</div> </div>
<!-- 对话框1 --> <!-- 对话框1 -->
<el-dialog title="修改随从人员" :visible.sync="dialogFormVisible"> <el-dialog title="修改随从人员" :visible.sync="dialogFormVisible">
<el-form :model="peopleList" :inline="true" ref="peopleForm"> <el-form :model="peopleList" ref="peopleForm">
<el-row <el-row
v-for="(item, index) in peopleList.collectName" v-for="(item, index) in peopleList.collectName"
:key="item.index" :key="item.index"
> >
<el-col :span="32"> <el-form-item
<el-form-item :label="'姓名' + (index + 1)"
:label="'姓名' + (index + 1)" :prop="'collectName.' + index + '.personnelName'"
:prop="'collectName.' + index +'.personnelName'" :rules="{
:rules="{ required: true,
required: true, message: '姓名不能为空',
message: '姓名不能为空', trigger: 'blur',
trigger: 'blur', }"
}" >
> <el-col :span="8"
<el-row> ><div class="grid-content bg-purple-light">
<el-col :span="12" <el-input
><div class="grid-content bg-purple"> v-model.trim="item.personnelName"
<el-input :disabled="item.disable"
v-model.trim="item.personnelName" ></el-input></div
:disabled="item.disable" ></el-col>
></el-input></div <el-col :span="3"
></el-col> ><div class="grid-content bg-purple">
<el-col :span="12" <el-button
><div style="margin-left: 5px"
class="grid-content bg-purple-light" @click.prevent="removeDomain(item)"
style="margin: 0px 5px" :disabled="item.disable"
> >删除</el-button
<el-button
@click.prevent="removeDomain(item)"
:disabled="item.disable"
>删除</el-button
>
<el-button @click="addDomain">新增人员</el-button>
</div></el-col
> >
</el-row> </div></el-col
</el-form-item> >
</el-col> <el-col :span="6"
><div class="grid-content bg-purple-light">
<el-button @click="addDomain">新增人员</el-button>
</div></el-col
>
</el-form-item>
</el-row> </el-row>
</el-form> </el-form>
...@@ -644,7 +676,7 @@ import { ...@@ -644,7 +676,7 @@ import {
import { insertId } from "@/api/spendreimbursement.js"; import { insertId } from "@/api/spendreimbursement.js";
import { import {
selectByinvoice, selectByinvoice,
deleteinvoiceConnect, deletBystatus,
selectAllBystatus, selectAllBystatus,
} from "@/api/project"; } from "@/api/project";
//selectProjectpeople //selectProjectpeople
...@@ -667,6 +699,8 @@ export default { ...@@ -667,6 +699,8 @@ export default {
activeName: "second", activeName: "second",
total: 0, total: 0,
queryitem: { queryitem: {
projectName: null,
tripStatus: null,
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
userId: null, userId: null,
...@@ -747,13 +781,9 @@ export default { ...@@ -747,13 +781,9 @@ export default {
tripId: null, tripId: null,
companyId: null, companyId: null,
}, },
find: false,
}; };
}, },
methods: { methods: {
// 这是测试的数据
btn() {},
// //
addDomain() { addDomain() {
this.peopleList.collectName.push({ this.peopleList.collectName.push({
...@@ -785,6 +815,24 @@ export default { ...@@ -785,6 +815,24 @@ export default {
}); });
}); });
}, },
// 搜索
onSubmit() {
this.queryitem.pageNum = 1;
this.getpagelist();
},
// 重置
reset() {
this.queryitem = {
projectName: null,
tripStatus: null,
pageNum: 1,
pageSize: 10,
userId: null,
};
// 获取 userId
this.queryitem.userId = this.$store.getters.urId;
this.getpagelist();
},
// 修改随从人员 // 修改随从人员
updatereimbursementPeople() { updatereimbursementPeople() {
this.$refs.peopleForm.validate((valid) => { this.$refs.peopleForm.validate((valid) => {
...@@ -819,7 +867,7 @@ export default { ...@@ -819,7 +867,7 @@ export default {
} }
}); });
}, },
//查询发票编号 //查询出要添加的发票编号
Selectinvoicelsit() { Selectinvoicelsit() {
this.insertvioiceFrom = true; this.insertvioiceFrom = true;
this.fromList = []; this.fromList = [];
...@@ -884,7 +932,7 @@ export default { ...@@ -884,7 +932,7 @@ export default {
type: "warning", type: "warning",
}) })
.then(() => { .then(() => {
deleteinvoiceConnect(invoices) deletBystatus(invoices)
.then((result) => { .then((result) => {
if (result.success) { if (result.success) {
this.$message({ this.$message({
...@@ -1000,7 +1048,7 @@ export default { ...@@ -1000,7 +1048,7 @@ export default {
}, },
//查询发票编号 //查询发票编号
Selectlsitinvoice() { Selectlsitinvoice() {
selectByinvoice(this.parm) selectAllById(this.parm)
.then((res) => { .then((res) => {
if (res.success) { if (res.success) {
this.invoicelist = res.data; this.invoicelist = res.data;
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
ref="ruleform" ref="ruleform"
:model="spendreimbursementform" :model="spendreimbursementform"
label-width="120px" label-width="120px"
:label-position="labelPosition"
:rules="rules" :rules="rules"
:data="spendreimbursementform" :data="spendreimbursementform"
> >
...@@ -15,7 +14,6 @@ ...@@ -15,7 +14,6 @@
<!-- projectId --> <!-- projectId -->
<el-form-item <el-form-item
label="报销项目" label="报销项目"
:label-width="formLabelWidth"
prop="projectId" prop="projectId"
> >
<el-select <el-select
...@@ -216,11 +214,11 @@ ...@@ -216,11 +214,11 @@
<script> <script>
import { selectTypeitem } from "@/api/spendreimbursement.js"; import { selectTypeitem } from "@/api/spendreimbursement.js";
import { insertId } from "@/api/spendreimbursement.js";
// selectProjectitem // selectProjectitem
import { selectProjectitem } from "@/api/spendreimbursement.js"; import { selectProjectitem } from "@/api/spendreimbursement.js";
import { update } from "@/api/spendreimbursement.js"; import { update } from "@/api/spendreimbursement.js";
import { selectByTripId } from "@/api/spendreimbursement.js"; import { selectByTripId } from "@/api/spendreimbursement.js";
import { money } from "@/utils/myValidate";
export default { export default {
created() { created() {
this.triplistfrom(); this.triplistfrom();
...@@ -231,21 +229,10 @@ export default { ...@@ -231,21 +229,10 @@ export default {
this.spendreimbursementform.userId = this.$store.getters.urId; this.spendreimbursementform.userId = this.$store.getters.urId;
this.reimebursementtypeItem(); this.reimebursementtypeItem();
this.reimebursementprojectItem(); this.reimebursementprojectItem();
this.reimebursementprojectpeopleItem();
}, },
data() { data() {
var moneyrow = (rule, value, callback) => {
let RegExp =
/(^([-]?)[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^([-]?)(0){1}$)|(^([-]?)[0-9]\.[0-9]([0-9])?$)/; // /^(([1-9][0-9]{0,14})|([0]{1})|(([0]\\.\\d{1,2}|[1-9][0-9]{0,14}\\.\\d{1,2})))$/;
if (RegExp.test(value)) {
callback();
} else {
callback(new Error("金额格式错误"));
}
};
return { return {
dialogFormVisible: false, dialogFormVisible: false,
labelPosition: "left",
values: false, values: false,
timeSlot: [], timeSlot: [],
userId: [], userId: [],
...@@ -328,8 +315,7 @@ export default { ...@@ -328,8 +315,7 @@ export default {
transitPlace: [{ required: true, message: "此项不能为空!" }], transitPlace: [{ required: true, message: "此项不能为空!" }],
applyTotalAmountLarge: [{ required: true, message: "此项不能为空!" }], applyTotalAmountLarge: [{ required: true, message: "此项不能为空!" }],
applyTotalAmountSmall: [ applyTotalAmountSmall: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
applyTime: [ applyTime: [
{ {
...@@ -341,36 +327,28 @@ export default { ...@@ -341,36 +327,28 @@ export default {
planeTicket: [{ required: true, message: "此项不能为空!" }], planeTicket: [{ required: true, message: "此项不能为空!" }],
vehicle: [{ required: true, message: "此项不能为空!" }], vehicle: [{ required: true, message: "此项不能为空!" }],
foodAllowance: [ foodAllowance: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
publicMiscellaneousSubsidy: [ publicMiscellaneousSubsidy: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
tripCost: [ tripCost: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
planeTicket: [ planeTicket: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
trafficCost: [ trafficCost: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
lodgingCost: [ lodgingCost: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
insuranceCost: [ insuranceCost: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
otherCost: [ otherCost: [
{ required: true, message: "此项不能为空!" }, { validator: money, trigger: "blur" },
{ validator: moneyrow, trigger: "blur" },
], ],
remarks: [{ required: true, message: "此项不能为空!" }], remarks: [{ required: true, message: "此项不能为空!" }],
...@@ -545,7 +523,6 @@ export default { ...@@ -545,7 +523,6 @@ export default {
}, },
// 大小写 // 大小写
convertCurrency(money) { convertCurrency(money) {
console.log(money);
//汉字的数字 //汉字的数字
var cnNums = new Array( var cnNums = new Array(
"", "",
......
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
<script> <script>
import { selectByFixedId, updates } from "@/api/assets"; import { selectByFixedId, updates } from "@/api/assets";
import { money,account_password_valid } from "@/utils/myValidate";
export default { export default {
data() { data() {
return { return {
...@@ -74,7 +75,7 @@ export default { ...@@ -74,7 +75,7 @@ export default {
{ required: true, message: "请输入活动名称", trigger: "change" } { required: true, message: "请输入活动名称", trigger: "change" }
], ],
fixedCode: [ fixedCode: [
{ required: true, message: "请收入资产编号", trigger: "change" } { validator:account_password_valid, trigger: "blur" }
], ],
fixedAddress: [ fixedAddress: [
{ {
...@@ -84,7 +85,10 @@ export default { ...@@ -84,7 +85,10 @@ export default {
} }
], ],
fixedMoney: [ fixedMoney: [
{ required: true, message: "请输入资产金额", trigger: "change" } {
validator: money,
trigger: "change"
}
] ]
} }
}; };
......
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
import { insert } from "@/api/assets"; import { insert } from "@/api/assets";
import { secletAllStaff } from "@/api/user"; import { secletAllStaff } from "@/api/user";
import user from "../../store/modules/user"; import user from "../../store/modules/user";
import { money } from "@/utils/myValidate"; import { money,account_password_valid } from "@/utils/myValidate";
export default { export default {
data() { data() {
return { return {
...@@ -110,8 +110,7 @@ export default { ...@@ -110,8 +110,7 @@ export default {
{ required: true, message: "请输入活动名称", trigger: "change" } { required: true, message: "请输入活动名称", trigger: "change" }
], ],
fixedCode: [ fixedCode: [
{ required: true, message: "请收入资产编号", trigger: "change" }, { validator:account_password_valid, trigger: "blur" }
{ validator: this.checkData, trigger: "blur" }
], ],
fixedAddress: [ fixedAddress: [
{ {
...@@ -121,7 +120,6 @@ export default { ...@@ -121,7 +120,6 @@ export default {
} }
], ],
fixedMoney: [ fixedMoney: [
{ required: true, message: "请输入资产金额", trigger: "change" },
{ {
validator: money, validator: money,
trigger: "change" trigger: "change"
...@@ -295,17 +293,6 @@ export default { ...@@ -295,17 +293,6 @@ export default {
registerTime: null //登记时间 registerTime: null //登记时间
}; };
}, },
//不能为中文的校验
checkData(rule, value, callback) {
if (value) {
if (/[\u4E00-\u9FA5]/g.test(value)) {
callback(new Error("资产编码由数字或字符组成!"));
} else {
callback();
}
}
callback();
}
}, },
beforeDestroy() { beforeDestroy() {
if (this.timer) { if (this.timer) {
......
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="上传公司文件"> <el-form-item label="上传公司文件">
<el-upload <el-upload
class="upload-demo" class="upload-demo"
drag drag
...@@ -47,7 +46,6 @@ ...@@ -47,7 +46,6 @@
</div> </div>
<div class="el-upload__tip" slot="tip">文件大小不超过500kb</div> <div class="el-upload__tip" slot="tip">文件大小不超过500kb</div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
<br /> <br />
<div class="items"> <div class="items">
...@@ -94,15 +92,20 @@ export default { ...@@ -94,15 +92,20 @@ export default {
this.action = process.env.VUE_APP_BASE_API + "/file/companyFile"; this.action = process.env.VUE_APP_BASE_API + "/file/companyFile";
}, },
methods: { methods: {
//提交公司文件
submitForm() { submitForm() {
this.$refs.form.validate((valid) => { //判断是否有文件
if (valid) { var file = this.$refs.Upload.uploadFiles;
this.$refs.Upload.submit(); if (file != "") {
this.$message.success("上传成功"); this.$refs.form.validate((valid) => {
this.returnback(); if (valid) {
} this.$refs.Upload.submit();
}); this.$message.success("上传成功");
this.returnback();
}
});
} else {
this.$message.error("请添加附件,在进行提交");
}
}, },
//返回 //返回
returnback() { returnback() {
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select v-model="contractQuery.typeId" placeholder="请选择合同类型"> <el-select v-model="contractQuery.typeId" placeholder="请选择合同类型">
<el-option v-for="(item, index) in contractTypeList" :key="item.id" :value="item.id" <el-option v-for="item in contractTypeList" :key="item.id" :value="item.id"
:label="item.name"></el-option> :label="item.name"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
......
<template> <template>
<div class="main"> <div class="main">
<div class="header"> <div class="header">
<el-button type="success" icon="el-icon-circle-plus-outline" @click="dialogFormVisible = true;"> <el-form :inline="true" :model="contractTypeQuey">
添加类型 <!-- 合同名称,合同编号,合同类型,合同性质 -->
<el-form-item>
<el-input
v-model="contractTypeQuey.name"
placeholder="根据类型名称查询"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="qurey()"
>查询</el-button
>
<el-button
type="primary"
icon="el-icon-refresh-right"
@click="reset()"
>重置</el-button
>
<el-button
type="success"
icon="el-icon-circle-plus-outline"
@click="dialogFormVisible = true"
>
添加类型
</el-button>
</el-form-item>
</el-form>
</div>
<div class="container">
<el-table
:data="contractTypeList"
style="width: 100%; text-align: center"
border
>
<el-table-column label="序号" width="50px">
<template slot-scope="scope">
{{
(contractTypeQuey.pageNum - 1) * contractTypeQuey.pageSize +
scope.$index +
1
}}
</template>
</el-table-column>
<el-table-column prop="name" label="类别名称" />
<el-table-column prop="state" label="启用状态" width="100px">
<template slot-scope="scope">
<el-switch
v-model="scope.row.state"
@change="
updateState({
...scope.row,
state: Math.abs(scope.row.state - 1),
})
"
active-color="#13ce66"
inactive-color="#ff4949"
>
</el-switch>
</template>
</el-table-column>
<el-table-column label="操作" width="100px">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-edit" @click="edit(scope.row)"
>编辑
</el-button> </el-button>
</div> </template>
<div class="container"> </el-table-column>
<el-table :data="contractTypeList" style="width: 100%;text-align: center;" border> </el-table>
<el-table-column label="序号" width="50px"> </div>
<template slot-scope="scope">
{{ (contractTypeQuey.pageNum - 1) * contractTypeQuey.pageSize + scope.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="name" label="类别名称" />
<el-table-column prop="state" label="启用状态" width="100px">
<template slot-scope="scope">
<el-switch v-model="scope.row.state"
@change="updateState({ ...scope.row, state: Math.abs(scope.row.state - 1) })"
active-color="#13ce66" inactive-color="#ff4949">
</el-switch>
</template>
</el-table-column>
<el-table-column label="操作" width="100px">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-edit" @click="edit(scope.row)">编辑
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="footer"> <div class="footer">
<el-pagination @current-change="getContractTypeList" :current-page.sync="contractTypeQuey.pageNum" <el-pagination
:page-size="contractTypeQuey.pageSize" layout="total, prev, pager, next" :total="total"> @current-change="getContractTypeList"
</el-pagination> :current-page.sync="contractTypeQuey.pageNum"
</div> :page-size="contractTypeQuey.pageSize"
layout="total, prev, pager, next"
:total="total"
>
</el-pagination>
</div>
<el-dialog :title="(isEdit ? '修改' : '添加') + '合同类型'" :visible.sync="dialogFormVisible" @closed="resetData"> <el-dialog
<el-form ref="form" :model="dynamicValidateForm" label-width="130px"> :title="(isEdit ? '修改' : '添加') + '合同类型'"
<el-form-item label="合同类型名称" prop="name" :rules="[{ required: true, message: '请输入合同类型名称' }]"> :visible.sync="dialogFormVisible"
<el-input v-model="dynamicValidateForm.name" autocomplete="off"></el-input> @closed="resetData"
</el-form-item> >
<el-form ref="form" :model="dynamicValidateForm" label-width="130px">
<el-form-item
label="合同类型名称"
prop="name"
:rules="[{ required: true, message: '请输入合同类型名称' }]"
>
<el-input
v-model="dynamicValidateForm.name"
autocomplete="off"
></el-input>
</el-form-item>
<el-form-item v-show="!isEdit" v-for="(name, index) in dynamicValidateForm.names" <el-form-item
:label="'合同类型名称' + (parseInt(index) + 1)" :prop="'names.' + index + '.value'" :key="index" :rules="[{ v-show="!isEdit"
required: true, message: '合同类型名称不能为空', trigger: 'blur' v-for="(name, index) in dynamicValidateForm.names"
}]"> :label="'合同类型名称' + (parseInt(index) + 1)"
<el-input v-model="name.value"> :prop="'names.' + index + '.value'"
<el-button slot="append" icon="el-icon-delete" :key="index"
@click.prevent="dynamicValidateForm.names.splice(index, 1)">删除 :rules="[
</el-button> {
</el-input> required: true,
</el-form-item> message: '合同类型名称不能为空',
</el-form> trigger: 'blur',
<div slot="footer" class="dialog-footer"> },
<el-button v-if="!isEdit" @click="dynamicValidateForm.names.push({ value: '' });">增加类型</el-button> ]"
<el-button @click="resetData">取 消</el-button> >
<el-button v-if="isEdit" type="primary" @click="update(dynamicValidateForm)">确 定</el-button> <el-input v-model="name.value">
<el-button v-else type="primary" @click="addContractType">确 定</el-button> <el-button
</div> slot="append"
</el-dialog> icon="el-icon-delete"
</div> @click.prevent="dynamicValidateForm.names.splice(index, 1)"
>删除
</el-button>
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button
v-if="!isEdit"
@click="dynamicValidateForm.names.push({ value: '' })"
>增加类型</el-button
>
<el-button @click="resetData">取 消</el-button>
<el-button
v-if="isEdit"
type="primary"
@click="update(dynamicValidateForm)"
>确 定</el-button
>
<el-button v-else type="primary" @click="addContractType"
>确 定</el-button
>
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { import {
selectContractTypeList, selectContractTypeList,
addContractType as insert, addContractType as insert,
updateContractType, updateContractType,
updateContractTypeState updateContractTypeState,
} from '@/api/contract' } from "@/api/contract";
import { mapGetters } from 'vuex' import { mapGetters } from "vuex";
export default { export default {
computed: { computed: {
...mapGetters([ ...mapGetters(["companyId"]),
'companyId' },
]) data() {
return {
contractTypeQuey: {
name: null,
pageSize: 10,
pageNum: 1,
},
total: 0,
contractTypeList: [],
typeList: [],
dialogFormVisible: false,
dynamicValidateForm: { names: [] },
isEdit: false,
};
},
mounted() {
this.getContractTypeList();
},
methods: {
resetData() {
this.isEdit = false;
this.dialogFormVisible = false;
this.dynamicValidateForm = { names: [], name: "" };
this.$refs.form.resetFields();
}, },
data() { edit(data) {
return { this.isEdit = true;
contractTypeQuey: { this.dialogFormVisible = true;
pageSize: 10, this.dynamicValidateForm = { ...data };
pageNum: 1, },
}, getContractTypeList(data) {
total: 0, const params = {
contractTypeList: [], companyId: this.companyId || this.$store.getters.companyId,
typeList: [], ...this.contractTypeQuey,
dialogFormVisible: false, ...data,
dynamicValidateForm: { names: [] }, };
isEdit: false selectContractTypeList(params).then((res) => {
if (res.success) {
this.contractTypeList = res.data.list.map((item) => {
return { ...item, state: parseInt(item.state) === 0 };
});
this.total = res.data.total;
} else {
this.contractTypeList = [];
this.total = 0;
} }
});
}, },
mounted() { update(data) {
this.getContractTypeList() if (this.$refs.form) {
const params = {
companyId: this.companyId || this.$store.getters.companyId,
...data,
};
!Number.isInteger(data.state) && (params.state = Number(!data.state));
updateContractType(params).then((res) => {
if (res.success) {
this.$message.success("修改成功");
this.dialogFormVisible && (this.dialogFormVisible = false);
this.getContractTypeList();
}else{
this.$message.error(res.msg);
}
});
}
}, },
methods: { updateState(data) {
resetData() { const params = {
this.isEdit = false; companyId: this.companyId || this.$store.getters.companyId,
this.dialogFormVisible = false ...data,
this.dynamicValidateForm = { names: [], name: '' } };
this.$refs.form.resetFields(); !Number.isInteger(data.state) && (params.state = Number(!data.state));
}, updateContractTypeState(params).then((res) => {
edit(data) { if (res.success) {
this.isEdit = true; this.$message.success("修改成功");
this.dialogFormVisible = true; // this.dialogFormVisible && (this.dialogFormVisible = false)
this.dynamicValidateForm = { ...data } this.getContractTypeList();
}, }
getContractTypeList(data) { });
const params = { },
companyId: this.companyId || this.$store.getters.companyId, addContractType() {
...this.contractTypeQuey, this.$refs.form.validate((valida) => {
...data if (valida) {
} const data = {
selectContractTypeList(params).then((res) => { state: 0, //默认开启,
if (res.success) { companyId: this.companyId || this.$store.getters.companyId,
this.contractTypeList = res.data.list.map(item => { return { ...item, state: parseInt(item.state) === 0 } }) };
this.total = res.data.total let params = [
} else { {
this.contractTypeList = [] ...data,
this.total = 0 name: this.dynamicValidateForm.name,
} },
];
}) if (this.dynamicValidateForm.names.length) {
}, params = params.concat(
update(data) { this.dynamicValidateForm.names.map((name) => {
if (this.$refs.form) { return { ...data, name: name.value };
const params = { })
companyId: this.companyId || this.$store.getters.companyId, );
...data }
} insert(params).then((res) => {
!Number.isInteger(data.state) && (params.state = Number(!data.state)) if (res.success) {
updateContractType(params).then(res => { this.$message.success("添加成功");
if (res.success) { this.resetData();
this.$message.success("修改成功") this.getContractTypeList();
this.dialogFormVisible && (this.dialogFormVisible = false) } else {
this.getContractTypeList() this.$message.error(res.msg);
}
})
}
},
updateState(data){
const params = {
companyId: this.companyId || this.$store.getters.companyId,
...data
} }
!Number.isInteger(data.state) && (params.state = Number(!data.state)) });
updateContractTypeState(params).then(res => {
if (res.success) {
this.$message.success("修改成功")
// this.dialogFormVisible && (this.dialogFormVisible = false)
this.getContractTypeList()
}
})
},
addContractType() {
this.$refs.form.validate((valida) => {
if (valida) {
const data = {
state: 0,//默认开启,
companyId: this.companyId || this.$store.getters.companyId,
}
let params = [{
...data,
name: this.dynamicValidateForm.name
}]
if (this.dynamicValidateForm.names.length) {
params = params.concat(this.dynamicValidateForm.names.map(name => { return { ...data, name: name.value } }))
}
insert(params).then((res) => {
if (res.success) {
this.$message.success("添加成功")
this.resetData()
this.getContractTypeList()
} else {
this.$message.error(res.msg)
}
})
}
})
} }
} });
} },
//查询
qurey() {
this.contractTypeQuey.pageNum = 1
this.getContractTypeList();
},
//重置
reset() {
this.contractTypeQuey.name = null
this.contractTypeQuey.pageNum = 1
this.getContractTypeList()
},
},
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.main { .main {
padding: 15px; padding: 15px;
.header { .header {
margin-bottom: 10px; margin-bottom: 10px;
} }
.footer { .footer {
text-align: right; text-align: right;
} }
} }
</style> </style>
<template> <template>
<div> <div>
<!-- 发票模块 --> <!-- 发票模块 -->
<div class="QueryInvoice" style="margin:10px 15px"> <div class="QueryInvoice" style="margin: 10px 15px">
<el-row :gutter="30"> <el-row :gutter="30">
<el-col :span="30"> <el-col :span="30">
<el-form :inline="true" :model="invoiceList"> <el-form :inline="true" :model="invoiceList">
<el-form-item label="发票号码" style="margin-left"> <el-form-item label="发票号码" style="margin-left">
<el-input v-model="invoiceList.number" placeholder="发票号码"></el-input> <el-input
v-model="invoiceList.number"
placeholder="发票号码"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="发票代码"> <el-form-item label="发票代码">
<el-input v-model="invoiceList.code" placeholder="发票代码"></el-input> <el-input
v-model="invoiceList.code"
placeholder="发票代码"
></el-input>
</el-form-item> </el-form-item>
<el-form-item label="发票类型"> <el-form-item label="发票类型">
<el-select v-model="invoiceList.category" placeholder="请选择"> <el-select v-model="invoiceList.category" placeholder="请选择">
...@@ -43,51 +49,80 @@ ...@@ -43,51 +49,80 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-col> </el-col>
<el-col :span="12" style="margin:20px 5px;"> <el-col :span="12" style="margin: 20px 5px">
<el-button <el-button
type="primary" type="primary"
icon="el-icon-search" icon="el-icon-search"
style="margin:1px 5px;" style="margin: 1px 5px"
@click="selectexpend()" @click="selectexpend()"
>查询</el-button> >查询</el-button
<el-button type="info" icon="el-icon-refresh" @click="upddlist()">刷新</el-button> >
<el-button type="success" icon="el-icon-download" @click="Reimbursement()">添加发票单</el-button> <el-button type="info" icon="el-icon-refresh" @click="upddlist()"
>刷新</el-button
>
<el-button
type="success"
icon="el-icon-download"
@click="Reimbursement()"
>添加发票单</el-button
>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
<!-- 表格区域 --> <!-- 表格区域 -->
<div class="drawer" v-show="isgetid==0" style="margin-left:15px"> <div class="drawer" v-show="isgetid == 0" style="margin-left: 15px">
<el-table <el-table
:data="invoicegetList.list" :data="invoicegetList.list"
border border
style="width:99%" style="width: 99%"
:cell-style="{'text-align':'center'}" :cell-style="{ 'text-align': 'center' }"
:header-cell-style="{'text-align':'center'}" :header-cell-style="{ 'text-align': 'center' }"
> >
<el-table-column label="序号" width="50" style> <el-table-column label="序号" width="50" style>
<template slot-scope="scope"> <template slot-scope="scope">
{{ {{
(invoiceList.pageNum - 1) * invoiceList.pageSize + (invoiceList.pageNum - 1) * invoiceList.pageSize +
scope.$index + scope.$index +
1 1
}} }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="code" label="发票代码"></el-table-column> <el-table-column prop="code" label="发票代码"></el-table-column>
<el-table-column prop="number" label="发票号码" width="width"></el-table-column> <el-table-column
<el-table-column prop="time" label="发票时间"></el-table-column> prop="number"
label="发票号码"
width="width"
></el-table-column>
<el-table-column
prop="time"
label="发票时间"
:formatter="getFroms"
></el-table-column>
<el-table-column prop="category" label="发票类型"> <el-table-column prop="category" label="发票类型">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag :type="scope.row.category == '0' ? 'info' : 'primary'">{{
:type="scope.row.category == '0' ? 'info':'primary' " scope.row.category == "0" ? "普票" : "专票"
>{{scope.row.category== '0' ? '普票':'专票'}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="type" label="发票类别"> <el-table-column prop="type" label="发票类别">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag
:type="scope.row.type== '0' ? 'success' : scope.row.type == '1' ? 'danger':'warning' " :type="
>{{scope.row.type == '0' ? '收入' : scope.row.type == '1' ? '支出':'报销'}}</el-tag> scope.row.type == '0'
? 'success'
: scope.row.type == '1'
? 'danger'
: 'warning'
"
>{{
scope.row.type == "0"
? "收入"
: scope.row.type == "1"
? "支出"
: "报销"
}}</el-tag
>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="mone" label="发票金额"></el-table-column> <el-table-column prop="mone" label="发票金额"></el-table-column>
...@@ -101,15 +136,17 @@ ...@@ -101,15 +136,17 @@
></el-image> ></el-image>
</div> </div>
<div v-else> <div v-else>
<a class="a-style" @click="handlePreView(scope.row)">点击查看文件</a> <a class="a-style" @click="handlePreView(scope.row)"
>点击查看文件</a
>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" label="发票状态" width="90px"> <el-table-column prop="status" label="发票状态" width="90px">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag <el-tag :type="scope.row.status == '0' ? 'info' : 'warning'">{{
:type="scope.row.status == '0' ? 'info':'warning' " scope.row.status == 0 ? "未报销" : "已报销"
>{{ scope.row.status==0 ? '未报销': "已报销"}}</el-tag> }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="prop" label="操作"> <el-table-column prop="prop" label="操作">
...@@ -117,22 +154,29 @@ ...@@ -117,22 +154,29 @@
<el-popover placement="top" width="160" v-model="scope.row.visible"> <el-popover placement="top" width="160" v-model="scope.row.visible">
<p>确定要删除当前发票吗</p> <p>确定要删除当前发票吗</p>
<div style="text-align: right; margin: 0"> <div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="scope.row.visible = false">取消</el-button> <el-button
<el-button type="primary" size="mini" @click="YesGet(scope.row)">确定</el-button> size="mini"
type="text"
@click="scope.row.visible = false"
>取消</el-button
>
<el-button type="primary" size="mini" @click="YesGet(scope.row)"
>确定</el-button
>
</div> </div>
<el-button <el-button
type="danger" type="danger"
icon="el-icon-delete" icon="el-icon-delete"
slot="reference" slot="reference"
size="mini" size="mini"
:disabled="scope.row.status==0?false:true" :disabled="scope.row.status == 0 ? false : true"
></el-button> ></el-button>
</el-popover> </el-popover>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="4" style=" margin: 15px 70%;"> <el-col :span="4">
<!-- 分页 --> <!-- 分页 -->
<div class="foot_yi"> <div class="foot_yi">
<el-pagination <el-pagination
...@@ -140,18 +184,17 @@ ...@@ -140,18 +184,17 @@
layout="total, prev, pager, next" layout="total, prev, pager, next"
:total="invoicegetList.total" :total="invoicegetList.total"
:current-page="invoiceList.pages" :current-page="invoiceList.pages"
background
></el-pagination> ></el-pagination>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
<!-- 添加区域 --> <!-- 添加区域 -->
<div class="getadd" v-show="isgetid==1" style="margin-left:5%"> <div class="getadd" v-show="isgetid == 1" style="margin-left: 5%">
<el-row> <el-row>
<el-col :xl="8" :lg="10" :md="8" :sm="12" :xs="24"> <el-col :xl="8" :lg="10" :md="8" :sm="12" :xs="24">
<el-form <el-form
style="width:100%;margin:30px 0px" style="width: 100%; margin: 30px 0px"
:model="addTO" :model="addTO"
:rules="rules" :rules="rules"
ref="addTO" ref="addTO"
...@@ -162,6 +205,7 @@ ...@@ -162,6 +205,7 @@
<el-input <el-input
v-model="addTO.code" v-model="addTO.code"
maxlength="12" maxlength="12"
minlength="12"
onkeyup="this.value=this.value.replace(/\D|^/g,'')" onkeyup="this.value=this.value.replace(/\D|^/g,'')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
...@@ -169,6 +213,7 @@ ...@@ -169,6 +213,7 @@
<el-input <el-input
v-model="addTO.number" v-model="addTO.number"
maxlength="8" maxlength="8"
minlength="8"
onkeyup="this.value=this.value.replace(/\D|^/g,'')" onkeyup="this.value=this.value.replace(/\D|^/g,'')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
...@@ -204,8 +249,15 @@ ...@@ -204,8 +249,15 @@
<el-input v-model="addTO.mone"></el-input> <el-input v-model="addTO.mone"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="success" icon="el-icon-folder-checked" @click="getlistForm()">立即创建</el-button> <el-button
<el-button type="info" icon="el-icon-refresh" @click="delectdd">重置信息</el-button> type="success"
icon="el-icon-folder-checked"
@click="getlistForm()"
>立即创建</el-button
>
<el-button type="info" icon="el-icon-refresh" @click="delectdd"
>重置信息</el-button
>
<el-button @click="cancel()">取消</el-button> <el-button @click="cancel()">取消</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -221,15 +273,18 @@ ...@@ -221,15 +273,18 @@
:on-change="onChange" :on-change="onChange"
:on-remove="delfile" :on-remove="delfile"
:limit="1" :limit="1"
style="margin-left:90px;" style="margin-left: 90px"
> >
<el-button <el-button
slot="trigger" slot="trigger"
size="small" size="small"
type="primary" type="primary"
style="margin-left:20px;margin-top:40px;" style="margin-left: 20px; margin-top: 40px"
>选取文件</el-button> >选取文件</el-button
<div slot="tip" class="el-upload__tip">只能上传jpg/png/pdf文件,且不超过500kb</div> >
<div slot="tip" class="el-upload__tip">
只能上传jpg/png/pdf文件,且不超过500kb
</div>
</el-upload> </el-upload>
</el-col> </el-col>
</el-row> </el-row>
...@@ -239,7 +294,7 @@ ...@@ -239,7 +294,7 @@
<script> <script>
import { insertList, queryBypageIncomeAdd, deleteexpen } from "@/api/project"; import { insertList, queryBypageIncomeAdd, deleteexpen } from "@/api/project";
import { money } from "@/utils/myValidate"; import { money, Invoice_code, Invoice_No } from "@/utils/myValidate";
export default { export default {
data() { data() {
return { return {
...@@ -252,14 +307,14 @@ export default { ...@@ -252,14 +307,14 @@ export default {
qurey: { qurey: {
pageNum: 1, pageNum: 1,
pageSize: 5, pageSize: 5,
companyId: null companyId: null,
}, },
total: 0 total: 0,
}, },
fileList: [], fileList: [],
proutlist: { proutlist: {
Id: 1, Id: 1,
status: 0 status: 0,
}, },
companyId: 0, companyId: 0,
isgetid: 0, isgetid: 0,
...@@ -268,36 +323,36 @@ export default { ...@@ -268,36 +323,36 @@ export default {
options: [ options: [
{ {
value: 0, value: 0,
category: "普票" category: "普票",
}, },
{ {
value: 1, value: 1,
category: "专票" category: "专票",
} },
], ],
options1: [ options1: [
{ {
value: 0, value: 0,
type: "收入" type: "收入",
}, },
{ {
value: 1, value: 1,
type: "支出" type: "支出",
}, },
{ {
value: 2, value: 2,
type: "报销" type: "报销",
} },
], ],
options2: [ options2: [
{ {
value: 0, value: 0,
status: "未报销" status: "未报销",
}, },
{ {
value: 1, value: 1,
status: "已报销" status: "已报销",
} },
], ],
//添加发票的数组 //添加发票的数组
addTO: { addTO: {
...@@ -308,41 +363,43 @@ export default { ...@@ -308,41 +363,43 @@ export default {
number: null, number: null,
status: 0, status: 0,
time: null, time: null,
type: null type: null,
}, },
//抽屉的临时数据 //抽屉的临时数据
//表单验证内容 //表单验证内容
rules: { rules: {
time: [ time: [
{ required: true, message: "请输入发票时间", trigger: "change" } { required: true, message: "请输入发票时间", trigger: "change" },
], ],
number: [ number: [
{ required: true, message: "请输入发票号码", trigger: "change" } {
validator: Invoice_No,
trigger: "blur",
},
], ],
code: [ code: [
{ required: true, message: "请输入发票代码", trigger: "change" } { required: true, validator: Invoice_code, trigger: "change" },
], ],
category: [ category: [
{ {
required: true, required: true,
message: "请至少选择一个发票类型", message: "请至少选择一个发票类型",
trigger: "change" trigger: "change",
} },
], ],
type: [ type: [
{ {
required: true, required: true,
message: "请至少选择一个发票类别", message: "请至少选择一个发票类别",
trigger: "change" trigger: "change",
} },
], ],
mone: [ mone: [
{ required: true, message: "请输入发票金额", trigger: "change" },
{ {
validator: money, validator: money,
trigger: "change" trigger: "change",
} },
] ],
}, },
//查询发票数据 //查询发票数据
invoiceList: { invoiceList: {
...@@ -358,7 +415,7 @@ export default { ...@@ -358,7 +415,7 @@ export default {
searchCount: null, searchCount: null,
status: null, status: null,
time: null, time: null,
type: null type: null,
}, },
//发票状态 //发票状态
status: 0, status: 0,
...@@ -371,7 +428,7 @@ export default { ...@@ -371,7 +428,7 @@ export default {
//查询发票编号的数组 //查询发票编号的数组
getinvoiveId: { getinvoiveId: {
companyId: null, companyId: null,
type: 0 type: 0,
}, },
pageNum: 10, pageNum: 10,
total: 10, total: 10,
...@@ -379,7 +436,8 @@ export default { ...@@ -379,7 +436,8 @@ export default {
newList: [], newList: [],
visible: false, //确认删除 visible: false, //确认删除
//查看发票图片 //查看发票图片
srcList: [] srcList: [],
fileTypeJpg: false,
}; };
}, },
computed: { computed: {
...@@ -403,8 +461,8 @@ export default { ...@@ -403,8 +461,8 @@ export default {
path: "/incomeList", path: "/incomeList",
query: { query: {
id: this.$route.query.id, id: this.$route.query.id,
backid: this.$route.query.backid backid: this.$route.query.backid,
} },
}); });
}, },
//时间处理 yyyy-MM-dd hh:mm:ss //时间处理 yyyy-MM-dd hh:mm:ss
...@@ -429,11 +487,11 @@ export default { ...@@ -429,11 +487,11 @@ export default {
//抽屉的关闭 //抽屉的关闭
handleClose(done) { handleClose(done) {
this.$confirm("确认关闭?") this.$confirm("确认关闭?")
.then(_ => { .then((_) => {
this.isgetid = 0; this.isgetid = 0;
done(); done();
}) })
.catch(_ => {}); .catch((_) => {});
}, },
//发票页面的按钮事件 //发票页面的按钮事件
drawerAdd() { drawerAdd() {
...@@ -446,9 +504,9 @@ export default { ...@@ -446,9 +504,9 @@ export default {
}, },
selectggb() { selectggb() {
let list = []; let list = [];
this.invoicegetList.forEach(item => { this.invoicegetList.forEach((item) => {
list.push({ list.push({
status: item.status status: item.status,
}); });
}); });
}, },
...@@ -456,7 +514,7 @@ export default { ...@@ -456,7 +514,7 @@ export default {
getincomeSelectlist(pager = 1) { getincomeSelectlist(pager = 1) {
this.invoiceList.pageNum = pager; this.invoiceList.pageNum = pager;
queryBypageIncomeAdd(this.invoiceList) queryBypageIncomeAdd(this.invoiceList)
.then(res => { .then((res) => {
if (res.success) { if (res.success) {
this.invoicegetList = res.data; this.invoicegetList = res.data;
this.total = res.data.total; this.total = res.data.total;
...@@ -467,7 +525,7 @@ export default { ...@@ -467,7 +525,7 @@ export default {
// }); // });
// }); // });
this.srcList = []; this.srcList = [];
res.data.list.forEach(e => { res.data.list.forEach((e) => {
let fileNamepdf = e.filePath; let fileNamepdf = e.filePath;
let fileType = fileNamepdf.substring( let fileType = fileNamepdf.substring(
fileNamepdf.lastIndexOf(".") fileNamepdf.lastIndexOf(".")
...@@ -480,7 +538,7 @@ export default { ...@@ -480,7 +538,7 @@ export default {
this.$message.errror(res.msg); this.$message.errror(res.msg);
} }
}) })
.catch(error => { .catch((error) => {
this.$message.error("查询发票数据失败"); this.$message.error("查询发票数据失败");
}); });
}, },
...@@ -488,13 +546,13 @@ export default { ...@@ -488,13 +546,13 @@ export default {
handleSizeChange(val) { handleSizeChange(val) {
this.invoicegetList.pageSize = val; this.invoicegetList.pageSize = val;
}, },
handleCurrentChange: function(currentPage) { handleCurrentChange: function (currentPage) {
this.total = this.invoicegetList.length; this.total = this.invoicegetList.length;
this.currentPage = currentPage; this.currentPage = currentPage;
}, },
//取消隐藏tatle //取消隐藏tatle
cancel() { cancel() {
this.fileList = this.fileList.filter(item => item.uid !== file.uid); this.fileList = this.fileList.filter((item) => item.uid !== file.uid);
this.isgetid = 0; this.isgetid = 0;
this.getincomeSelectlist(); this.getincomeSelectlist();
}, },
...@@ -502,17 +560,17 @@ export default { ...@@ -502,17 +560,17 @@ export default {
Reimbursement() { Reimbursement() {
this.isgetid = 1; this.isgetid = 1;
this.$refs.addTO.resetFields(); this.$refs.addTO.resetFields();
this.fileList = this.fileList.filter(item => item.uid !== file.uid); this.fileList = this.fileList.filter((item) => item.uid !== file.uid);
}, },
//发票提交页面的提交 //发票提交页面的提交
getlistForm() { getlistForm() {
if (this.fileTypeJpg == true) { if (this.fileTypeJpg == true) {
this.$refs.addTO.validate(valid => { this.$refs.addTO.validate((valid) => {
if (valid) { if (valid) {
this.addTO.userId = this.$store.getters.urId; this.addTO.userId = this.$store.getters.urId;
this.addTO.companyId = this.$store.getters.companyId; this.addTO.companyId = this.$store.getters.companyId;
insertList(this.addTO) insertList(this.addTO)
.then(res => { .then((res) => {
if (res.success) { if (res.success) {
//发票记录添加成功 //发票记录添加成功
//提交发票文件 //提交发票文件
...@@ -530,7 +588,7 @@ export default { ...@@ -530,7 +588,7 @@ export default {
time: null, time: null,
type: 0, //0 普票 1专票 type: 0, //0 普票 1专票
userId: null, userId: null,
pages: 1 pages: 1,
}; };
//this.$refs.upload.clearFiles(); //this.$refs.upload.clearFiles();
this.getincomeSelectlist(); this.getincomeSelectlist();
...@@ -539,7 +597,7 @@ export default { ...@@ -539,7 +597,7 @@ export default {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
}) })
.catch(e => { .catch((e) => {
this.$message.error("发票添加失败,检测是否重复"); this.$message.error("发票添加失败,检测是否重复");
}); });
} }
...@@ -581,15 +639,15 @@ export default { ...@@ -581,15 +639,15 @@ export default {
orders: [ orders: [
{ {
asc: null, asc: null,
column: null column: null,
} },
], ],
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
searchCount: null, searchCount: null,
status: null, status: null,
time: null, time: null,
type: null type: null,
}), }),
(this.invoiceList.companyId = this.$store.getters.companyId); (this.invoiceList.companyId = this.$store.getters.companyId);
this.invoiceList.pageNum = 1; this.invoiceList.pageNum = 1;
...@@ -598,12 +656,12 @@ export default { ...@@ -598,12 +656,12 @@ export default {
//发票的删除操作 //发票的删除操作
YesGet(row) { YesGet(row) {
deleteexpen(row) deleteexpen(row)
.then(res => { .then((res) => {
if (res.success) { if (res.success) {
this.visible = false; this.visible = false;
this.$message({ this.$message({
message: "发票删除成功", message: "发票删除成功",
type: "success" type: "success",
}); });
this.getincomeSelectlist( this.getincomeSelectlist(
this.invoicegetList.list.length > 1 this.invoicegetList.list.length > 1
...@@ -614,7 +672,7 @@ export default { ...@@ -614,7 +672,7 @@ export default {
this.$message.error(res.msg); this.$message.error(res.msg);
} }
}) })
.catch(e => { .catch((e) => {
this.$message.error(e.msg); this.$message.error(e.msg);
}); });
}, },
...@@ -633,6 +691,13 @@ export default { ...@@ -633,6 +691,13 @@ export default {
} }
} }
}, },
getFroms: function (value) {
var dt = new Date(value.time);
let year = dt.getFullYear();
let month = dt.getMonth() + 1;
let date = dt.getDate();
return `${year}${month}${date}日`;
},
getimagin(row) { getimagin(row) {
return process.env.VUE_APP_BASE_API + row.filePath; return process.env.VUE_APP_BASE_API + row.filePath;
}, },
...@@ -641,8 +706,8 @@ export default { ...@@ -641,8 +706,8 @@ export default {
const photopath = process.env.VUE_APP_BASE_API + row.filePath; const photopath = process.env.VUE_APP_BASE_API + row.filePath;
console.log(photopath); console.log(photopath);
window.open(photopath, "_blank"); window.open(photopath, "_blank");
} },
} },
}; };
</script> </script>
......
...@@ -92,8 +92,8 @@ export default { ...@@ -92,8 +92,8 @@ export default {
dialogVisible: false, dialogVisible: false,
companyId: '', companyId: '',
rules: { rules: {
rlName: [{ required: true, message: "角色名称不能为空" }], rlName: [{ required: true, message: "角色名称不能为空" ,trigger: 'blur' }],
rlDesc: [{ required: true, message: "角色描述不能为空" }] rlDesc: [{ required: true, message: "角色描述不能为空" ,trigger: 'blur' }]
} }
} }
}, },
......
...@@ -22,8 +22,7 @@ ...@@ -22,8 +22,7 @@
<el-select <el-select
v-model="invoiceListAdd" v-model="invoiceListAdd"
multiple multiple
filterable filterable
allow-create
default-first-option default-first-option
placeholder="请选择发票编号" placeholder="请选择发票编号"
> >
...@@ -52,15 +51,15 @@ ...@@ -52,15 +51,15 @@
<el-input v-model="expendFrom.expendObject"></el-input> <el-input v-model="expendFrom.expendObject"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="支出内容" prop="expendBody"> <el-form-item label="支出用途" prop="expendBody">
<el-input v-model="expendFrom.expendBody"></el-input> <el-input v-model="expendFrom.expendBody"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="支出备注" prop="expendRemarks"> <el-form-item label="支出附言">
<el-input v-model="expendFrom.expendRemarks"></el-input> <el-input v-model="expendFrom.expendRemarks"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="支出详情" prop="expendInformation"> <el-form-item label="支出详情">
<el-input <el-input
type="textarea" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" :autosize="{ minRows: 4, maxRows: 8 }"
...@@ -134,6 +133,7 @@ import { ...@@ -134,6 +133,7 @@ import {
} from "@/api/project"; } from "@/api/project";
import { selectAll } from "@/api/type"; import { selectAll } from "@/api/type";
import { insert } from "@/api/expend"; import { insert } from "@/api/expend";
import { money } from "@/utils/myValidate";
export default { export default {
data() { data() {
return { return {
...@@ -159,10 +159,8 @@ export default { ...@@ -159,10 +159,8 @@ export default {
//表单验证内容 //表单验证内容
rules: { rules: {
expendMoney: [ expendMoney: [
{ required: true, message: "请输入支出金额", trigger: "blur" },
{ {
pattern: /(^([-]?)[1-9]([0-9]+)?(\.[0-9]{1,6})?$)|(^([-]?)(0){1}$)|(^([-]?)[0-9]\.[0-9]([0-9])?$)/, validator: money,
message: "输入支出金额不合法",
trigger: "change" trigger: "change"
} }
], ],
...@@ -176,13 +174,7 @@ export default { ...@@ -176,13 +174,7 @@ export default {
{ required: true, message: "请输入支出对象", trigger: "change" } { required: true, message: "请输入支出对象", trigger: "change" }
], ],
expendBody: [ expendBody: [
{ required: true, message: "请输入支出内容", trigger: "change" } { required: true, message: "请输入支出用途", trigger: "change" }
],
expendRemarks: [
{ required: true, message: "请输入支出备注", trigger: "change" }
],
expendInformation: [
{ required: true, message: "请输入支出详情", trigger: "change" }
], ],
number: [ number: [
{ required: true, message: "请输入发票号码", trigger: "change" } { required: true, message: "请输入发票号码", trigger: "change" }
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
<div class="container"> <div class="container">
<div class="header"> <div class="header">
<el-form :inline="true" :model="expendQurey"> <el-form :inline="true" :model="expendQurey">
<el-form-item label="收入对象"> <el-form-item label="支出对象">
<el-input v-model="expendQurey.expendObject" placeholder="收入对象"></el-input> <el-input v-model="expendQurey.expendObject" placeholder="收入对象"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收入类别"> <el-form-item label="支出类别">
<el-select v-model="expendQurey.expendType"> <el-select v-model="expendQurey.expendType">
<el-option <el-option
v-for="item in options" v-for="item in options"
...@@ -16,11 +16,11 @@ ...@@ -16,11 +16,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="收入内容"> <el-form-item label="支出内容">
<el-input v-model="expendQurey.expendBody" placeholder="收入内容"></el-input> <el-input v-model="expendQurey.expendBody" placeholder="收入内容"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收入时间"> <el-form-item label="支出时间">
<el-date-picker <el-date-picker
v-model="mainTime" v-model="mainTime"
type="datetimerange" type="datetimerange"
...@@ -259,7 +259,6 @@ ...@@ -259,7 +259,6 @@
v-model="getListincom" v-model="getListincom"
multiple multiple
filterable filterable
allow-create
default-first-option default-first-option
style="width:100%;" style="width:100%;"
placeholder="请选择要添加的发票编号" placeholder="请选择要添加的发票编号"
......
...@@ -42,11 +42,11 @@ ...@@ -42,11 +42,11 @@
<el-input v-model="expendFrom.expendObject"></el-input> <el-input v-model="expendFrom.expendObject"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="支出内容" prop="expendBody"> <el-form-item label="支出用途" prop="expendBody">
<el-input v-model="expendFrom.expendBody"></el-input> <el-input v-model="expendFrom.expendBody"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="支出备注" prop="expendRemarks"> <el-form-item label="支出附言" prop="expendRemarks">
<el-input v-model="expendFrom.expendRemarks"></el-input> <el-input v-model="expendFrom.expendRemarks"></el-input>
</el-form-item> </el-form-item>
...@@ -81,6 +81,7 @@ ...@@ -81,6 +81,7 @@
<script> <script>
import { selectAll } from "@/api/type"; import { selectAll } from "@/api/type";
import { update,selectById,del} from "@/api/expend"; import { update,selectById,del} from "@/api/expend";
import { money } from "@/utils/myValidate";
export default { export default {
data() { data() {
return { return {
...@@ -106,7 +107,10 @@ export default { ...@@ -106,7 +107,10 @@ export default {
{ required: true, message: "请选择支出类型", trigger: "change" }, { required: true, message: "请选择支出类型", trigger: "change" },
], ],
expendMoney: [ expendMoney: [
{ required: true, message: "请输入支出金额", trigger: "blur" }, {
validator: money,
trigger: "change"
}
], ],
expendTime: [ expendTime: [
{ required: true, message: "请选择支出时间", trigger: "change" }, { required: true, message: "请选择支出时间", trigger: "change" },
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
v-model="invoiceListAdd" v-model="invoiceListAdd"
multiple multiple
filterable filterable
allow-create
default-first-option default-first-option
placeholder="请选择发票编号" placeholder="请选择发票编号"
> >
...@@ -51,10 +51,10 @@ ...@@ -51,10 +51,10 @@
<el-form-item label="收入用途" prop="incomeBody"> <el-form-item label="收入用途" prop="incomeBody">
<el-input v-model="incomeFrom.incomeBody"></el-input> <el-input v-model="incomeFrom.incomeBody"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收入附言" prop="incomeRemarks"> <el-form-item label="收入附言">
<el-input v-model="incomeFrom.incomeRemarks"></el-input> <el-input v-model="incomeFrom.incomeRemarks"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收入详情" prop="incomeInformation"> <el-form-item label="收入详情">
<el-input <el-input
type="textarea" type="textarea"
:autosize="{ minRows: 4, maxRows: 8 }" :autosize="{ minRows: 4, maxRows: 8 }"
...@@ -125,7 +125,7 @@ import { ...@@ -125,7 +125,7 @@ import {
} from "@/api/project"; } from "@/api/project";
import { selectAll } from "@/api/type"; import { selectAll } from "@/api/type";
import { insert } from "@/api/imcome"; import { insert } from "@/api/imcome";
import { money } from "@/utils/myValidate";
export default { export default {
data() { data() {
return { return {
...@@ -156,58 +156,17 @@ export default { ...@@ -156,58 +156,17 @@ export default {
incomeBody: [ incomeBody: [
{ required: true, message: "没有输入对收入内容", trigger: "change" } { required: true, message: "没有输入对收入内容", trigger: "change" }
], ],
incomeRemarks: [
{ required: true, message: "没有输入收入备注", trigger: "change" }
],
incomeInformation: [
{ required: true, message: "没有输入收入详情", trigger: "change" }
],
incomeMoney: [ incomeMoney: [
{ required: true, message: "请输入收入金额", trigger: "blur" },
{ {
pattern: /(^([-]?)[1-9]([0-9]+)?(\.[0-9]{1,6})?$)|(^([-]?)(0){1}$)|(^([-]?)[0-9]\.[0-9]([0-9])?$)/, validator: money,
message: "输入收入金额不合法",
trigger: "change" trigger: "change"
} }
], ],
incomeTime: [ incomeTime: [
{ required: true, message: "请选择收到时间", trigger: "change" } { required: true, message: "请选择收到时间", trigger: "change" }
], ],
time: [
{ required: true, message: "请选择发票时间", trigger: "change" }
],
number: [
{ required: true, message: "请输入发票号码", trigger: "change" }
],
code: [
{ required: true, message: "请输入发票代码", trigger: "change" }
],
category: [
{
required: true,
message: "请至少选择一个发票类型",
trigger: "change"
}
],
type: [
{
required: true,
message: "请至少选择一个发票类别",
trigger: "change"
}
],
mone: [{ required: true, message: "请输入发票金额", trigger: "change" }]
}, },
options: [
{
value: 0,
category: "普票"
},
{
value: 1,
category: "专票"
}
],
invoiceListAdd: [], //选择的发票号 invoiceListAdd: [], //选择的发票号
getinvoivelist: [], //查询的能选择的表单信息 getinvoivelist: [], //查询的能选择的表单信息
typeList: [], //收入类型列表 typeList: [], //收入类型列表
......
...@@ -180,7 +180,7 @@ ...@@ -180,7 +180,7 @@
v-model="getListincom" v-model="getListincom"
multiple multiple
filterable filterable
allow-create
default-first-option default-first-option
style="width:100%;" style="width:100%;"
placeholder="请选择要添加的发票编号" placeholder="请选择要添加的发票编号"
......
...@@ -42,11 +42,11 @@ ...@@ -42,11 +42,11 @@
<el-input v-model="incomeFrom.incomeObject"></el-input> <el-input v-model="incomeFrom.incomeObject"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收入内容" prop="incomeBody"> <el-form-item label="收入用途" prop="incomeBody">
<el-input v-model="incomeFrom.incomeBody"></el-input> <el-input v-model="incomeFrom.incomeBody"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="收入备注" prop="incomeRemarks"> <el-form-item label="收入附言" prop="incomeRemarks">
<el-input v-model="incomeFrom.incomeRemarks"></el-input> <el-input v-model="incomeFrom.incomeRemarks"></el-input>
</el-form-item> </el-form-item>
...@@ -81,6 +81,7 @@ ...@@ -81,6 +81,7 @@
<script> <script>
import { selectAll } from "@/api/type"; import { selectAll } from "@/api/type";
import { update, selectById, del } from "@/api/imcome"; import { update, selectById, del } from "@/api/imcome";
import { money } from "@/utils/myValidate";
export default { export default {
data() { data() {
return { return {
...@@ -106,7 +107,10 @@ export default { ...@@ -106,7 +107,10 @@ export default {
{ required: true, message: "请选择收入类型", trigger: "change" }, { required: true, message: "请选择收入类型", trigger: "change" },
], ],
incomeMoney: [ incomeMoney: [
{ required: true, message: "请输入收入金额", trigger: "blur" }, {
validator: money,
trigger: "change"
}
], ],
incomeTime: [ incomeTime: [
{ required: true, message: "请选择收入时间", trigger: "change" }, { required: true, message: "请选择收入时间", trigger: "change" },
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment