wangfukang 3 years ago
parent
commit
13ef22cf93
  1. 164
      package1/AI/AIHangOrderList.vue
  2. 38
      package1/AI/AIInventoryList.vue
  3. 16
      package1/AI/AiChat.vue
  4. 8
      package1/inventory/batchPrint.vue
  5. 14
      package1/inventory/getProductIdToList.vue
  6. 12
      package1/other/logistics.vue
  7. 173
      package1/other/tutorialDetail.vue
  8. 175
      package1/other/tutorialList.vue

164
package1/AI/AIHangOrderList.vue

@ -86,14 +86,33 @@
</view>
<view class="shop-list" v-for="(items,index1) in item.saleDetailDTOList" :key="index1">
<view class="order-name">
<text style="float: left;"><text style="width: 80%;">{{items.productName}}({{items.productSn}})</text>单价:{{items.discountAmount || items.wholesalePrice}}</text>
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/6b5ab32ff93a4c51b90e562e0b22e850.png" @tap.stop="largeImg(items.productPicture)" alt="">
<view style="width: 80%;float: left;">
<view style="">
{{items.productName}}({{items.productSn}})
</view>
<view style="font-size: 30rpx;font-weight: 400;">
单价:{{items.discountAmount || items.wholesalePrice}}
<!-- 数量:{{items.realPrice/items.discountAmount || items.realPrice/items.wholesalePrice}}
总价:{{items.realPrice}} -->
</view>
</view>
<view class="big-img" @tap="largeImg(items.productPicture)"></view>
</view>
<view style="display: flex;height: 60rpx;line-height: 60rpx;text-align: center;border-top: 1px solid #eee;">
<view style="width: 10%;">操作</view>
<view style="width: 60%;">规格</view>
<view style="width: 30%;">数量</view>
</view>
<view class="specs-name" v-for="(itemss,index2) in items.stockLogList1" :key="index2">
<view style="margin-right:5%;" @tap="delGoodsPrecs(item,index1,index2)">
<view style="width: 10%;" @tap="delGoodsPrecs(item,index1,index2)">
<uni-icons color="red" type="minus" size="26"></uni-icons>
</view>
{{itemss.attributeList | sliceMsg}} * {{itemss.productCount}}
<view style="width: 60%;">
{{itemss.attributeList | sliceMsg}}
</view>
<view style="width: 30%;">
{{itemss.productCount}}
</view>
</view>
<view class="del-icon" @tap.stop="delGoods(item,items.productId)">
<uni-icons color="red" type="trash" size="26"></uni-icons>
@ -103,6 +122,7 @@
</view>
</view>
</view>
<u-loadmore :status="status" />
<!-- 查看大图弹出层 -->
<uni-popup ref="imgPopup" background-color="#fff">
<view class="img-popup-content">
@ -181,18 +201,18 @@
</ul>
<view style="padding-bottom: 100rpx;">
<view class="shop-checkList" v-if="temporaryList != ''">
<view class="shop-checkList-box" style="width:67%;">
<view class="shop-checkList-box" style="width: 69.5%;">
<text style="width: 300rpx;display: inline-block;font-size: 30rpx;font-weight: bold;padding-left: 40rpx;">规格</text>
<text style="font-size: 30rpx;color: #000;font-weight: bold;width: 110rpx;display: inline-block;text-align: right;">库存</text>
</view>
<uni-number-box max='1000000' @minus='minusNum' @plus="plusNum" v-model="allChangeNum" @blur="allChange" />
</view>
<view class="shop-checkList" v-for="(item,index) in temporaryList" :key="index">
<view @tap.stop="delCarData(index)" style="margin-right: 20rpx">
<view @tap.stop="delCarData(index)" style="margin-right: 20rpx;width: 7%;">
<uni-icons color="red" type="minus" size="26"></uni-icons>
</view>
<view class="shop-checkList-box">
<text style="width: 300rpx;display: inline-block;">{{item.name}}</text> <text style="color:#777;font-size: 12px;">库存:{{item.productNum}}</text>
<text style="width: 300rpx;display: inline-block;">{{item.name}}</text> <text style="color:#777;font-size: 12px;">{{item.productNum==null?'无库存':item.productNum}}</text>
</view>
<uni-number-box max='1000000' v-model="item.productCount" @change="temporaryChange" />
</view>
@ -237,6 +257,7 @@
khName:[],
regList:[],
pageNumber: 1,
status: 'loadmore',
recordState: false,
voiceText: ' ',
list: [],
@ -256,7 +277,7 @@
hangId: '',
bigImg: '',
productId:'',
productNum:0,
productNum:null,
pageOldTemList: [],
oldTemList: [],
goodsList: [],
@ -265,7 +286,8 @@
dataObj: new Map(),
allChangeNum:0,
isPlusAndMinus:false,
shopName:''
shopName:'',
pages:1
}
},
filters: {
@ -281,7 +303,15 @@
}
},
onPullDownRefresh(){
this.pageNumber = 1;
this.regList = []
this.getRegList()
},
onReachBottom() {
if (this.pageNumber >= this.pages) return;
this.status = 'loading';
this.pageNumber ++
this.getRegList();
},
onShow() {
this.khName = JSON.parse(JSON.stringify(this.khName)) || ''
@ -301,6 +331,8 @@
})
}
this.khName = []
this.pageNumber = 1;
this.regList = []
this.getRegList()
},
onLoad() {
@ -319,10 +351,16 @@
}
this.tui.request("/app/sale/listPages", "POST", obj, false, false).then((res) => {
if (res.code == 200) {
this.status = 'nomore';
for (let i = 0; i < res.result.records.length; i++) {
res.result.records[i].isCollapse = false
}
this.regList = res.result.records;
if (this.pages == 1) {
this.regList = res.result.records;
} else {
this.regList = [...this.regList, ...res.result.records]
}
this.pages = res.result.pages
} else {
this.tui.toast(res.message)
}
@ -343,6 +381,8 @@
receiveAddress:this.khName.address
}, false, false).then((res) => {
if (res.code == 200) {
this.pageNumber = 1;
this.regList = []
this.getRegList()
} else {
this.tui.toast(res.message)
@ -518,7 +558,7 @@
this.attributeList = {
attributeList: value[i],
productCount: this.temporaryNum,
productNum: this.productNum,
productNum: null,
name: evalue[i],
price: this.purchasePrice
}
@ -580,6 +620,7 @@
for (var i = 0; i < this.temporaryList.length; i++) {
for (var m = 0; m < this.pecsList.length; m++) {
if (this.temporaryList[i].attributeList == this.pecsList[m].attributeList) {
console.log('走进来',this.pecsList[m].stockCount)
this.temporaryList[i].productNum = this.pecsList[m].stockCount
}
}
@ -656,6 +697,8 @@
saleId: this.hangId
}, false, false).then((res) => {
if (res.code == 200) {
this.pageNumber = 1;
this.regList = []
this.getRegList()
this.carList = []
} else {
@ -705,6 +748,8 @@
id: id,
}, false, true).then((res) => {
if (res.code == 200) {
that.pageNumber = 1;
that.regList = []
that.getRegList()
uni.showToast({
title:"删除成功",
@ -770,34 +815,45 @@
let newSaleDetailDTOList = []
let num = 0
for(let m = 0; m < item.saleDetailDTOList[i].stockLogList1.length; m++){
if(attrMap.has(item.saleDetailDTOList[i].stockLogList1[m].attributeList) == true){
let hasCount = attrMap.get(item.saleDetailDTOList[i].stockLogList1[m].attributeList)
newSaleDetailDTOList[hasCount].productCount = Number(newSaleDetailDTOList[hasCount].productCount) + Number(item.saleDetailDTOList[i].stockLogList1[m].productCount)
}else{
item.saleDetailDTOList[i].stockLogList1[m].name = this.sliceMsg(item.saleDetailDTOList[i].stockLogList1[m].attributeList)
newSaleDetailDTOList.push(item.saleDetailDTOList[i].stockLogList1[m])
attrMap.set(item.saleDetailDTOList[i].stockLogList1[m].attributeList,num)
num++
if(item.saleDetailDTOList[i].stockLogList1[m].stockCount != null){
if(attrMap.has(item.saleDetailDTOList[i].stockLogList1[m].attributeList) == true){
let hasCount = attrMap.get(item.saleDetailDTOList[i].stockLogList1[m].attributeList)
newSaleDetailDTOList[hasCount].productCount = Number(newSaleDetailDTOList[hasCount].productCount) + Number(item.saleDetailDTOList[i].stockLogList1[m].productCount)
}else{
item.saleDetailDTOList[i].stockLogList1[m].name = this.sliceMsg(item.saleDetailDTOList[i].stockLogList1[m].attributeList)
newSaleDetailDTOList.push(item.saleDetailDTOList[i].stockLogList1[m])
attrMap.set(item.saleDetailDTOList[i].stockLogList1[m].attributeList,num)
num++
}
}
}
console.log(newSaleDetailDTOList.length)
if(newSaleDetailDTOList.length != 0){
obj.saleDetailQueryDTO = newSaleDetailDTOList
obj.num = 0
obj.id = item.saleDetailDTOList[i].productId
obj.price = item.saleDetailDTOList[i].price
obj.lsprice = item.saleDetailDTOList[i].price
obj.categoryId=item.saleDetailDTOList[i].categoryId
obj.zPrice = item.saleDetailDTOList[i].discountAmount
obj.unitPrice = item.saleDetailDTOList[i].discountAmount || item.saleDetailDTOList[i].wholesalePrice
obj.productName = item.saleDetailDTOList[i].productName
obj.productPicture = item.saleDetailDTOList[i].productPicture+'?time='+new Date().getTime()
obj.productSn = item.saleDetailDTOList[i].productSn
obj.wholesalePrice = item.saleDetailDTOList[i].wholesalePrice
obj.saleId = item.id
obj.remark = item.remark
obj.xsyId = item.createBy
obj.createByName = item.createByName
dataList.push(obj)
}else{
obj.saleId = item.id
obj.remark = item.remark
obj.xsyId = item.createBy
obj.createByName = item.createByName
dataList.push(obj)
}
obj.saleDetailQueryDTO = newSaleDetailDTOList
obj.num = 0
obj.id = item.saleDetailDTOList[i].productId
obj.price = item.saleDetailDTOList[i].price
obj.lsprice = item.saleDetailDTOList[i].price
obj.categoryId=item.saleDetailDTOList[i].categoryId
obj.zPrice = item.saleDetailDTOList[i].discountAmount
obj.unitPrice = item.saleDetailDTOList[i].discountAmount || item.saleDetailDTOList[i].wholesalePrice
obj.productName = item.saleDetailDTOList[i].productName
obj.productPicture = item.saleDetailDTOList[i].productPicture+'?time='+new Date().getTime()
obj.productSn = item.saleDetailDTOList[i].productSn
obj.wholesalePrice = item.saleDetailDTOList[i].wholesalePrice
obj.saleId = item.id
obj.remark = item.remark
obj.xsyId = item.createBy
obj.createByName = item.createByName
dataList.push(obj)
}
}else{
let obj = {}
@ -1017,6 +1073,9 @@
},
//删除商品下的单条规格
delGoodsPrecs(item, index, index1) {
console.log(item);
console.log(index);
console.log(index1);
let that = this;
this.hangId = item.id;
uni.showModal({
@ -1024,10 +1083,9 @@
content: "确定删除此条规格吗?",
success: function(res) {
if (res.confirm) {
item.saleDetailDTOList[index].stockLogList1.splice(item.saleDetailDTOList[index]
.stockLogList1[index1], 1)
that.carList = item.saleDetailDTOList
that.setSaleDetail();
item.saleDetailDTOList[index].stockLogList1.splice(index1, 1)
that.carList = item.saleDetailDTOList
that.setSaleDetail();
}
}
})
@ -1284,8 +1342,7 @@
}
.shop-list {
margin: 10rpx 0;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
border-top: 5px solid #eee;
position: relative;
}
@ -1293,7 +1350,7 @@
border-bottom: none;
}
.order-name {
height: 80rpx;
height: 160rpx;
font-size: 32rpx;
font-weight: bold;
line-height: 80rpx;
@ -1301,15 +1358,15 @@
img {
height: 32rpx;
width: 32rpx;
float: left;
margin: 24rpx;
}
}
.specs-name {
display: flex;
padding-bottom: 20rpx;
height: 60rpx;
line-height: 60rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
}
.del-icon {
position: absolute;
@ -1502,11 +1559,13 @@
margin: 20rpx;
background-color: #fff;
color: #5fd9ee;
width: 100rpx;
min-width: 100rpx;
width: auto;
line-height: 70rpx;
height: 70rpx;
text-align: center;
border-radius: 20rpx;
padding: 0 20rpx;
}
.checkedText {
@ -1558,5 +1617,14 @@
line-height: 140rpx;
color: #777;
background: #eee;
}
.big-img{
width: 50rpx;
height: 50rpx;
float: left;
background: url(https://jewel-shop.oss-cn-beijing.aliyuncs.com/6b5ab32ff93a4c51b90e562e0b22e850.png);
background-repeat: no-repeat;
background-size: 100%;
margin: 7px;
}
</style>

38
package1/AI/AIInventoryList.vue

@ -41,11 +41,13 @@
</view>
<view class="content-btn">
<text class="blink" v-if="item.inStorageStatus==2">识别中...</text>
<text style="position: absolute;top: 40rpx;right: 20rpx;" v-else>识别完成</text>
<text style="position: absolute;top: 40rpx;right: 20rpx;" v-if="item.inStorageStatus == 3">识别完成</text>
<text style="position: absolute;top: 40rpx;right: 20rpx;" v-if="item.inStorageStatus == 4">识别失败</text>
<view class="btn" @tap="montageData(item.id)" v-if="item.inStorageStatus==3">去入库</view>
</view>
</view>
</view>
</view>
<u-loadmore :status="status" />
</view>
</template>
@ -57,13 +59,26 @@
aiList:[],
carList1:[],
purchaseDetails:[],
shopName:''
shopName:'',
status: 'loadmore',
pageNum:1,
pages:1,
}
},
onPullDownRefresh(){
this.pageNum = 1
this.aiList = []
this.getList()
},
onReachBottom() {
if (this.pageNum >= this.pages) return;
this.status = 'loading';
this.pageNum ++;
this.getList();
},
onShow() {
this.pageNum = 1
this.aiList = []
this.carList1 = []
this.getList()
},
@ -73,16 +88,21 @@
methods: {
getList(){
this.tui.request("/app/purchase/getPurchaseList", "POST", {
pageNum: 1,
pageNum: this.pageNum,
pageSize: 10,
isAiList: 1
}, false, false).then((res) => {
this.aiList = res.result.records
setTimeout(function () {
uni.stopPullDownRefresh();
}, 500);
this.status = 'nomore';
if (this.pages == 1) {
this.aiList = res.result.records
} else {
this.aiList = [...this.aiList, ...res.result.records]
}
this.pages = res.result.pages
}).catch((res) => {})
uni.stopPullDownRefresh()
setTimeout(function () {
uni.stopPullDownRefresh();
}, 500);
},
backPage(){
uni.navigateBack({

16
package1/AI/AiChat.vue

@ -21,9 +21,13 @@
</view>
<view class="prompt-title-text">
<text>欢迎使用Ai助手,为了提高语音及文字识别准确率,建议您按照以下规则操作:</text>
<text>1.每张图片建议您裁剪到20个规格或以下</text>
<text>2.确保最后一款商品规格截取完整</text>
<text>3.每张图片输入对应的规格数量</text>
<text style="color: #FF9797;">1.语音规则:(颜色在前,尺码在后)</text>
<text>例1:“货号87-12白色M码10件”</text>
<text>例2:“货号87-12,所有颜色所有尺码10件”</text>
<text style="color: #FF9797;">2.建议您不同商品用“货号”两字分隔</text>
<text>例:“<text style="color: #FF9797;">货号87-12</text>白色M码10件,<text style="color: #FF9797;">货号ZK001</text>黑色L码10件”</text>
<text>3.如需手动输入,则要点击“确认”按钮发送对话</text>
<text>4.录入完成后点击开始识别按钮进行AI识别</text>
</view>
</view>
<view class="prompt" style="height: 80rpx;line-height: 80rpx;padding-left: 20rpx;">
@ -132,9 +136,9 @@
convertChineseToArabic(str) {
const chineseNumToArabic = {
'零': 0, '一': 1, '二': 2, '两': 2, '三': 3,
'四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9
'四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9,'杠':'-','刚':'-'
};
const regex = /(零|一|二|两|三|四|五|六|七|八|九)/g;
const regex = /(零|一|二|两|三|四|五|六|七|八|九|杠|刚)/g;
return str.replace(regex, match => chineseNumToArabic[match]);
},
inputSaveText(){
@ -286,7 +290,7 @@
}
.prompt {
background: #fff;
width: 70%;
width: 75%;
height: auto;
border-radius: 10px;
display: block;

8
package1/inventory/batchPrint.vue

@ -134,7 +134,8 @@
checked:false,
}],
multipleList:[],
purchase:''
purchase:'',
shopId:''
}
},
components: {
@ -142,7 +143,8 @@
},
onLoad(options) {
wx.openBluetoothAdapter({mode: 'central'})
this.height = wx.getSystemInfoSync().windowHeight
this.height = wx.getSystemInfoSync().windowHeight
this.shopId = uni.getStorageSync('shopId')
if (options.khid != undefined) {
uni.redirectTo({
url: "/pages/index/downStearmList?khid=" + options.khid
@ -343,7 +345,7 @@
console.log(this.multipleList.indexOf('零售价'))
strCmd += blesdk.addCPCLText('0', '230', '24', '0', 0, '零售价:'+(item.lsprice || item.price))
}
strCmd += blesdk.addCPCLQRCode(200, 140, 'H', '1', 6, [item.id,item.shopId]) //二维码
strCmd += blesdk.addCPCLQRCode(200, 140, 'H', '1', 6, [this.purchase!=''?item.productId:item.id,this.shopId]) //二维码
strCmd += blesdk.addCPCLLocation(0); //对齐指令 0-左对齐 1-右对齐 2-居中
strCmd += blesdk.addCPCLPrint();
this.bufferData.push(strCmd);

14
package1/inventory/getProductIdToList.vue

@ -1,7 +1,7 @@
<template>
<view class="container">
<view class="tui-order-item boxbg">
<view class="shop-box" v-for="(item,index) in list" :key="index" v-if="type==0">
<view class="shop-box" v-if="type==0" v-for="(item,index) in list" :key="index">
<uni-card :title="'时间:'+ item.createTime" :sub-title="item.userName == null ?'暂无':item.userName">
<view class="uni-body" style="text-align: center;">单价:{{item.saleDetailDTOList[0].discountAmount}} 数量:{{item.productCount}}</view>
<view style="margin: 5px 0;height: 1px;background: #eee;"></view>
@ -9,8 +9,8 @@
<view style="width: 49%;text-align: center;border-right: 1px solid #eee;">商品规格</view>
<view style="width: 50%;text-align: center;">总数量</view>
</view>
<view v-for="(items,index1) in item.saleDetailDTOList">
<view v-for="(data,index2) in items.stockLogList1" style='height: 50rpx;line-height: 50rpx;'>
<view v-for="(items,index1) in item.saleDetailDTOList" :key="index1">
<view v-for="(data,index2) in items.stockLogList1" :key="index2" style='height: 50rpx;line-height: 50rpx;'>
<view style="width: 49%;text-align: center;border-right: 1px solid #eee;float: left;">
{{data.attributeList | sliceMsg}}
</view>
@ -21,7 +21,7 @@
</view>
</uni-card>
</view>
<view class="shop-box" v-for="(item,index3) in list" :key="index3" v-else>
<view class="shop-box" v-if="type==1" v-for="(item,index3) in list" :key="index3">
<uni-card :title="'供应商:'+ (item.purchase.supplierName?item.purchase.supplierName:'暂无')"
:sub-title="item.purchase.createTime?item.purchase.createTime:'暂无'" >
<view class="uni-body" style="text-align: center;"><text v-if="userType==0">采购价:{{item.purchaseDetails[0].purchasePrice?item.purchaseDetails[0].purchasePrice:'暂无'}}</text> 总数量:{{item.purchase.totalAmount?item.purchase.totalAmount:'暂无'}}</view>
@ -30,8 +30,8 @@
<view style="width: 49%;text-align: center;border-right: 1px solid #eee;">商品规格</view>
<view style="width: 50%;text-align: center;">总数量</view>
</view>
<view v-for="(items,index1) in item.purchaseDetails">
<view v-for="(data,index2) in items.stockLogList1" style='height: 50rpx;line-height: 50rpx;'>
<view v-for="(items,index1) in item.purchaseDetails" :key="index1">
<view v-for="(data,index2) in items.stockLogList1" :key="index2" style='height: 50rpx;line-height: 50rpx;'>
<view style="width: 49%;text-align: center;border-right: 1px solid #eee;float: left;">
{{data.attributeList | sliceMsg}}
</view>
@ -96,7 +96,7 @@
this.tui.request(url, "post", {
productId: this.productId,
pageSize: 10,
pageNum: this.pages
pageNum: this.pageNum
}, false, false).then((res) => {
this.status = 'nomore';
if (res.code == 200) {

12
package1/other/logistics.vue

@ -164,7 +164,11 @@
data: {
companyId:this.id,
modeOfService:2,
status:8
status:8,
endDate:this.endDate,
startDate:this.startDate,
pageNum:this.pages,
pageSize:10
},
header: {
'content-type': 'application/json',
@ -297,6 +301,7 @@
sectionChange(index) {
this.current = index
this.bList = []
this.pages = 1
if(index == 2){
this.orderStatus = 3
this.getList()
@ -365,9 +370,12 @@
uni.request({
url: this.tui.interfaceUrl() + '/app/sale/getSaleByCompanyId',
data: {
endDate:this.endDate,
startDate:this.startDate,
companyId:this.transCompany,
pageNum:this.pages,
pageSize:10
pageSize:10,
transportType:2
},
header: {
'content-type': 'application/json',

173
package1/other/tutorialDetail.vue

@ -0,0 +1,173 @@
<template>
<view>
<view class="formBox">
<view class="swipe-action">
<view class="swipe-action__content" @tap="onItemClick(item)" v-for="(item,index) in dataList" :key="index">
<view class="swipe-action__content__left">
<view class="swipe-action__content__text">{{item.name}}</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
dataList:[{
name:'开单',
id:'kaidan'
},{
name:'入库',
id:'ruku'
},{
name:'挂单',
id:'guadan'
},{
name:'推款',
id:'tuikuan'
},{
name:'邀请返佣',
id:'fanyong'
},{
name:'盘点',
id:'pandian'
},{
name:'打卡规则',
id:'guize'
},{
name:'新增商品',
id:'xinzengshangpin'
}]
}
},
methods: {
onItemClick(item) {
uni.navigateTo({
url: '/package1/other/tutorialDetail?id='+item.id
})
}
}
}
</script>
<style lang="scss" scoped>
.formBox {
.uni-data-select {
width: 100%;
}
.tui-order-title {
position: relative;
font-size: 28upx;
line-height: 28upx;
padding-left: 16upx;
box-sizing: border-box;
}
.tui-order-title::before {
content: '';
position: absolute;
left: 0;
top: 0;
border-left: 8upx solid $u-primary;
height: 120%;
border-radius: 4upx;
}
}
.tui-tabbar {
width: 100%;
height: 98rpx;
background: #fff;
position: fixed;
left: 0;
bottom: 0;
display: flex;
align-items: center;
justify-content: flex-end;
font-size: 26rpx;
box-shadow: 0 0 1px rgba(0, 0, 0, .3);
padding-bottom: env(safe-area-inset-bottom);
z-index: 996;
}
.u-page {
padding: 0;
}
.u-demo-block__title {
padding: 10px 0 2px 15px;
}
.swipe-action {
&__content {
background-color: #fff;
margin-bottom: 25rpx;
padding: 25rpx;
display: flex;
align-items: center;
justify-content: space-between;
&__left {
display: flex;
flex-direction: column;
align-items: center;
}
&__right {
display: flex;
align-items: center;
flex-basis: 300rpx;
justify-content: space-between;
&__text {
color: firebrick;
}
&__money {
flex-basis: 100rpx;
color: red;
text-align: right;
}
}
&__text {
padding: 12rpx 0;
width: 100%;
}
&__time {
font-size: 22rpx;
color: #3a3a3a;
}
&__icon {
flex-basis: 20rpx;
}
}
}
.edit-info {
height: 450 rpx;
padding: 25rpx;
.title {
text-align: center;
font-size: 32rpx;
}
.info-name {
display: flex;
align-items: center;
margin: 35rpx 0;
}
}
</style>
<style>
.u-radio {
margin: 15 upx 0;
}
</style>

175
package1/other/tutorialList.vue

@ -0,0 +1,175 @@
<template>
<view>
<view class="formBox">
<view class="swipe-action">
<view class="swipe-action__content" @tap="onItemClick(item)" v-for="(item,index) in dataList" :key="index">
<view class="swipe-action__content__left">
<view class="swipe-action__content__text">{{item.name}}</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
dataList:[{
name:'开单',
id:'kaidan'
},{
name:'入库',
id:'ruku'
},{
name:'挂单',
id:'guadan'
},{
name:'推款',
id:'tuikuan'
},{
name:'邀请返佣',
id:'fanyong'
},{
name:'盘点',
id:'pandian'
}
// ,{
// name:'打卡规则',
// id:'guize'
// }
,{
name:'新增商品',
id:'xinzengshangpin'
}]
}
},
methods: {
onItemClick(item) {
uni.navigateTo({
url: '/package1/other/tutorialDetail?id='+item.id
})
}
}
}
</script>
<style lang="scss" scoped>
.formBox {
.uni-data-select {
width: 100%;
}
.tui-order-title {
position: relative;
font-size: 28upx;
line-height: 28upx;
padding-left: 16upx;
box-sizing: border-box;
}
.tui-order-title::before {
content: '';
position: absolute;
left: 0;
top: 0;
border-left: 8upx solid $u-primary;
height: 120%;
border-radius: 4upx;
}
}
.tui-tabbar {
width: 100%;
height: 98rpx;
background: #fff;
position: fixed;
left: 0;
bottom: 0;
display: flex;
align-items: center;
justify-content: flex-end;
font-size: 26rpx;
box-shadow: 0 0 1px rgba(0, 0, 0, .3);
padding-bottom: env(safe-area-inset-bottom);
z-index: 996;
}
.u-page {
padding: 0;
}
.u-demo-block__title {
padding: 10px 0 2px 15px;
}
.swipe-action {
&__content {
background-color: #fff;
margin-bottom: 25rpx;
padding: 25rpx;
display: flex;
align-items: center;
justify-content: space-between;
&__left {
display: flex;
flex-direction: column;
align-items: center;
}
&__right {
display: flex;
align-items: center;
flex-basis: 300rpx;
justify-content: space-between;
&__text {
color: firebrick;
}
&__money {
flex-basis: 100rpx;
color: red;
text-align: right;
}
}
&__text {
padding: 12rpx 0;
width: 100%;
}
&__time {
font-size: 22rpx;
color: #3a3a3a;
}
&__icon {
flex-basis: 20rpx;
}
}
}
.edit-info {
height: 450 rpx;
padding: 25rpx;
.title {
text-align: center;
font-size: 32rpx;
}
.info-name {
display: flex;
align-items: center;
margin: 35rpx 0;
}
}
</style>
<style>
.u-radio {
margin: 15 upx 0;
}
</style>
Loading…
Cancel
Save