Commit 38272837 authored by 黄媛媛's avatar 黄媛媛

11

parent ad0e4a65
...@@ -14834,6 +14834,11 @@ ...@@ -14834,6 +14834,11 @@
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz", "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
"integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==" "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
}, },
"vue-bus": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/vue-bus/-/vue-bus-1.2.1.tgz",
"integrity": "sha512-uCSJEWFWoDZz+GV/Pj/wXAC7WVBLD18V62l+2ezd4UCsZWZB27Hz3K0M9WUcbNum/yKBoN+OkOCIrU6A9xqWhw=="
},
"vue-hot-reload-api": { "vue-hot-reload-api": {
"version": "2.3.4", "version": "2.3.4",
"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"moment": "^2.24.0", "moment": "^2.24.0",
"vue": "^2.5.2", "vue": "^2.5.2",
"vue-bus": "^1.2.1",
"vue-router": "^3.0.1", "vue-router": "^3.0.1",
"vxe-table": "^2.6.22", "vxe-table": "^2.6.22",
"xe-utils": "^2.2.15" "xe-utils": "^2.2.15"
......
var commonUtils = {
//json数组求和
CaluJsonArraySum: function (arr, filed, num) {
var sum = 0;
arr.forEach(item => {
if (item.hasOwnProperty(filed)) {
sum += Number(item[filed]);
}
});
return sum.toFixed(num);
},
//截取阿里返回文件路径
GetALiFileUrl: function (str) {
var newStr = str;
if (newStr.indexOf("?") != -1) {
newStr = newStr.split("?")[0];
}
return newStr;
},
/*正则表达式*/
Regex: {
isInteger: /[^\d]/g, //输入验证只能为整
el_isInteger: /^[\d]+$/, //element自带验证为整
el_Isdecimal: /^\d+(\.\d{0,2})?$/, //验证只能输入2位小数
el_IsdecimalTrr: /^\d+(\.\d{0,8})?$/, //验证只能输入8位小数
el_IsdecimalAll: /^[0-9]+([.]{1}[0-9]+){0,1}$/, //验证不限小数的
el_ISphone: /^((0\d{2,3}-\d{7,8})|(1([358][0-9]|4[579]|66|7[0135678]|9[89])[0-9]{8}))$/, //最新验证输入手机号 包括电话号码
el_IsFax: /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/, //验证传真号
el_IsInventer: /^(\-|\+?)\d+(\.\d+)?$/, //可以输入带正负号整数
el_IsIDnumber: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, //验证身份证号
el_IsEnglish: /^[a-zA-Z]/, //只能输入英文
el_IsChinese: /^[\u4E00-\u9FA5]{1,5}$/, //只能输入中文
el_IsNumEn: /^[a-zA-Z0-9]+$/ //输入数字或者字母
},
//文件上传对象
FileObject: function () {
return {
Url: "",
Name: "",
}
},
//实现每三位一个逗号分隔并且保留两位小数
addCommas: function (nStr) {
nStr += '';
let x = nStr.split('.');
let x1 = x[0];
let x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
},
formatMsgTime: function (qdateTime) {
var dateTimeStamp = Date.parse(qdateTime.replace(/-/gi, "/"));
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var month = day * 30;
var now = new Date().getTime();
var diffValue = now - dateTimeStamp;
if (diffValue < 0) {
return;
}
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
var result = "";
if (monthC >= 1) {
result = "" + parseInt(monthC) + "月前";
} else if (weekC >= 1) {
result = "" + parseInt(weekC) + "周前";
} else if (dayC >= 1) {
result = "" + parseInt(dayC) + "天前";
} else if (hourC >= 1) {
result = "" + parseInt(hourC) + "小时前";
} else if (minC >= 1) {
result = "" + parseInt(minC) + "分钟前";
} else
result = "刚刚";
return result;
},
formatMsgTime2: function (qdateTime, qdateTime2) {
var dateTimeStamp = Date.parse(qdateTime.replace(/-/gi, "/"));
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var month = day * 30;
var now = new Date(qdateTime2.replace(/-/gi, "/")).getTime();
var diffValue = now - dateTimeStamp;
if (diffValue < 0) {
return;
}
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
var result = "";
if (monthC >= 1) {
result = "" + parseInt(monthC) + "月前";
} else if (weekC >= 1) {
result = "" + parseInt(weekC) + "周前";
} else if (dayC >= 1) {
result = "" + parseInt(dayC) + "天前";
} else if (hourC >= 1) {
result = "" + parseInt(hourC) + "小时前";
} else if (minC >= 1) {
result = "" + parseInt(minC) + "分钟前";
} else
result = "刚刚";
return result;
},
changeMoneyToChinese(Num) { // 数字转中文大写
if (!Num) {
return '零'
}
var isNegative = false; // 是否负数
if (Num < 0) {
Num = -Num;
isNegative = true;
}
if (typeof Num == 'number') {
Num = Num.toString();
}
for (var i = Num.length - 1; i >= 0; i--) {
Num = Num.replace(",", ""); // 替换money中的“,”
Num = Num.replace(" ", ""); // 替换money中的空格
}
Num = Num.replace("¥", ""); // 替换掉可能出现的¥字符
if (isNaN(Num)) { // 验证输入的字符是否为数字
return;
}
// ---字符处理完毕,开始转换,转换采用前后两部分分别转换---//
let part = String(Num).split(".");
let newchar = "";
// 小数点前进行转化
for (var i = part[0].length - 1; i >= 0; i--) {
if (part[0].length > 10) {
// alertWarning("位数过大,无法计算");
return "";
} // 若数量超过拾亿单位,提示
let tmpnewchar = "";
let perchar = part[0].charAt(i);
switch (perchar) {
case "0":
tmpnewchar = "零" + tmpnewchar;
break;
case "1":
tmpnewchar = "壹" + tmpnewchar;
break;
case "2":
tmpnewchar = "贰" + tmpnewchar;
break;
case "3":
tmpnewchar = "叁" + tmpnewchar;
break;
case "4":
tmpnewchar = "肆" + tmpnewchar;
break;
case "5":
tmpnewchar = "伍" + tmpnewchar;
break;
case "6":
tmpnewchar = "陆" + tmpnewchar;
break;
case "7":
tmpnewchar = "柒" + tmpnewchar;
break;
case "8":
tmpnewchar = "捌" + tmpnewchar;
break;
case "9":
tmpnewchar = "玖" + tmpnewchar;
break;
}
switch (part[0].length - i - 1) {
case 0:
tmpnewchar = tmpnewchar + "元";
break;
case 1:
if (perchar != 0)
tmpnewchar = tmpnewchar + "拾";
break;
case 2:
if (perchar != 0)
tmpnewchar = tmpnewchar + "佰";
break;
case 3:
if (perchar != 0)
tmpnewchar = tmpnewchar + "仟";
break;
case 4:
tmpnewchar = tmpnewchar + "万";
break;
case 5:
if (perchar != 0)
tmpnewchar = tmpnewchar + "拾";
break;
case 6:
if (perchar != 0)
tmpnewchar = tmpnewchar + "佰";
break;
case 7:
if (perchar != 0)
tmpnewchar = tmpnewchar + "仟";
break;
case 8:
tmpnewchar = tmpnewchar + "亿";
break;
case 9:
tmpnewchar = tmpnewchar + "拾";
break;
}
newchar = tmpnewchar + newchar;
}
// 小数点之后进行转化
if (Num.indexOf(".") != -1) {
if (part[1].length > 2) {
// alertWarning("小数点之后只能保留两位,系统将自动截段");
part[1] = part[1].substr(0, 2);
}
for (var i = 0; i < part[1].length; i++) {
let tmpnewchar = "";
let perchar = part[1].charAt(i);
switch (perchar) {
case "0":
tmpnewchar = "零" + tmpnewchar;
break;
case "1":
tmpnewchar = "壹" + tmpnewchar;
break;
case "2":
tmpnewchar = "贰" + tmpnewchar;
break;
case "3":
tmpnewchar = "叁" + tmpnewchar;
break;
case "4":
tmpnewchar = "肆" + tmpnewchar;
break;
case "5":
tmpnewchar = "伍" + tmpnewchar;
break;
case "6":
tmpnewchar = "陆" + tmpnewchar;
break;
case "7":
tmpnewchar = "柒" + tmpnewchar;
break;
case "8":
tmpnewchar = "捌" + tmpnewchar;
break;
case "9":
tmpnewchar = "玖" + tmpnewchar;
break;
}
if (i == 0)
tmpnewchar = tmpnewchar + "角";
if (i == 1)
tmpnewchar = tmpnewchar + "分";
newchar = newchar + tmpnewchar;
}
}
// 替换所有无用汉字
while (newchar.search("零零") != -1)
newchar = newchar.replace("零零", "零");
newchar = newchar.replace("零亿", "亿");
newchar = newchar.replace("亿万", "亿");
newchar = newchar.replace("零万", "万");
newchar = newchar.replace("零元", "元");
newchar = newchar.replace("零角", "");
newchar = newchar.replace("零分", "");
if (newchar.charAt(newchar.length - 1) == "元" || newchar.charAt(newchar.length - 1) == "角") {
newchar = newchar + "整";
}
if (isNegative) {
newchar = '负' + newchar;
}
return newchar;
},
createComprisonFunction(propertyName) {
return function (object1, object2) {
var value1 = object1[propertyName];
var value2 = object2[propertyName];
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
};
},
//价格转换器
getConvertMoney(value) {
if (value === "" || value === undefined || value === null) {
value = 0.0
}
return parseFloat(value)
},
//两个日期比较大小 返回值大于0:date1>date2,返回值等于0:date1=date2,返回值小于0:date1<date2
CompareDate(date1, date2) {
var oDate1 = new Date(date1);
var oDate2 = new Date(date2);
if (oDate1.getTime() > oDate2.getTime()) {
return 1
} else if (oDate1.getTime() == oDate2.getTime()) {
return 0;
} else {
return -1;
}
},
//判断值是否为空
isNullOrEmpty: function (value) {
if (value === null || value === "" || value === undefined) {
return true;
} else {
return false;
}
},
//NULL转字符串
getStrValue: function (value) {
if (value == null) {
value = "";
}
return value;
},
//获取后面的字符串
getCaption: function (obj, splitStr) {
var index = obj.lastIndexOf(splitStr);
obj = obj.substring(index + 1, obj.length);
return obj;
},
//公用去掉域名
removeDomain: function (val) {
var reg = /^http(s)?:\/\/(.*?)\//;
return val.replace(reg, '');
},
//获取当前日期
getCurrentDate() {
var myDate = new Date();
//返回年月日
return myDate.getFullYear() + '-' + parseInt(myDate.getMonth() + 1) + "-" + myDate.getDate()
},
//判断字符串是否为数字
isNumber: function (val) {
var regPos = /^\d+(\.\d+)?$/; //非负浮点数
var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
if (regPos.test(val) || regNeg.test(val)) {
return true;
} else {
return false;
}
},
//去掉图片的https
replaceHttps: function (val) {
return val.replace("https", "http");
},
//计算两日期时间间隔
getDateTimeInterval: function (startDate, endDate) {
var diff = endDate.getTime() - startDate.getTime(); //时间差的毫秒数
//计算出相差天数
var days = Math.floor(diff / (24 * 3600 * 1000));
//计算出小时数
var leave1 = diff % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / (3600 * 1000));
//计算相差分钟数
var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / (60 * 1000));
//计算相差秒数
var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
var seconds = Math.round(leave3 / 1000);
var returnStr = seconds + "秒";
if (minutes > 0) {
returnStr = minutes + "分" + returnStr;
}
if (hours > 0) {
returnStr = hours + "小时" + returnStr;
}
if (days > 0) {
returnStr = days + "天" + returnStr;
}
return returnStr;
},
//将yyyy年mm月dd日 hh:mm:ss 转换为 yyyy-mm-dd hh:mm:ss
getDateStr(date) {
let dateStr = "";
if (date != "") {
let dateArr = date.split(' ');
let str = dateArr[0].replace(/[^\d]/g, '-');
dateStr = str.substr(0, str.length - 1) + ' ' + dateArr[1];
}
return dateStr;
},
/**
* 增加减少天数
* date:可以不传
* day:正数
*/
AddDay(date, day) {
var myDate = "";
if (date) {
myDate = new Date(date);
} else {
myDate = new Date();
}
myDate = myDate.setDate(myDate.getDate() + day);
myDate = new Date(myDate);
var seperator1 = "-";
var year = myDate.getFullYear();
var month = myDate.getMonth() + 1;
var strDate = myDate.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = year + seperator1 + month + seperator1 + strDate;
return currentdate;
}
}
export default commonUtils
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
</ul> </ul>
<table style="margin-top:10px" class="myTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0"> <table style="margin-top:10px" class="myTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0">
<thead> <thead>
<th>档案编码</th>
<th>物料档案名称</th> <th>物料档案名称</th>
<th>分类名称</th> <th>分类名称</th>
<th>品牌名</th> <th>品牌名</th>
...@@ -31,7 +32,6 @@ ...@@ -31,7 +32,6 @@
<th>条形码号</th> <th>条形码号</th>
<th>库存</th> <th>库存</th>
<th>型号</th> <th>型号</th>
<th>档案编码</th>
<th>操作人</th> <th>操作人</th>
<th>操作时间</th> <th>操作时间</th>
<th>备注</th> <th>备注</th>
...@@ -41,8 +41,9 @@ ...@@ -41,8 +41,9 @@
<tr v-for="(item,index) in tableData" :key="index"> <tr v-for="(item,index) in tableData" :key="index">
<td> <td>
<span class="commonStyle hoverSpan1"></span> <span class="commonStyle hoverSpan1"></span>
{{item.Name}} {{item.SuppliesNum}}
</td> </td>
<td>{{item.Name}}</td>
<td>{{item.CategoryName}}</td> <td>{{item.CategoryName}}</td>
<td>{{item.BrandName}}</td> <td>{{item.BrandName}}</td>
<td>{{item.Money}}</td> <td>{{item.Money}}</td>
...@@ -53,7 +54,7 @@ ...@@ -53,7 +54,7 @@
<div>安全库存:{{item.SafetyStock}}</div> <div>安全库存:{{item.SafetyStock}}</div>
</td> </td>
<td>{{item.SuppliesModel}}</td> <td>{{item.SuppliesModel}}</td>
<td>{{item.SuppliesNum}}</td>
<!-- <td> <!-- <td>
<img v-for="(subItem,index) in item.ImageList" :key="index" :src="subItem" alt=""> <img v-for="(subItem,index) in item.ImageList" :key="index" :src="subItem" alt="">
</td> --> </td> -->
...@@ -369,7 +370,6 @@ export default { ...@@ -369,7 +370,6 @@ export default {
this.dialogtitle="编辑物料档案"; this.dialogtitle="编辑物料档案";
this.dialogState=true; this.dialogState=true;
this.addMsg=Object.assign({},item) this.addMsg=Object.assign({},item)
console.log(item,'itemmm');
if(!this.addMsg.ImageList){ if(!this.addMsg.ImageList){
this.addMsg.ImageList=[]; this.addMsg.ImageList=[];
} }
...@@ -402,7 +402,6 @@ export default { ...@@ -402,7 +402,6 @@ export default {
}); });
}, },
treeClick(data){ treeClick(data){
console.log("data",data)
}, },
getNode(){ getNode(){
this.apiJavaPost("/api/property/CateporyGetTreeList",this.nodemsg, this.apiJavaPost("/api/property/CateporyGetTreeList",this.nodemsg,
......
...@@ -194,7 +194,6 @@ export default { ...@@ -194,7 +194,6 @@ export default {
res => { res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.departmentata=res.data.data; this.departmentata=res.data.data;
console.log("this.departmentata",this.departmentata)
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
...@@ -257,7 +256,6 @@ export default { ...@@ -257,7 +256,6 @@ export default {
res => { res => {
this.loading=false; this.loading=false;
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
console.log("res",res);
let data=res.data.data; let data=res.data.data;
this.tableData=data.pagelist.pageData; this.tableData=data.pagelist.pageData;
this.total=data.pagelist.count; this.total=data.pagelist.count;
......
...@@ -146,7 +146,6 @@ export default { ...@@ -146,7 +146,6 @@ export default {
res => { res => {
this.loading=false; this.loading=false;
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
console.log("res",res);
this.tableData=res.data.data.pageData; this.tableData=res.data.data.pageData;
this.total=res.data.data.count; this.total=res.data.data.count;
} else { } else {
......
...@@ -39,10 +39,10 @@ ...@@ -39,10 +39,10 @@
<vxe-table style="margin-top:15px" :loading="loading" <vxe-table style="margin-top:15px" :loading="loading"
:data="tableData"> :data="tableData">
<vxe-table-column field="SuppliesNum" title="耗材编码"></vxe-table-column> <vxe-table-column field="SuppliesNum" title="耗材编码"></vxe-table-column>
<vxe-table-column field="WareHouseName" title="仓库名称"></vxe-table-column>
<vxe-table-column field="SuppliesName" title="耗材名称"></vxe-table-column> <vxe-table-column field="SuppliesName" title="耗材名称"></vxe-table-column>
<vxe-table-column field="CategoryName" title="分类名称"></vxe-table-column> <vxe-table-column field="CategoryName" title="分类名称"></vxe-table-column>
<vxe-table-column field="SuppliesModel" title="耗材型号"></vxe-table-column> <vxe-table-column field="SuppliesModel" title="耗材型号"></vxe-table-column>
<vxe-table-column field="WareHouseName" title="仓库名称"></vxe-table-column>
<vxe-table-column field="BrandName" title="品牌"></vxe-table-column> <vxe-table-column field="BrandName" title="品牌"></vxe-table-column>
<vxe-table-column field="Units" title="单位"></vxe-table-column> <vxe-table-column field="Units" title="单位"></vxe-table-column>
<vxe-table-column field="SafetyStock" title="安全库存"></vxe-table-column> <vxe-table-column field="SafetyStock" title="安全库存"></vxe-table-column>
...@@ -153,7 +153,6 @@ export default { ...@@ -153,7 +153,6 @@ export default {
res => { res => {
this.loading=false; this.loading=false;
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
console.log("res",res);
this.tableData=res.data.data.pageData; this.tableData=res.data.data.pageData;
this.total=res.data.data.count; this.total=res.data.data.count;
} else { } else {
......
...@@ -66,12 +66,12 @@ ...@@ -66,12 +66,12 @@
<th>出库单编码</th> <th>出库单编码</th>
<th>仓库名称</th> <th>仓库名称</th>
<!-- <th>供应商名称</th> --> <!-- <th>供应商名称</th> -->
<th>出库时间</th>
<th>分类名称</th> <th>分类名称</th>
<th>耗材名称</th> <th>耗材名称</th>
<th>品牌名称</th> <th>品牌名称</th>
<th>库存</th> <th>库存</th>
<th>数量</th> <th>数量</th>
<th>出库时间</th>
<th width="150px">操作</th> <th width="150px">操作</th>
</thead> </thead>
<tbody> <tbody>
...@@ -86,12 +86,13 @@ ...@@ -86,12 +86,13 @@
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockOutNum}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockOutNum}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.WareHouseName}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">{{item.WareHouseName}}</td>
<!-- <td :rowspan="item.DetailList.length" v-if="index==0">{{item.SupplierName}}</td> --> <!-- <td :rowspan="item.DetailList.length" v-if="index==0">{{item.SupplierName}}</td> -->
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockOutDate}}</td>
<td>{{delist.CategoryName}}</td> <td>{{delist.CategoryName}}</td>
<td>{{delist.SuppliesName}}</td> <td>{{delist.SuppliesName}}</td>
<td>{{delist.BrandName}}</td> <td>{{delist.BrandName}}</td>
<td>{{delist.InventoryNum}}</td> <td>{{delist.InventoryNum}}</td>
<td>{{delist.Number}}</td> <td>{{delist.Number}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockOutDate}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0"> <td :rowspan="item.DetailList.length" v-if="index==0">
<!-- <el-tooltip class="item" effect="dark" content="编辑" placement="top"> <!-- <el-tooltip class="item" effect="dark" content="编辑" placement="top">
......
...@@ -55,13 +55,13 @@ ...@@ -55,13 +55,13 @@
<th>入库单编码</th> <th>入库单编码</th>
<th>仓库名称</th> <th>仓库名称</th>
<th>供应商名称</th> <th>供应商名称</th>
<th>入库时间</th>
<th>分类名称</th> <th>分类名称</th>
<th>耗材名称</th> <th>耗材名称</th>
<th>品牌名称</th> <th>品牌名称</th>
<th>单价</th> <th>单价</th>
<th>金额</th> <th>金额</th>
<th>数量</th> <th>数量</th>
<th>入库时间</th>
<th width="150px">操作</th> <th width="150px">操作</th>
</thead> </thead>
<tbody> <tbody>
...@@ -75,14 +75,14 @@ ...@@ -75,14 +75,14 @@
</td> </td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockInNum}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockInNum}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.WareHouseName}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">{{item.WareHouseName}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.SupplierName}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">{{item.SupplierName}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockInDate}}</td>
<td>{{delist.CategoryName}}</td> <td>{{delist.CategoryName}}</td>
<td>{{delist.SuppliesName}}</td> <td>{{delist.SuppliesName}}</td>
<td>{{delist.BrandName}}</td> <td>{{delist.BrandName}}</td>
<td>{{delist.UnitPrice}}</td> <td>{{delist.UnitPrice}}</td>
<td>{{delist.Money}}</td> <td>{{delist.Money}}</td>
<td>{{delist.Number}}</td> <td>{{delist.Number}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.StockInDate}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0"> <td :rowspan="item.DetailList.length" v-if="index==0">
<el-tooltip class="item" effect="dark" content="编辑" placement="top"> <el-tooltip class="item" effect="dark" content="编辑" placement="top">
......
...@@ -344,11 +344,7 @@ export default { ...@@ -344,11 +344,7 @@ export default {
); );
}, },
Nodeclick(obj,node){ Nodeclick(obj,node){
// console.log("obj",obj)
// this.msg.Name=obj.Name;
// this.msg.Tier=obj.Tier;
// this.msg.ParentId=obj.ParentId;
// this.getList();
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
......
...@@ -224,7 +224,6 @@ export default { ...@@ -224,7 +224,6 @@ export default {
this.addMsg.Tier=data.Tier; this.addMsg.Tier=data.Tier;
this.addMsg.Sort=data.Sort; this.addMsg.Sort=data.Sort;
this.getflList(data.Tier) this.getflList(data.Tier)
console.log("this.addMsg",this.addMsg)
}, },
DeleteNode(node,data){ DeleteNode(node,data){
this.Delete(node); this.Delete(node);
...@@ -347,11 +346,7 @@ export default { ...@@ -347,11 +346,7 @@ export default {
); );
}, },
Nodeclick(obj,node){ Nodeclick(obj,node){
// console.log("obj",obj)
// this.msg.Name=obj.Name;
// this.msg.Tier=obj.Tier;
// this.msg.ParentId=obj.ParentId;
// this.getList();
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
......
...@@ -201,7 +201,6 @@ export default { ...@@ -201,7 +201,6 @@ export default {
res => { res => {
this.loading=false; this.loading=false;
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
console.log("res",res);
this.tableData=res.data.data.pageData; this.tableData=res.data.data.pageData;
this.total=res.data.data.count; this.total=res.data.data.count;
} else { } else {
......
<template>
<div class="Sign">
<section class="signature">
<div class="signatureBox">
<div class="canvasBox" ref="canvasHW">
<canvas ref="canvasF" @touchstart='touchStart' @touchmove='touchMove' @touchend='touchEnd' @mousedown="mouseDown" @mousemove="mouseMove" @mouseup="mouseUp"></canvas>
<div class="btnBox">
<div @click="overwrite">重写</div>
<div @click="commit">提交签名</div>
</div>
</div>
</div>
<img class="imgCanvas" :src="imgUrl">
</section>
</div>
</template>
<script>
export default {
name: 'Sign',
data(){
return{
dialogVisible:true,
imgSrc:'',
stageInfo:'',
imgUrl:'',
client: {},
points: [],
canvasTxt: null,
startX: 0,
startY: 0,
moveY: 0,
moveX: 0,
endY: 0,
endX: 0,
w: null,
h: null,
isDown: false,
isViewAutograph: this.$route.query.isViews > 0,
contractSuccess: this.$route.query.contractSuccess
}
},
mounted(){
let canvas = this.$refs.canvasF
canvas.height = this.$refs.canvasHW.offsetHeight - 500
canvas.width = this.$refs.canvasHW.offsetWidth - 50
this.canvasTxt = canvas.getContext('2d')
this.stageInfo = canvas.getBoundingClientRect()
},
methods:{
mouseDown(ev) {
ev = ev || event
ev.preventDefault()
if (1) {
let obj = {
x: ev.offsetX,
y: ev.offsetY
}
this.startX = obj.x
this.startY = obj.y
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.points.push(obj)
this.isDown = true
}
},
mouseMove(ev) {
ev = ev || event
ev.preventDefault()
if (this.isDown) {
let obj = {
x: ev.offsetX,
y: ev.offsetY
}
this.moveY = obj.y
this.moveX = obj.x
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.startY = obj.y
this.startX = obj.x
this.points.push(obj)
}
},
mouseUp(ev) {
ev = ev || event
ev.preventDefault()
if (1) {
let obj = {
x: ev.offsetX,
y: ev.offsetY
}
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.points.push(obj)
this.points.push({x: -1, y: -1})
this.isDown = false
}
},
//重写
overwrite() {
this.canvasTxt.clearRect(0, 0, this.$refs.canvasF.width, this.$refs.canvasF.height)
this.points = []
},
//提交签名
commit() {
this.imgUrl=this.$refs.canvasF.toDataURL();
console.log(this.$refs.canvasF.toDataURL()) //签名img回传后台
},
//mobile
touchStart(ev) {
ev = ev || event
ev.preventDefault()
if (ev.touches.length == 1) {
let obj = {
x: ev.targetTouches[0].clienX,
y: ev.targetTouches[0].clientY,
}
this.startX = obj.x
this.startY = obj.y
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.points.push(obj)
}
},
touchMove(ev) {
ev = ev || event
ev.preventDefault()
if (ev.touches.length == 1) {
let obj = {
x: ev.targetTouches[0].clientX - this.stageInfo.left,
y: ev.targetTouches[0].clientY - this.stageInfo.top
}
this.moveY = obj.y
this.moveX = obj.x
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.startY = obj.y
this.startX = obj.x
this.points.push(obj)
}
},
touchEnd(ev) {
ev = ev || event
ev.preventDefault()
if (ev.touches.length == 1) {
let obj = {
x: ev.targetTouches[0].clientX - this.stageInfo.left,
y: ev.targetTouches[0].clientY - this.stageInfo.top
}
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.points.push(obj)
}
},
},
}
</script>
<style>
.Sign .signatureBox {
width: 100%;
height: calc(100% - 50px);
box-sizing: border-box;
overflow: hidden;
background: #fff;
z-index: 100;
display: flex;
flex-direction: column;
}
.Sign .canvasBox {
box-sizing: border-box;
flex: 1;
}
.Sign canvas {
border: 1px solid #7d7d7d;
}
.Sign .btnBox {
padding: 10px;
text-align: center;
}
.Sign .btnBox button:first-of-type {
background: transparent;
border-radius: 4px;
height: 40px;
width: 80px;
font-size: 14px;
}
.Sign .btnBox button:last-of-type {
background: #71b900;
color: #fff;
border-radius: 4px;
height: 40px;
width: 80px;
font-size: 14px;
}
</style>
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="approvalDetails"> <div class="approvalDetails">
<div style="border-bottom:1px solid #E2E4EB;padding-bottom:10px"> <div style="border-bottom:1px solid #E2E4EB;padding-bottom:10px">
<span class="pageTitle" style="float:inherit">详情</span> <span class="pageTitle" style="float:inherit">详情</span>
<span @click="backTo" class="backTo" style="">返回</span>
</div> </div>
<div style="margin-top:30px;background:rgba(255,255,255,1);border-radius:10px;padding:20px;position:relative;"> <div style="margin-top:30px;background:rgba(255,255,255,1);border-radius:10px;padding:20px;position:relative;">
<el-row style="border-bottom:1px solid #E2E4EB;padding-bottom:20px"> <el-row style="border-bottom:1px solid #E2E4EB;padding-bottom:20px">
...@@ -151,6 +152,9 @@ ...@@ -151,6 +152,9 @@
</ul> </ul>
</div> </div>
</div> </div>
<div v-if="son.SignImage!=''">
<img style="height: 82px;width: 143px;margin-top:10px;border: 1px solid #eee" :src="son.SignImage">
</div>
</div> </div>
</div> </div>
<div class="_more _mgt_15" v-for="(son,sindex) in item.AuditRecordList" v-if="son.AuditStatus!=2"> <div class="_more _mgt_15" v-for="(son,sindex) in item.AuditRecordList" v-if="son.AuditStatus!=2">
...@@ -182,6 +186,9 @@ ...@@ -182,6 +186,9 @@
</ul> </ul>
</div> </div>
</div> </div>
<div v-if="son.SignImage!=''">
<img style="height: 82px;width: 143px;margin-top:10px;border: 1px solid #eee" :src="son.SignImage">
</div>
</div> </div>
<div class="_right_content" v-else-if="item.AuditWay==3 && son.AuditStatus==1"> <div class="_right_content" v-else-if="item.AuditWay==3 && son.AuditStatus==1">
<p class="_name"> <p class="_name">
...@@ -240,6 +247,9 @@ ...@@ -240,6 +247,9 @@
</ul> </ul>
</div> </div>
</div> </div>
<div v-if="son.SignImage!=''">
<img style="height: 82px;width: 143px;margin-top:10px;border: 1px solid #eee" :src="son.SignImage">
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -267,11 +277,20 @@ ...@@ -267,11 +277,20 @@
</div> </div>
</div> </div>
</div> </div>
<textarea v-if="item.NextStep==1 && compType=='shenpi'" class="_textareaNew" v-model="addMsg.AuditDescription" placeholder="请输入..."></textarea> <textarea v-if="item.NextStep==1 && compType=='shenpi' &&item.SpecialNode==1" class="_textareaNew" v-model="addMsg.AuditDescription" placeholder="请输入..."></textarea>
<!-- 签名(当前审核人是否需要签名) -->
<div v-if="item.NextStep==1 &&item.SpecialNode==1 && compType=='shenpi'" style="margin-bottom:10px;padding:10px 0 0 0">
<p>
<span @click="signState=true" class="signSpan f12">签名</span>
</p>
<div v-show="addMsg.SignImage!=''">
<img style="height: 82px;width: 143px;margin-top:10px" :src="addMsg.SignImage">
</div>
</div>
</div> </div>
</template> </template>
<div v-if="GetDetail.Is_CanAudit==1 && compType=='shenpi'" class="_upload_box" style="margin-bottom:20px;padding-left:70px"> <div v-if="GetDetail.Is_CanAudit==1 && compType=='shenpi' && !needSign" class="_upload_box" style="margin-bottom:20px;padding-left:70px">
<ul class="clearfix"> <ul class="clearfix">
<li v-for="(img,imgIndex) in uploadImgList" :key="imgIndex"> <li v-for="(img,imgIndex) in uploadImgList" :key="imgIndex">
<img :src="img.src" alt=""> <img :src="img.src" alt="">
...@@ -297,10 +316,30 @@ ...@@ -297,10 +316,30 @@
<span @click="approvalOrder(1)" class="tongguo" >通过</span> <span @click="approvalOrder(1)" class="tongguo" >通过</span>
<span @click="approvalOrder(2)" class="bohui" >驳回</span> <span @click="approvalOrder(2)" class="bohui" >驳回</span>
</div> </div>
<!-- 申请人审批 -->
</div> </div>
</div> </div>
</div> </div>
<!-- 签名 -->
<div class="Sign" :class="signState?'zindex':''">
<div class="signature">
<p class="f14" style="padding:10px 10px 10px 0">签名
<span @click="CloseSign" style="float:right" class="el-icon-close"></span>
</p>
<div class="signatureBox">
<div class="canvasBox" ref="canvasHW">
<canvas ref="canvasF" @touchstart='touchStart' @touchmove='touchMove' @touchend='touchEnd' @mousedown="mouseDown" @mousemove="mouseMove" @mouseup="mouseUp"></canvas>
<div class="button" style="text-align:center;margin-top:20px">
<span @click="overwrite" class="tongguo" >重写</span>
<span @click="commit" class="bohui" >提交</span>
</div>
</div>
</div>
</div>
</div>
</div> </div>
</template> </template>
...@@ -322,20 +361,46 @@ export default { ...@@ -322,20 +361,46 @@ export default {
ImageList:[], ImageList:[],
UseReceiveId:'', UseReceiveId:'',
AuditType:'', AuditType:'',
SignImage:'',
}, },
compType:'', compType:'',
backto:'',
showTable:'',
danjuMsg:{ danjuMsg:{
pageIndex:1, pageIndex:1,
pageSize:20, pageSize:20,
ResourceId:'', ResourceId:'',
Type:1, Type:1,
}, },
imgSrc:'',
stageInfo:'',
imgUrl:'',
client: {},
points: [],
canvasTxt: null,
startX: 0,
startY: 0,
moveY: 0,
moveX: 0,
endY: 0,
endX: 0,
w: null,
h: null,
isDown: false,
isViewAutograph: this.$route.query.isViews > 0,
contractSuccess: this.$route.query.contractSuccess,
signState:false,
needSign:false,
} }
}, },
created(){ created(){
if(this.$route.query.compType){ if(this.$route.query.compType){
this.compType=this.$route.query.compType; this.compType=this.$route.query.compType;
} }
this.backto=this.$route.query.backto?this.$route.query.backto:'';
this.showTable=this.$route.query.showTable?this.$route.query.showTable:'';
if(this.$route.query.Id){ if(this.$route.query.Id){
this.addMsg.UseReceiveId=this.$route.query.Id; this.addMsg.UseReceiveId=this.$route.query.Id;
this.danjuMsg.ResourceId=this.$route.query.Id; this.danjuMsg.ResourceId=this.$route.query.Id;
...@@ -346,10 +411,156 @@ export default { ...@@ -346,10 +411,156 @@ export default {
}, },
mounted(){ mounted(){
let canvas = this.$refs.canvasF
canvas.height = this.$refs.canvasHW.offsetHeight - 100
canvas.width = this.$refs.canvasHW.offsetWidth - 10
this.canvasTxt = canvas.getContext('2d')
this.stageInfo = canvas.getBoundingClientRect()
}, },
methods:{ methods:{
CloseSign(){
this.signState=false;
},
// 签名
//重写
overwrite() {
this.canvasTxt.clearRect(0, 0, this.$refs.canvasF.width, this.$refs.canvasF.height)
this.points = []
},
//提交签名
commit() {
this.addMsg.SignImage =this.$refs.canvasF.toDataURL();
this.signState=false;
},
mouseDown(ev) {
ev = ev || event
ev.preventDefault()
if (1) {
let obj = {
x: ev.offsetX,
y: ev.offsetY
}
this.startX = obj.x
this.startY = obj.y
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.points.push(obj)
this.isDown = true
}
},
mouseMove(ev) {
ev = ev || event
ev.preventDefault()
if (this.isDown) {
let obj = {
x: ev.offsetX,
y: ev.offsetY
}
this.moveY = obj.y
this.moveX = obj.x
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.startY = obj.y
this.startX = obj.x
this.points.push(obj)
}
},
mouseUp(ev) {
ev = ev || event
ev.preventDefault()
if (1) {
let obj = {
x: ev.offsetX,
y: ev.offsetY
}
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.points.push(obj)
this.points.push({x: -1, y: -1})
this.isDown = false
}
},
//mobile
touchStart(ev) {
ev = ev || event
ev.preventDefault()
if (ev.touches.length == 1) {
let obj = {
x: ev.targetTouches[0].clienX,
y: ev.targetTouches[0].clientY,
}
this.startX = obj.x
this.startY = obj.y
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.points.push(obj)
}
},
touchMove(ev) {
ev = ev || event
ev.preventDefault()
if (ev.touches.length == 1) {
let obj = {
x: ev.targetTouches[0].clientX - this.stageInfo.left,
y: ev.targetTouches[0].clientY - this.stageInfo.top
}
this.moveY = obj.y
this.moveX = obj.x
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.startY = obj.y
this.startX = obj.x
this.points.push(obj)
}
},
touchEnd(ev) {
ev = ev || event
ev.preventDefault()
if (ev.touches.length == 1) {
let obj = {
x: ev.targetTouches[0].clientX - this.stageInfo.left,
y: ev.targetTouches[0].clientY - this.stageInfo.top
}
this.canvasTxt.beginPath()
this.canvasTxt.moveTo(this.startX, this.startY)
this.canvasTxt.lineTo(obj.x, obj.y)
this.canvasTxt.stroke()
this.canvasTxt.closePath()
this.points.push(obj)
}
},
// 签名结束
backTo(){
if(this.showTable!=''){
this.$router.push({
path: "/" + this.backto,
query:{
showTable:this.showTable
}
});
}else{
this.$router.push({
path: "/" + this.backto
});
}
},
getdanjuList(){ getdanjuList(){
this.apiJavaPost("/api/property/GetAuditChangeLogPageList",this.danjuMsg, this.apiJavaPost("/api/property/GetAuditChangeLogPageList",this.danjuMsg,
res => { res => {
...@@ -372,6 +583,13 @@ export default { ...@@ -372,6 +583,13 @@ export default {
this.Error("制单人跟审核人不能相同哟,请转交!"); this.Error("制单人跟审核人不能相同哟,请转交!");
return; return;
} }
if(this.needSign){
if(this.addMsg.SignImage==""){
this.Error("请签名!");
return;
}
}
this.addMsg.AuditType=num; this.addMsg.AuditType=num;
this.addMsg.ImageList=this.uploadImgList; this.addMsg.ImageList=this.uploadImgList;
this.apiJavaPost("/api/property/AuditOrRefund",this.addMsg, this.apiJavaPost("/api/property/AuditOrRefund",this.addMsg,
...@@ -434,7 +652,12 @@ export default { ...@@ -434,7 +652,12 @@ export default {
this.IsBoHui = true; this.IsBoHui = true;
break; break;
} }
if(this.GetDetail.AuditSteps[i].NextStep==1 && this.GetDetail.AuditSteps[i].SpecialNode==1){
this.needSign = true;
break;
}
} }
this.GetDetail.FirstStr=this.GetDetail.SourceName.slice(0,1) this.GetDetail.FirstStr=this.GetDetail.SourceName.slice(0,1)
this.GetDetail.AuditSteps = list; this.GetDetail.AuditSteps = list;
...@@ -451,6 +674,99 @@ export default { ...@@ -451,6 +674,99 @@ export default {
</script> </script>
<style> <style>
.approvalDetails .signSpan{
display: inline-block;
width: 100px;
height: 34px;
line-height: 34px;
border-radius: 22px;
text-align: center;
cursor: pointer;
font-size: 12px;
font-family: "宋体";
background: #FFA475;
color: #fff;
}
.approvalDetails{
position: relative;
}
.approvalDetails .zindex{
z-index: 9999!important;
opacity: 1!important;
}
.approvalDetails .signature{
width:600px;
background: #fff;
padding:15px;
border-radius: 20px;
cursor: pointer;
}
.approvalDetails .Sign{
position: fixed;
width:100%;
height:100%;
top:0;
left:0;
background: rgba(0,0,0,.4);
z-index: -500;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
}
.approvalDetails .Sign .signatureBox {
width: 100%;
height: 300px;
box-sizing: border-box;
overflow: hidden;
background: #fff;
z-index: 100;
display: flex;
flex-direction: column;
margin-top:20px;
padding:0 20px;
box-sizing: border-box;
}
.Sign .canvasBox {
box-sizing: border-box;
flex: 1;
}
.approvalDetails .Sign canvas {
border: 1px solid #7d7d7d;
}
.approvalDetails .Sign .btnBox {
padding: 10px;
text-align: center;
}
.approvalDetails .Sign .btnBox button:first-of-type {
background: transparent;
border-radius: 4px;
height: 40px;
width: 80px;
font-size: 14px;
}
.approvalDetails .Sign .btnBox button:last-of-type {
background: #71b900;
color: #fff;
border-radius: 4px;
height: 40px;
width: 80px;
font-size: 14px;
}
.approvalDetails .backTo{
width:80px;
height:34px;
line-height:34px;
background:rgba(0,210,214,1);
border-radius:17px;
text-align: center;
color: #fff;
font-size: 12px;
font-family: "宋体";
display: inline-block;
margin-left:15px;
cursor: pointer;
}
.detailsIT_Journal .InfoChangeLog{height: auto;max-height: 220px;background-color: #FFFFFF;} .detailsIT_Journal .InfoChangeLog{height: auto;max-height: 220px;background-color: #FFFFFF;}
.detailsIT_Journal .changLogList{padding-left: 20px;max-height: 180px;overflow: auto;} .detailsIT_Journal .changLogList{padding-left: 20px;max-height: 180px;overflow: auto;}
.detailsIT_Journal .changLogList_l{border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;} .detailsIT_Journal .changLogList_l{border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;}
...@@ -548,10 +864,10 @@ export default { ...@@ -548,10 +864,10 @@ export default {
.approvalDetails ._more ._right_content .iconfont{color: #AAAAAA} .approvalDetails ._more ._right_content .iconfont{color: #AAAAAA}
.approvalDetails ._more ._right_content ._name ._n{font-size: 14px;color: #333333;font-weight: bold;padding-left: 3px;} .approvalDetails ._more ._right_content ._name ._n{font-size: 14px;color: #333333;font-weight: bold;padding-left: 3px;}
.approvalDetails ._pb_son{position: relative;padding-left: 75px;min-height: 100px;padding-bottom: 30px} .approvalDetails ._pb_son{position: relative;padding-left: 75px;min-height: 100px;padding-bottom: 30px}
.approvalDetails ._left_radius{width: 40px;height: 40px;border-radius: 50%;text-align: center;line-height: 40px;background-color: #00D2D6;color: white;font-size: 12px;position: absolute;left: 15px;z-index: 2;} .approvalDetails ._left_radius{width: 40px;height: 40px;border-radius: 50%;text-align: center;line-height: 40px;background-color: #00D2D6;color: white;font-size: 12px;position: absolute;left: 15px;}
.approvalDetails ._left_radius_err{background-color: #E95252 !important;} .approvalDetails ._left_radius_err{background-color: #E95252 !important;}
.approvalDetails ._left_radius_sus{background-color: #FFA475 !important;} .approvalDetails ._left_radius_sus{background-color: #FFA475 !important;}
.approvalDetails ._pb_son::after{content: '';width: 4px;height: 100%;background-color: #00D2D6;display: inline-block;position: absolute;clear: both;left: 33px;top: 0;z-index: 1} .approvalDetails ._pb_son::after{content: '';width: 4px;height: 100%;background-color: #00D2D6;display: inline-block;position: absolute;clear: both;left: 33px;top: 0;}
.approvalDetails ._pb_son._none_after::after{content: '';display: none} .approvalDetails ._pb_son._none_after::after{content: '';display: none}
.approvalDetails ._pb_son._bohui_after::after{background-color: #E95252 !important;display: inline-block} .approvalDetails ._pb_son._bohui_after::after{background-color: #E95252 !important;display: inline-block}
.approvalDetails ._process_box{padding-top: 30px;padding-bottom: 40px;} .approvalDetails ._process_box{padding-top: 30px;padding-bottom: 40px;}
......
...@@ -100,26 +100,26 @@ ...@@ -100,26 +100,26 @@
{{item.AuditStatusName}} {{item.AuditStatusName}}
</td> </td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.SourceName}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">{{item.SourceName}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.OrderCode}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">
<span v-if="item.TempleteId>0" style="text-decoration: underline;" @click="See(item,'approvalDetails','approvalMan','chakan')">{{item.OrderCode}}</span>
<span v-else>{{item.OrderCode}}</span>
</td>
<td :rowspan="item.DetailList.length" v-if="index==0"> <td :rowspan="item.DetailList.length" v-if="index==0">
<p>{{item.EmName}}</p> <p>{{item.EmName}}</p>
<p>{{item.Time}}</p> <p>{{item.Time}}</p>
</td> </td>
<td :rowspan="item.DetailList.length" v-if="index==0"></td>
<td>{{delist.CategoryName}}</td> <td>{{delist.CategoryName}}</td>
<td>{{delist.PropertyName}}</td> <td>{{delist.PropertyName}}</td>
<td>{{delist.PropertyNum}}</td> <td>{{delist.PropertyNum}}</td>
<td>{{delist.BrandName}}</td> <td>{{delist.BrandName}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.UpdateBy}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">{{item.UpdateBy}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0"> <td :rowspan="item.DetailList.length" v-if="index==0">
<el-tooltip class="item" effect="dark" content="流程查看" placement="top">
<el-tooltip class="item" effect="dark" content="查看" placement="top"> <img v-if="item.TempleteId>0" @click="See(item,'approvalDetails','approvalMan','chakan')" style="width:24px;height:24px" src="../../assets/img/chakan.png" alt="">
<img @click="See(item,'approvalDetails','chakan')" style="width:24px;height:24px" src="../../assets/img/chakan.png" alt="">
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="审批" placement="top"> <el-tooltip class="item" effect="dark" content="审批" placement="top">
<img v-show="showTable==1" @click="See(item,'approvalDetails','shenpi')" style="width:24px;height:24px" src="../../assets/img/shenpi.png" alt=""> <img v-show="showTable==1" @click="See(item,'approvalDetails','approvalMan','shenpi')" style="width:24px;height:24px" src="../../assets/img/shenpi.png" alt="">
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="转交" placement="top"> <el-tooltip class="item" effect="dark" content="转交" placement="top">
<img v-show="showTable==1" @click="ZhuanJiao(item)" style="width:24px;height:24px" src="../../assets/img/huifu.png" alt=""> <img v-show="showTable==1" @click="ZhuanJiao(item)" style="width:24px;height:24px" src="../../assets/img/huifu.png" alt="">
...@@ -249,6 +249,10 @@ export default { ...@@ -249,6 +249,10 @@ export default {
} }
}, },
created(){
this.showTable=this.$route.query.showTable?this.$route.query.showTable:1;
},
mounted(){ mounted(){
this.getList(); this.getList();
this.getNode(); this.getNode();
...@@ -283,16 +287,17 @@ export default { ...@@ -283,16 +287,17 @@ export default {
}, },
ZhuanJiao(item){ ZhuanJiao(item){
this.dialogState=true; this.dialogState=true;
console.log("item",item);
this.addMsg.WorkFlowId=item.Id; this.addMsg.WorkFlowId=item.Id;
}, },
See(item,path,type){ See(item,path,backto,type){
let shenpistr=type; let shenpistr=type;
this.$router.push({ this.$router.push({
path: "/" + path, path: "/" + path,
query: { query: {
Id:item.Id, Id:item.Id,
backto:backto,
showTable:this.showTable,
compType:shenpistr, compType:shenpistr,
} }
}); });
...@@ -335,7 +340,6 @@ export default { ...@@ -335,7 +340,6 @@ export default {
res => { res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.StateEnumList=res.data.data; this.StateEnumList=res.data.data;
console.log("this.StateEnumList",this.StateEnumList)
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
...@@ -369,7 +373,6 @@ export default { ...@@ -369,7 +373,6 @@ export default {
this.apiJavaPost("/api/property/GetPropertyWaitMyAuditPageList",this.msg, this.apiJavaPost("/api/property/GetPropertyWaitMyAuditPageList",this.msg,
res => { res => {
this.loading=false; this.loading=false;
// console.log("res",res);
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.tableData=res.data.data.pageData; this.tableData=res.data.data.pageData;
this.total=res.data.data.count; this.total=res.data.data.count;
...@@ -386,7 +389,6 @@ export default { ...@@ -386,7 +389,6 @@ export default {
this.apiJavaPost("/api/property/GetPropertyMyAuditedPageList",this.msg, this.apiJavaPost("/api/property/GetPropertyMyAuditedPageList",this.msg,
res => { res => {
this.loading=false; this.loading=false;
// console.log("res",res);
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.tableData=res.data.data.pageData; this.tableData=res.data.data.pageData;
this.total=res.data.data.count; this.total=res.data.data.count;
...@@ -403,7 +405,6 @@ export default { ...@@ -403,7 +405,6 @@ export default {
this.apiJavaPost("/api/property/GetPropertyMyStartedPageList",this.msg, this.apiJavaPost("/api/property/GetPropertyMyStartedPageList",this.msg,
res => { res => {
this.loading=false; this.loading=false;
// console.log("res",res);
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.tableData=res.data.data.pageData; this.tableData=res.data.data.pageData;
this.total=res.data.data.count; this.total=res.data.data.count;
...@@ -432,7 +433,6 @@ export default { ...@@ -432,7 +433,6 @@ export default {
res => { res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.SourceList=res.data.data; this.SourceList=res.data.data;
console.log("this.SourceList",this.SourceList)
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
...@@ -452,6 +452,7 @@ export default { ...@@ -452,6 +452,7 @@ export default {
padding:20px 30px; padding:20px 30px;
box-sizing: border-box; box-sizing: border-box;
background: #F8FAFB; background: #F8FAFB;
} }
</style> </style>
...@@ -114,8 +114,8 @@ ...@@ -114,8 +114,8 @@
<el-tooltip class="item" effect="dark" content="终止" placement="top"> <el-tooltip class="item" effect="dark" content="终止" placement="top">
<img v-if="item.AuditStatus==2 && item.CreateBy==EmployeeId" @click="End(item)" style="width:24px;height:24px" src="../../assets/img/jinyong.png" alt=""> <img v-if="item.AuditStatus==2 && item.CreateBy==EmployeeId" @click="End(item)" style="width:24px;height:24px" src="../../assets/img/jinyong.png" alt="">
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="查看" placement="top"> <el-tooltip class="item" effect="dark" content="流程查看" placement="top">
<img v-if="item.TempleteId==0" @click="See(item,'approvalDetails','chakan')" style="width:24px;height:24px" src="../../assets/img/chakan.png" alt=""> <img v-if="item.TempleteId>0" @click="See(item,'approvalDetails','PaiTui','chakan')" style="width:24px;height:24px" src="../../assets/img/chakan.png" alt="">
</el-tooltip> </el-tooltip>
</td> </td>
...@@ -219,12 +219,18 @@ ...@@ -219,12 +219,18 @@
<td>{{delist.CancelStockEmployeeName}}</td> <td>{{delist.CancelStockEmployeeName}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0">{{item.Time}}</td> <td :rowspan="item.DetailList.length" v-if="index==0">{{item.Time}}</td>
<td :rowspan="item.DetailList.length" v-if="index==0"> <td :rowspan="item.DetailList.length" v-if="index==0">
<el-tooltip class="item" effect="dark" content="编辑" placement="top">
<img v-if="item.AuditStatus==3 && item.CreateBy==EmployeeId" @click="Edit1(item)" style="width:24px;height:24px" src="../../assets/img/edit.png" alt="">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top"> <el-tooltip class="item" effect="dark" content="删除" placement="top">
<img v-if="item.AuditStatus==3 || item.AuditStatus==5" @click="DeleteTuiku(item)" style="width:24px;height:24px" src="../../assets/img/delete.png" alt=""> <img v-if="item.AuditStatus==3 || item.AuditStatus==5" @click="DeleteTuiku(item)" style="width:24px;height:24px" src="../../assets/img/delete.png" alt="">
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="终止" placement="top"> <el-tooltip class="item" effect="dark" content="终止" placement="top">
<img v-if="item.AuditStatus==2" @click="EndTuiku(item)" style="width:24px;height:24px" src="../../assets/img/jinyong.png" alt=""> <img v-if="item.AuditStatus==2" @click="EndTuiku(item)" style="width:24px;height:24px" src="../../assets/img/jinyong.png" alt="">
</el-tooltip> </el-tooltip>
<el-tooltip class="item" effect="dark" content="流程查看" placement="top">
<img v-if="item.TempleteId>0" @click="See(item,'approvalDetails','PaiTui','chakan')" style="width:24px;height:24px" src="../../assets/img/chakan.png" alt="">
</el-tooltip>
</td> </td>
</tr> </tr>
...@@ -334,6 +340,7 @@ ...@@ -334,6 +340,7 @@
</div> </div>
</el-form> </el-form>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="退库单" title="退库单"
:visible.sync="dialogState1" :visible.sync="dialogState1"
...@@ -633,6 +640,7 @@ export default { ...@@ -633,6 +640,7 @@ export default {
// this.tableHeight=document.body.clientHeight-40-66-87; // this.tableHeight=document.body.clientHeight-40-66-87;
let userInfo = this.getLocalStorage(); let userInfo = this.getLocalStorage();
this.EmployeeId=userInfo.EmployeeId; this.EmployeeId=userInfo.EmployeeId;
this.showTable=this.$route.query.showTable?this.$route.query.showTable:1;
}, },
mounted(){ mounted(){
this.getList(); this.getList();
...@@ -641,10 +649,28 @@ export default { ...@@ -641,10 +649,28 @@ export default {
}, },
methods:{ methods:{
// 退库单编辑
Edit1(item){
this.addMsg1.Id=item.Id;
this.addMsg1.BackTime=item.Time;
this.addMsg1.Remark=item.Remark;
this.addMsg1.DetailList=[];
this.wlItemList=[];
item.DetailList.forEach(item=>{
item.Name=item.PropertyName;
item.PropertyStatusName="修改";
this.wlItemList.push(item);
})
this.dialogState1=true;
this.ItemCheckList=[];
},
// 编辑 // 编辑
Edit(item){ Edit(item){
console.log("item",item)
this.addMsg.EmployeeId=item.EmployeeId; this.addMsg.EmployeeId=item.EmployeeId;
this.addMsg.Id=item.Id;
this.addMsg.Time=item.Time; this.addMsg.Time=item.Time;
this.addMsg.Remark=item.Remark; this.addMsg.Remark=item.Remark;
...@@ -652,19 +678,22 @@ export default { ...@@ -652,19 +678,22 @@ export default {
this.wlItemList=[]; this.wlItemList=[];
item.DetailList.forEach(item=>{ item.DetailList.forEach(item=>{
item.Name=item.PropertyName; item.Name=item.PropertyName;
item.PropertyStatusName="修改";
this.wlItemList.push(item); this.wlItemList.push(item);
}) })
this.EmName=item.EmName; this.EmName=item.EmName;
this.getEmployee(2); this.getEmployee(2);
this.dialogState=true; this.dialogState=true;
this.ItemCheckList=[];
}, },
See(item,path,type){ See(item,path,backto,type){
let shenpistr=type; let shenpistr=type;
this.$router.push({ this.$router.push({
path: "/" + path, path: "/" + path,
query: { query: {
Id:item.Id, Id:item.Id,
backto:backto,
showTable:this.showTable,
compType:shenpistr, compType:shenpistr,
} }
}); });
...@@ -775,12 +804,13 @@ export default { ...@@ -775,12 +804,13 @@ export default {
if(this.ItemCheckList.length==0){ if(this.ItemCheckList.length==0){
return; return;
} }
this.$confirm("确认移出资产?","提示", { this.$confirm("确认移出资产?","提示", {
confirmButtonText:"确定", confirmButtonText:"确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
var set=this.ItemCheckList.map(item=>item.Id) var set=this.ItemCheckList.map(item=>item.PropertyId)
var resArr=this.wlItemList.filter(item=>!set.includes(item.PropertyId)) var resArr=this.wlItemList.filter(item=>!set.includes(item.PropertyId))
this.wlItemList=resArr; this.wlItemList=resArr;
this.addMsg.Money=0; this.addMsg.Money=0;
...@@ -797,6 +827,7 @@ export default { ...@@ -797,6 +827,7 @@ export default {
this.wlcheckList=[]; this.wlcheckList=[];
this.wlisCkedAll=false; this.wlisCkedAll=false;
}, },
// 选择资产
chooseWu(){ chooseWu(){
this.wlcheckList.forEach(item=>{ this.wlcheckList.forEach(item=>{
this.wlItemList.push(item); this.wlItemList.push(item);
......
...@@ -99,9 +99,8 @@ ...@@ -99,9 +99,8 @@
<td>{{item.PropertyModel}}</td> <td>{{item.PropertyModel}}</td>
<td> <td>
<p v-if="item.EmName!=''">使用人名称:{{item.EmName}}</p> <p>{{item.EmName}}</p>
<p v-if="item.GetTime!=''" style="padding:2px 0">使用时间:{{item.GetTime}}</p> <p style="padding:2px 0">{{item.GetTime}}</p>
<!-- <p>归还时间:{{item.BackTime}}</p> -->
</td> </td>
<td> <td>
...@@ -295,18 +294,25 @@ ...@@ -295,18 +294,25 @@
:visible.sync="caozuoState" :visible.sync="caozuoState"
top="3%" top="3%"
width="850px"> width="850px">
<div class="f12">
<span>资产名称:{{OperationInfo.Name}}</span>
<span style="margin:0 20px">资产编码:{{OperationInfo.PropertyNum}}</span>
</div>
<table class="myTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0"> <table class="myTable" v-loading="loading" border="0" cellspacing="0" cellpadding="0">
<thead> <thead>
<th>类型</th> <th>类型</th>
<th>内容</th> <th>内容</th>
<th>操作人</th> <th>操作人/时间</th>
<th>操作时间</th> <th>操作时间</th>
</thead> </thead>
<tbody> <tbody>
<tr v-for="(item,index) in OperationList" :key="index"> <tr v-for="(item,index) in OperationList" :key="index">
<td>{{item.TypeName}}</td> <td>{{item.TypeName}}</td>
<td>{{item.Content}}</td> <td>{{item.Content}}</td>
<td>{{item.CreateBy}}</td> <td>
<p>{{item.CreateBy}}</p>
<p>{{item.CreateDate}}</p>
</td>
<td>{{item.CreateDate}}</td> <td>{{item.CreateDate}}</td>
</tr> </tr>
<tr v-show="OperationList.length==0"> <tr v-show="OperationList.length==0">
...@@ -432,6 +438,7 @@ export default { ...@@ -432,6 +438,7 @@ export default {
PropertyId:'', PropertyId:'',
}, },
OperationList:[], OperationList:[],
OperationInfo:{},
OperationLoad:false, OperationLoad:false,
EmployeeList1:[], EmployeeList1:[],
EmployeeList2:[], EmployeeList2:[],
...@@ -449,6 +456,7 @@ export default { ...@@ -449,6 +456,7 @@ export default {
}, },
methods:{ methods:{
Operation(item){ Operation(item){
this.OperationInfo=item;
this.caozuoState=true; this.caozuoState=true;
this.msg1.PropertyId=item.Id; this.msg1.PropertyId=item.Id;
this.getOperation(); this.getOperation();
...@@ -649,7 +657,6 @@ export default { ...@@ -649,7 +657,6 @@ export default {
res => { res => {
if (res.data.resultCode === 1) { if (res.data.resultCode === 1) {
this.PropertyStatusList=res.data.data; this.PropertyStatusList=res.data.data;
console.log("状态",this.PropertyStatusList)
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
......
...@@ -102,13 +102,13 @@ export default { ...@@ -102,13 +102,13 @@ export default {
top:0; top:0;
left: 0; left: 0;
height: 100%; height: 100%;
z-index: 100; z-index: 1;
} }
.appContent .HeadDiv{ .appContent .HeadDiv{
position: fixed; position: fixed;
width: calc(100% - 214px); width: calc(100% - 214px);
top: 0; top: 0;
z-index: 200; z-index: 1;
background: #fff; background: #fff;
padding:20px 0; padding:20px 0;
} }
......
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