Commit c3dc43c4 by LJM

add

parent f6941768
.page-box {
.base-information {
padding: 0 24rpx;
background: #ffffff;
border-radius: 4rpx;
margin-bottom: 16rpx;
.top {
padding: 23rpx 0;
border-bottom: 1px solid #e6edf0;
.title {
.arrow {
width: 12rpx;
height: 12rpx;
background: #197adb;
margin-right: 16rpx;
border-radius: 50%;
}
.tt {
font-size: 32rpx;
color: #1e2021;
font-weight: bold;
}
}
.toggle {
.iconfont {
font-size: 15rpx;
color: #9ca8ad;
transform: rotate(180deg);
}
.tt {
margin-left: 11rpx;
font-size: 24rpx;
color: #404547;
}
.rotate {
transform: rotate(0deg);
}
}
}
.text-box {
padding: 24rpx 0;
flex-wrap: wrap;
.input-box {
margin-bottom: 18rpx;
flex: 0 0 50%;
.label {
width: 132rpx;
font-size: 28rpx;
color: #919399;
white-space: nowrap;
}
.text {
font-size: 28rpx;
color: #484b59;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.desc {
font-size: 28rpx;
color: #484b59;
word-break: break-all;
text-overflow: ellipsis;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
.tt {
font-size: 28rpx;
color: #1969f9;
}
}
}
.pp {
height: 80rpx;
.t1 {
width: 156rpx;
font-size: 24rpx;
color: #6e767a;
}
.input-wrap {
.uni-input {
font-size: 24rpx;
}
}
}
.scan-view {
.iconfont {
font-size: 48rpx;
color: #197adb;
}
}
}
.abnormal-information {
padding: 24rpx;
background: #ffffff;
border-radius: 4rpx;
margin-bottom: 48rpx;
.top {
margin-bottom: 24rpx;
.title {
.arrow {
width: 12rpx;
height: 12rpx;
background: #197adb;
margin-right: 16rpx;
border-radius: 50%;
}
.tt {
font-size: 32rpx;
color: #1e2021;
font-weight: bold;
}
}
}
.box {
height: 80rpx;
border-bottom: 1px solid #e6edf0;
.label {
position: relative;
width: 183rpx;
font-size: 24rpx;
color: #6e767a;
&.required:after {
position: absolute;
left: -10rpx;
top: -4rpx;
content: '*';
color: red;
display: block;
}
}
.input-wrap {
width: calc(100% - 183rpx);
.tab-panel {
&:last-child {
margin-right: 0;
}
}
}
.tab {
.tab-panel {
width: 120rpx;
height: 48rpx;
background: #9ca8ad;
border-radius: 4rpx;
font-size: 24rpx;
color: #ffffff;
margin-right: 24rpx;
&.curr {
background: #197adb;
}
}
}
.uni-list-cell-db {
width: calc(100% - 183rpx);
position: relative;
.icon-sanjiaoxing1 {
position: absolute;
right: 0;
top: 15rpx;
font-size: 17rpx;
color: #9ca8ad;
}
}
.uni-input {
font-size: 24rpx;
color: #404547;
font-weight: bold;
}
.uni-input-box {
width: calc(100% - 183rpx);
.uni-input {
font-size: 24rpx;
color: #404547;
font-weight: bold;
}
.scan-view {
.iconfont {
font-size: 48rpx;
color: #197adb;
margin-right: 10rpx;
}
.tt {
font-size: 24rpx;
color: #197adb;
}
}
}
}
.upload-box {
position: relative;
z-index: 1;
padding-top: 23rpx;
padding-bottom: 24rpx;
.title {
margin-bottom: 24rpx;
.tt-l {
font-size: 24rpx;
color: #6e767a;
}
.tt-r {
font-size: 24rpx;
color: #404547;
}
}
.upload-list {
padding-bottom: 24rpx;
border-bottom: 1px solid #e6edf0;
.default {
width: 144rpx;
height: 144rpx;
background-color: #f1f4f6;
border: 1rpx solid #e6edf0;
.iconfont {
font-size: 48rpx;
color: #d8d8d8;
}
}
.pic-box {
position: relative;
flex: 0 0 25%;
margin-right: 10rpx;
&:nth-of-type(4n) {
margin-right: 0;
}
image {
width: 144rpx;
height: 144rpx;
}
.delete {
position: absolute;
right: 10rpx;
top: -13rpx;
width: 30rpx;
height: 30rpx;
border-radius: 50%;
background-color: #bb3434;
z-index: 999;
.iconfont {
font-size: 20rpx;
color: #ffffff;
}
}
}
}
.textarea-box {
position: relative;
padding-top: 23rpx;
textarea {
height: 80rpx;
font-size: 24rpx;
color: #6e767a;
border-bottom: 1px solid #e6edf0;
}
.quickExpressions {
margin-top: 12rpx;
flex-wrap: wrap;
.lable-box {
color: #197adb;
font-size: 26rpx;
margin-right: 30rpx;
margin-bottom: 10rpx;
}
}
}
}
}
.btn {
position: fixed;
bottom: 10rpx;
z-index: 2;
left: 0;
right: 0;
height: 88rpx;
background: #197adb;
border-radius: 4rpx;
font-size: 28rpx;
color: #ffffff;
margin: 0 24rpx;
}
}
......@@ -218,6 +218,19 @@
margin-right: 0;
}
}
.num {
position: absolute;
width: 40rpx;
height: 40rpx;
line-height: 20px;
border-radius: 20rpx;
background: red;
color: #fff;
top: -9rpx;
right: 8rpx;
font-size: 24rpx;
text-align: center;
}
}
.scroll-Y {
height: 100%;
......
......@@ -149,11 +149,6 @@
name: '货品查询',
iconfont: 'icon-huopinchaxun',
tips: ''
},
{
name: '异常管理',
iconfont: 'icon-a-10cangkucangchu1',
tips: ''
}
]
};
......
......@@ -20,16 +20,19 @@
</view>
<view class="row radio-box">
<radio-group @change="radioChange" class="row verCenter" style="width: 100%;">
<label class="radio row verCenter" style="width: 30%;">
<label class="radio row verCenter">
<radio value="" style="transform:scale(0.7)" color="#197adb" />全部
</label>
<label class="radio row verCenter">
<radio value="0" style="transform:scale(0.7)" color="#197adb" />待业务处理
</label>
<label class="radio row verCenter" style="width: 30%;">
<label class="radio row verCenter">
<radio value="1" style="transform:scale(0.7)" color="#197adb" />待仓库确认
</label>
<label class="radio row verCenter" style="width: 20%;">
<label class="radio row verCenter">
<radio value="2" style="transform:scale(0.7)" color="#197adb" />已确认
</label>
<label class="radio row verCenter" style="width: 20%;">
<label class="radio row verCenter">
<radio value="-1" style="transform:scale(0.7)" color="#197adb" />作废
</label>
</radio-group>
......@@ -40,7 +43,7 @@
<view class="box row" v-for="(item, index) in list" :key="index">
<view class="input-box row verCenter bothSide" style="flex: 0 0 100%;">
<view>
<text class="tt" style="color: #000;font-weight: bold;" @click="open()">{{ item.entrust_no }}</text>
<text class="tt" style="color: #000;font-weight: bold;">{{ item.entrust_no }}</text>
</view>
<view class="row verCenter">
<text class="text" style="color: red;font-weight: bold;">{{ item.abnormal_type_val }}</text>
......@@ -57,7 +60,9 @@
</view>
<view class="input-box row verCenter" style="flex: 0 0 100%;">
<text class="label">实物型号:</text>
<text class="text">{{item.actual_model}}</text>
<view class="text">
<rich-text :nodes="highlightDifferences(item.order_model, item.actual_model)"></rich-text>
</view>
</view>
<view class="input-box row verCenter" style="flex: 0 0 100%;">
<text class="label">订单品牌:</text>
......@@ -190,8 +195,9 @@
export default {
data() {
return {
noexebshowFalg: true, //控制是否会触发生命周期
page: 1,
limit: 30,
limit: 10,
list: [],
index: 0,
array: ['全量搜索'],
......@@ -207,7 +213,8 @@
allOrderDataByEntrustNoIndex: -1,
order_id: '',
searchParams: {
keyword: ''
keyword: '',
abnormal_status: ''
}
};
},
......@@ -220,12 +227,14 @@
},
onNavigationBarButtonTap(e) {
if (e.index == 0) {
this.open();
}
},
onShow() {
this.getData();
this.$refs.popup.open();
if (this.noexebshowFalg) {
this.resetChange();
this.getData();
}
},
methods: {
/**
......@@ -242,7 +251,9 @@
},
radioChange: function(e) {
var value = e.detail.value;
console.log(value)
this.searchParams.abnormal_status = value;
this.resetChange();
this.getData();
},
getData() {
this.request(API.abnormalManageList, 'GET', { page: this.page, limit: this.limit, ...this.searchParams }, true).then(res => {
......@@ -263,6 +274,38 @@
});
},
/**
* 比较两个字符串并标记不同的字符
* @param {string} str1 - 第一个字符串
* @param {string} str2 - 第二个字符串
* @returns {string} 处理后的第二个字符串,带有<em>标签
*/
highlightDifferences(str1, str2) {
// 去除前后空格
str1 = str1.trim();
str2 = str2.trim();
// 初始化结果字符串
let result = '';
const maxLength = Math.max(str1.length, str2.length);
// 逐字符比较
for (let i = 0; i < maxLength; i++) {
const char1 = str1[i] || ''; // 如果str1比str2短,取空字符
const char2 = str2[i] || ''; // 如果str2比str1短,取空字符
// 比较字符
if (char1 !== char2) {
// 如果字符不同,在第二个字符串中用<em>包裹
result += `<span style="color: red">${char2}</span>`;
} else {
// 如果字符相同,直接添加到结果中
result += char2;
}
}
return result;
},
/**
* 预览图片
* @param {Object} img
* @param {Object} index
......@@ -433,6 +476,8 @@
});
return false;
}
this.$refs.popup.close();
this.$refs.popupErpSn.close();
let erp_order_sn = this.allOrderDataByEntrustNoList[this.allOrderDataByEntrustNoIndex].erp_order_sn;
let salesman = this.allOrderDataByEntrustNoList[this.allOrderDataByEntrustNoIndex].salesman;
uni.navigateTo({
......@@ -456,6 +501,7 @@
duration: 1000
});
setTimeout(() => {
this.resetChange();
this.getData();
}, 1000)
} else {
......@@ -488,6 +534,7 @@
duration: 1000
});
setTimeout(() => {
this.resetChange();
this.getData();
}, 1000)
} else {
......
......@@ -205,7 +205,11 @@
<view class="btn-list row verCenter bothSide" v-if="!tallyData.detail">
<navigator url="/pages/tally/fixBox" class="box row rowCenter verCenter" hover-class="none">合 箱</navigator>
<navigator url="/pages/tally/unboxing" class="box row rowCenter verCenter" hover-class="none">重新开箱</navigator>
<navigator url="/pages/tally/abnormalTally" class="box row rowCenter verCenter" hover-class="none">理货异常处理</navigator>
<navigator url="/pages/tally/abnormalTally" class="box row rowCenter verCenter" hover-class="none">美产商检管理</navigator>
<view style="position:relative;">
<navigator url="/pages/tally/abnormalManageList" class="box row rowCenter verCenter" hover-class="none">异常管理</navigator>
<text class="num row verCenter rowCenter" v-if="stayHandleCount > 0">{{stayHandleCount}}</text>
</view>
</view>
<!-- 选择国家 -->
<uni-popup ref="popup" background-color="#F1F4F6">
......@@ -356,7 +360,8 @@
},
net_weight_total: 0, //净重合计
allChecked: false,
checkboxItems: []
checkboxItems: [],
stayHandleCount: 0
};
},
watch: {
......@@ -381,6 +386,9 @@
});
}
},
onShow() {
this.getStayHandleCount();
},
methods: {
/**
* 点击遮罩层触发
......@@ -778,6 +786,16 @@
});
},
/**
* 获取异常待处理数
*/
getStayHandleCount() {
this.request(API.getStayHandleCount, 'GET', {}, false).then(res => {
if (res.err_code === 0) {
this.stayHandleCount = res.data || 0;
}
});
},
/**
* 获取产地升级版
*/
getOriginCn() {
......
......@@ -377,7 +377,11 @@ const API = {
/**
* 获取快捷用语
*/
getQuickExpressions: API_BASE + '/supplywechatwms/getQuickExpressions'
getQuickExpressions: API_BASE + '/supplywechatwms/getQuickExpressions',
/**
* 待处理数
*/
getStayHandleCount: API_BASE + '/supplywechatwms/getStayHandleCount'
}
......
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 sign in to comment