<template>
|
<view>
|
<view class="form">
|
<view class="form-item">
|
<view class="title">条码:</view>
|
<view class="right" style="width: 380rpx;">
|
<input :focus="barCodeFocus" v-model="hform.HBarCode" placeholder="请扫描(或输入)条码"
|
@confirm="getCode(hform.HBarCode)" />
|
</view>
|
<view class="icon-wrapper">
|
<uni-icons type="scan" size="20" @click="toScanCode"></uni-icons>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">数量:</view>
|
<view class="right">
|
<input type="number" v-model="hform.HQty" placeholder="请输入数量" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">调出仓库:</view>
|
<view class="right">
|
<uni-combox :candidates="arrayHWHName" placeholder="请输入(或扫描)仓库" v-model="hform.HSCWHName"
|
@input="HSCWHNameChange" @confirm="HWHNameOutScan"></uni-combox>
|
</view>
|
<view class="icon-wrapper">
|
<uni-icons type="more" size="20" @click="showWarehouseList('HSCWHID')"></uni-icons>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">调出仓位:</view>
|
<view class="right" v-show="HSCIsStockMgr">
|
<uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="请输入(或扫描)仓位"
|
v-model="hform.HOutStockPlaceName" @input="HOutStockPlaceNameChange"
|
@confirm="HStockPlaceOutNameScan"></uni-combox>
|
</view>
|
<view class="righton" v-show="!HSCIsStockMgr">
|
<input v-model="hform.HOutStockPlaceName" :disabled="!HSCIsStockMgr" placeholder="不可操作" />
|
</view>
|
<view class="icon-wrapper" v-show="HSCIsStockMgr">
|
<uni-icons type="more" size="20" @click="showStockPlaceList('HOSpID')"></uni-icons>
|
</view>
|
</view>
|
|
<view class="tabs">
|
<view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">选择源单</view>
|
<view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">表头信息</view>
|
<view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">物料信息</view>
|
<view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">条码信息</view>
|
<view :class="tabs == 4 ? 'on':''" @tap="tabs = 4">分步式调出条码</view>
|
</view>
|
|
<view v-if="tabs == 0">
|
<view class="form-item">
|
<view class="title">源单类型:</view>
|
<view class="right" v-show="showHMainSourceBillType">
|
<picker :range="arrayHMainSourceBillType" v-model="HMainSourceBillTypeIndex"
|
@change="HMainSourceBillTypeChange">
|
<input name="HMainSourceBillType" disabled :value="HMainSourceBillType" placeholder="请选择源单类型" />
|
<view class="picker-overlay"></view>
|
</picker>
|
</view>
|
<view class="righton" v-show="!showHMainSourceBillType">
|
<input name="HMainSourceBillType" disabled :value="HMainSourceBillType" placeholder="请选择源单类型" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">源单单号:</view>
|
<view class="right" v-show="showHSourceBillNo">
|
<input :focus="HSourcebillNoFocus" type="text" @confirm="onHSourceBillNoConfirmHandler"
|
name="HSourceBillNo" v-model="hform.HSourceBillNo" placeholder="请输入源单单号" />
|
</view>
|
<view class="icon-wrapper" v-show="showHSourceBillNo" :disabled="hform.HMainSourceBillType === -1">
|
<uni-icons type="search" size="20" @click="showBillList"></uni-icons>
|
</view>
|
<view class="icon-wrapper" v-show="showHSourceBillNo">
|
<uni-icons type="right" size="20" @click="onHSourceBillNoConfirmHandler"></uni-icons>
|
</view>
|
<view class="righton" v-show="!showHSourceBillNo">
|
<input name="HSourceBillNo" disabled v-model="hform.HSourceBillNo" placeholder="请输入源单单号" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">调拨类型:</view>
|
<view class="righton">
|
<input name="HStockStyle" disabled v-model="hform.HStockStyle" placeholder="请选择调拨类型" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">日期:</view>
|
<view class="right">
|
<picker mode="date" v-model="hform.HDate" @change="HDateChange">
|
<input disabled :value="hform.HDate" placeholder="请选择日期" />
|
<view class="picker-overlay"></view>
|
</picker>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">制单人:</view>
|
<view class="righton">
|
<input name="HMaker" disabled v-model="hform.HMaker" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">单据号:</view>
|
<view class="righton">
|
<input name="HBillNo" disabled v-model="hform.HBillNo" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">单据ID:</view>
|
<view class="righton">
|
<input name="HInterID" disabled v-model="hform.HInterID" />
|
</view>
|
</view>
|
</view>
|
|
<view v-if="tabs == 1">
|
<view class="form-item">
|
<view class="title">调入仓库:</view>
|
<view class="right">
|
<uni-combox :candidates="arrayHWHInName" placeholder="请输入(或扫描)仓库" v-model="hform.HWHName"
|
@input="HWHInNameChange" @confirm="HWHNameInScan"></uni-combox>
|
</view>
|
<view class="icon-wrapper">
|
<uni-icons type="more" size="20" @click="showWarehouseList('HWHID')"></uni-icons>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">调入仓位:</view>
|
<view class="right" v-show="HIsStockMgr">
|
<uni-combox :candidates="arrayHStockPlaceInNameComputed" placeholder="请输入(或扫描)仓位"
|
v-model="hform.HStockPlaceName" @input="HStockPlaceInNameChange"
|
@confirm="HStockPlaceNameInScan"></uni-combox>
|
</view>
|
<view class="righton" v-show="!HIsStockMgr">
|
<input v-model="hform.HStockPlaceName" :disabled="!HIsStockMgr" placeholder="不可操作" />
|
</view>
|
<view class="icon-wrapper" v-show="HIsStockMgr">
|
<uni-icons type="more" size="20" @click="showStockPlaceList('HSpID')"></uni-icons>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">部门:</view>
|
<view class="right">
|
<uni-combox :candidates="arrayHDeptName" placeholder="请选择部门" v-model="hform.HDeptName"
|
@input="HDeptNameChange"></uni-combox>
|
</view>
|
<view class="icon-wrapper">
|
<uni-icons type="more" size="20" @click="showDepartmentList"></uni-icons>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">调出组织:</view>
|
<view class="righton">
|
<input name="HStockOutOrgName" disabled v-model="hform.HStockOutOrgName" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">调入组织:</view>
|
<view class="righton">
|
<input name="HStockInOrgName" disabled v-model="hform.HStockInOrgName" />
|
</view>
|
</view>
|
</view>
|
|
<view v-if="tabs == 2">
|
<view class="list" v-for="(item,index) in Materlist" :key="index">
|
<uni-card :title="item.物料名称" :extra="item.物料代码" style="margin: 10px;" @tap="showMaterialDetail(item)">
|
<view class="card-detail">
|
<view class="detail">
|
<text>源单单号:</text>{{item.源单单号}}
|
</view>
|
<view class="detail">
|
<text>源单数量:</text>{{item.源单数量}}
|
</view>
|
<view class="detail">
|
<text>数量:</text>{{item.数量}}
|
</view>
|
<view class="detail">
|
<text>条码个数:</text>{{item.条码个数}}
|
</view>
|
<view class="detail" v-if="item.规格型号">
|
<text>规格型号:</text>{{item.规格型号}}
|
</view>
|
<view class="detail" v-if="item.辅助属性">
|
<text>辅助属性:</text>{{item.辅助属性}}
|
</view>
|
</view>
|
</uni-card>
|
</view>
|
<view class="over" v-if="Materlist.length == 0">暂无数据</view>
|
</view>
|
|
<view v-if="tabs == 4">
|
<view class="list" v-for="(item,index) in FIFOlist" :key="index">
|
<uni-card :title="item.HMaterName" :extra="item.HMaterNumber" style="margin: 10px;"
|
@tap="showSourceBarCodeDetail(item)">
|
<view class="card-detail">
|
<view class="detail">
|
<text>数量:</text>{{item.HQty}}
|
</view>
|
<view class="detail">
|
<text>源单数量:</text>{{item.HQtyMust}}
|
</view>
|
<view class="detail">
|
<text>条码编号:</text>{{item.HBarCode}}
|
</view>
|
<view class="detail">
|
<text>物料代码:</text>{{item.HMaterNumber}}
|
</view>
|
<view class="detail">
|
<text>物料名称:</text>{{item.HMaterName}}
|
</view>
|
<view class="detail">
|
<text>规格型号:</text>{{item.HMaterModel}}
|
</view>
|
<view class="detail">
|
<text>HMaterID:</text>{{item.HMaterID}}
|
</view>
|
<view class="detail" v-if="item.HBatchNo">
|
<text>批号:</text>{{item.HBatchNo}}
|
</view>
|
<view class="detail" v-if="item.HAuxPropName">
|
<text>辅助属性:</text>{{item.HAuxPropName}}
|
</view>
|
<view class="detail" v-if="item.HSourceBillNo">
|
<text>源单单号:</text>{{item.HSourceBillNo}}
|
</view>
|
</view>
|
</uni-card>
|
</view>
|
<view class="over" v-if="FIFOlist.length == 0">暂无数据</view>
|
</view>
|
|
<view v-if="tabs == 3">
|
<view class="form-item">
|
<view class="title">条码:</view>
|
<view class="righton">
|
<input name="HBarCode_B" disabled v-model="hform.HBarCode_B" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">物料:</view>
|
<view class="righton">
|
<input disabled v-model="hform.HMaterName_B" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">规格:</view>
|
<view class="righton">
|
<input disabled v-model="hform.HMaterModel_B" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">批次:</view>
|
<view class="righton">
|
<input disabled v-model="hform.HBatchNo_B" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">单位:</view>
|
<view class="righton">
|
<input disabled v-model="hform.HUnitName_B" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">数量:</view>
|
<view class="righton">
|
<input disabled v-model="hform.HQty_B" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">容量:</view>
|
<view class="righton">
|
<input disabled v-model="hform.HTMQty_B" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">调入仓库:</view>
|
<view class="righton">
|
<input disabled v-model="hform.HWHName_B" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">调入仓位:</view>
|
<view class="righton">
|
<input disabled v-model="hform.HSPName_B" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">调出仓库:</view>
|
<view class="righton">
|
<input disabled v-model="hform.HSCWHName_B" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">调出仓位:</view>
|
<view class="righton">
|
<input disabled v-model="hform.HSCSPName_B" />
|
</view>
|
</view>
|
</view>
|
|
<view class="bottom-btn">
|
<button class="btn-a" size="mini" @tap="submit">提交</button>
|
<view style="flex: 1;"></view>
|
<button class="btn-a" size="mini" @tap="addNew">新增</button>
|
<button class="btn-c" size="mini" @tap="goBack">退出</button>
|
</view>
|
</view>
|
|
<!-- 弹窗组件 -->
|
<BillListPopupVue ref="billList" :HBillType="hform.HBillType" :HSourceBillType="hform.HMainSourceBillType || 1250"
|
:HStockOrgID="hform.HStockOrgID"></BillListPopupVue>
|
<!-- <BarCodePopupVue ref="barcodePopup"></BarCodePopupVue> -->
|
<!-- <MaterialEditPopup ref="materialEdit" :materialData="selectedMaterial" @on-save="onMaterialSave"></MaterialEditPopup> -->
|
</view>
|
</template>
|
|
<script>
|
import {
|
CommonUtils
|
} from '../../utils/common';
|
import getDateTime from '@/utils/getdateTime.js';
|
import {
|
getUserInfo
|
} from "@/utils/auth.js";
|
import BillListPopupVue from '../../components/BillListPopup/BillListPopup.vue';
|
|
|
export default {
|
data() {
|
return {
|
pageTitleName: '分步式调入单',
|
userInfo: getUserInfo(),
|
serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
|
HModName: 'Kf_MoveStockStepInBill_PDA',
|
ModRightName: 'CE_MoveStockStepIn',
|
OperationType: 1,
|
HInterID_Temp: '',
|
|
HSCIsStockMgr: false,
|
HIsStockMgr: false,
|
showHMainSourceBillType: true,
|
showHSourceBillNo: true,
|
barCodeFocus: false,
|
HSourcebillNoFocus: false,
|
|
tabs: 0,
|
HMainSourceBillTypeIndex: 0,
|
HMainSourceBillType: '分步式调出单',
|
arrayHMainSourceBillType: ['分步式调出单', '手工录入'],
|
arrayHMainSourceBillValue: [1250, -1],
|
|
btnType: 0, //0新增,1修改,2审核,3反审核
|
|
arrayHWHName: [], //调出仓库
|
HWHNameList: [],
|
arrayHStockPlaceName: [], //调出仓位
|
HStockPlaceNameList: [],
|
arrayHWHInName: [], // 调入仓库
|
HWHInNameList: [],
|
arrayHStockPlaceInName: [], //调入仓位
|
HStockPlaceInNameList: [],
|
arrayHDeptName: [], //部门
|
HDeptNameList: [],
|
arrayHOrgName: [], // 组织
|
arrayHOrgValue: [], // 组织对应ID
|
|
Materlist: [],
|
FIFOlist: [],
|
selectedMaterial: {},
|
|
hform: {
|
HBillType: 1251,
|
HBillerID: uni.getStorageSync('HBillerID'),
|
HRedBlueFlag: false,
|
|
HStockOutOrgName: uni.getStorageSync('Organization'),
|
HStockInOrgName: uni.getStorageSync('Organization'),
|
HStockInOrgID: uni.getStorageSync('OrganizationID'),
|
HStockOutOrgID: uni.getStorageSync('OrganizationID'),
|
|
HBarCode: '',
|
HQty: '',
|
HSCWHName: getUserInfo().HWHName,
|
HSCWHID: getUserInfo().HWhID,
|
HWHName: getUserInfo().HWHName,
|
HWHID: getUserInfo().HWhID,
|
|
HStockStyle: '组织内调拨',
|
HOutStockPlaceName: getUserInfo().HSPName,
|
HOutStockPlaceID: getUserInfo().HSPID,
|
HStockPlaceName: getUserInfo().HSPName,
|
HStockPlaceID: getUserInfo().HSPID,
|
HStockOrgID: uni.getStorageSync('OrganizationID'),
|
HMainSourceBillType: 1250,
|
HSourceBillNo: '',
|
|
HDate: getDateTime.dateTimeStr('y-m-d'),
|
HMaker: uni.getStorageSync('HUserName'),
|
HBillNo: '',
|
HInterID: '',
|
|
HDeptName: getUserInfo().HDept,
|
HDeptID: getUserInfo().HDeptID,
|
|
// 条码信息
|
HBarCode_B: '',
|
HMaterName_B: '',
|
HMaterModel_B: '',
|
HBatchNo_B: '',
|
HUnitName_B: '',
|
HQty_B: '',
|
HTMQty_B: '',
|
HWHName_B: '',
|
HSPName_B: '',
|
HSCWHName_B: '',
|
HSCSPName_B: '',
|
}
|
}
|
},
|
components: {
|
BillListPopupVue,
|
},
|
|
async onLoad(e) {
|
console.log('页面参数:', e);
|
await this.getOrganization()
|
this.OperationType = e.OperationType || 1;
|
|
if (e.HInterID) {
|
this.HInterID_Temp = e.HInterID
|
this.RoadBillMain(e.HInterID)
|
this.barCodeFocus = true
|
} else {
|
this.HSourcebillNoFocus = true
|
this.getNewData()
|
}
|
|
this.getHBaseList()
|
this.getHDeptList()
|
this.checkModRight()
|
|
uni.$on('BillSelectComplete', (e) => {
|
console.log("接收到的源单: ", e.HBillNo)
|
this.getSourceBarCodeData(e.HBillNo)
|
this.$refs.billList.exit()
|
})
|
|
uni.$on('WarehouseSelectComplete', (data) => {
|
this.handleWarehouseSelect(data)
|
})
|
|
uni.$on('StockPlaceSelectComplete', (data) => {
|
this.handleStockPlaceSelect(data)
|
})
|
|
uni.$on('DepartmentSelectComplete', (data) => {
|
this.handleDepartmentSelect(data)
|
})
|
},
|
onUnload() {
|
uni.$off('BillSelectComplete')
|
uni.$off('WarehouseSelectComplete')
|
uni.$off('StockPlaceSelectComplete')
|
uni.$off('DepartmentSelectComplete')
|
},
|
computed: {
|
arrayHStockPlaceNameComputed: {
|
get() {
|
// 动态计算对应调出仓库的仓位
|
return this.HStockPlaceNameList
|
.filter(e => e['所属仓库'] == this.hform.HSCWHName)
|
.map(e => e['仓位名称'])
|
}
|
},
|
arrayHStockPlaceInNameComputed: {
|
get() {
|
// 动态计算对应调入仓库的仓位
|
return this.HStockPlaceInNameList
|
.filter(e => e['所属仓库'] == this.hform.HWHName)
|
.map(e => e['仓位名称'])
|
}
|
}
|
},
|
methods: {
|
// 用户模块权限判断
|
async checkModRight() {
|
try {
|
let res = await CommonUtils.doRequest2Sync({
|
url: '/WEBSController/CheckModRight_Json',
|
data: {
|
"ModRightName": this.ModRightName,
|
"HUserName": this.hform.HMaker
|
}
|
})
|
if (res.data.count != 1) {
|
uni.showModal({
|
title: '温馨提示',
|
content: res.data.Message,
|
showCancel: false,
|
success: () => {
|
uni.navigateBack()
|
}
|
})
|
}
|
} catch (error) {
|
console.error('权限检查失败:', error)
|
}
|
},
|
|
// 获取组织数据
|
async getOrganization() {
|
try {
|
let res = await CommonUtils.doRequest2Sync({
|
url: '/Web/GetOrganizations'
|
})
|
if (res.data.count == 1) {
|
this.arrayHOrgName = []
|
this.arrayHOrgValue = []
|
Array.from(res.data.data).forEach(e => {
|
this.arrayHOrgName.push(e.Name)
|
this.arrayHOrgValue.push(e.ID)
|
})
|
}
|
} catch (error) {
|
console.error('获取组织数据失败:', error)
|
}
|
},
|
|
// 扫描条码
|
toScanCode() {
|
uni.scanCode({
|
onlyFromCamera: true,
|
success: (res) => {
|
console.log('条码内容:' + res.result);
|
this.hform.HBarCode = res.result
|
this.getCode(this.hform.HBarCode)
|
}
|
});
|
},
|
|
// 处理条码
|
async getCode(HBarCode) {
|
if (!HBarCode) {
|
this.playSound(0)
|
uni.showToast({
|
title: '条码为空,请扫描条码!',
|
icon: 'none'
|
})
|
return
|
}
|
|
const HDeleteFlag = HBarCode.substring(0, 1);
|
const sBarCode = HBarCode.slice(1);
|
|
if (HDeleteFlag == "*") {
|
// 删除条码
|
await this.deleteBarCode(sBarCode)
|
} else {
|
// 处理条码
|
await this.processBarCode(HBarCode)
|
}
|
},
|
|
// 删除条码
|
async deleteBarCode(sBarCode) {
|
try {
|
let res = await CommonUtils.doRequest2Sync({
|
url: '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json',
|
data: {
|
HInterID: this.hform.HInterID,
|
HBillType: this.hform.HBillType,
|
HBarCode: sBarCode
|
}
|
})
|
|
if (res.data.count == 1) {
|
this.playSound(1)
|
this.hform.HQty = ''
|
this.DisBillEntryList()
|
} else {
|
this.playSound(0)
|
uni.showToast({
|
title: res.data.Message,
|
icon: 'none'
|
})
|
}
|
} catch (error) {
|
this.playSound(0)
|
uni.showToast({
|
title: '删除条码失败',
|
icon: 'none'
|
})
|
}
|
this.refreshBarCodeState()
|
},
|
|
// 处理条码
|
async processBarCode(sBarCode) {
|
// 仓库、仓位文本框为空时,清空对应ID
|
if (!this.hform.HWHName) this.hform.HWHID = 0
|
if (!this.hform.HStockPlaceName) this.hform.HStockPlaceID = 0
|
if (!this.hform.HSCWHName) this.hform.HSCWHID = 0
|
if (!this.hform.HOutStockPlaceName) this.hform.HOutStockPlaceID = 0
|
|
const sHQty = this.hform.HQty || 0
|
const HSourceFlag = !!this.hform.HSourceBillNo
|
|
try {
|
console.log('开始处理条码:', sBarCode, sHQty, HSourceFlag, this.hform);
|
let res = await CommonUtils.doRequest2Sync({
|
url: '/WEBSController/get_BarCode_MoveStock_New_Json',
|
data: {
|
sBarCode: sBarCode,
|
HInterID: this.hform.HInterID,
|
HBillType: this.hform.HBillType,
|
HBillNo: this.hform.HBillNo,
|
HMaker: this.hform.HMaker,
|
HWhID: this.hform.HWHID,
|
HSPID: this.hform.HStockPlaceID,
|
HSCWHID: this.hform.HSCWHID,
|
HSCSPID: this.hform.HOutStockPlaceID,
|
HQty: sHQty,
|
SourceFlag: HSourceFlag,
|
HSourceBillNo: this.hform.HSourceBillNo,
|
HSourceBillType: this.hform.HMainSourceBillType,
|
HStockInOrgID: this.hform.HStockInOrgID,
|
HStockOutOrgID: this.hform.HStockOutOrgID,
|
HScanStyle: "",
|
HCustom1: "",
|
HCustom2: ""
|
}
|
})
|
|
if (res.data.count == 1) {
|
this.playSound(1)
|
await this.handleBarCodeResult(res.data.data)
|
this.DisBillEntryList()
|
this.hform.HQty = ''
|
} else {
|
this.playSound(0)
|
uni.showToast({
|
title: res.data.Message,
|
icon: 'none'
|
})
|
}
|
} catch (error) {
|
this.playSound(0)
|
uni.showToast({
|
title: '处理条码失败',
|
icon: 'none'
|
})
|
}
|
this.refreshBarCodeState()
|
},
|
|
// 处理条码扫描结果
|
async handleBarCodeResult(data) {
|
switch (data.hBarTypeField) {
|
case '仓库条码':
|
this.handleWarehouseBarCode(data)
|
break
|
case '仓位条码':
|
this.handleStockPlaceBarCode(data)
|
break
|
case '部门条码':
|
this.handleDepartmentBarCode(data)
|
break
|
case '源单条码':
|
await this.handleSourceBillBarCode(data)
|
break
|
default:
|
await this.handleMaterialBarCode(data)
|
}
|
},
|
|
// 处理仓库条码
|
handleWarehouseBarCode(data) {
|
this.hform.HSCWHName = data.hWhNameField
|
this.hform.HSCWHID = data.hWhIDField
|
this.hform.HOutStockPlaceName = data.hSPNameField
|
this.hform.HOutStockPlaceID = data.hSPIDField
|
this.HSCIsStockMgr = data.hSPFlagField != 0
|
},
|
|
// 处理仓位条码
|
handleStockPlaceBarCode(data) {
|
this.hform.HOutStockPlaceName = data.hSPNameField
|
this.hform.HOutStockPlaceID = data.hSPIDField
|
this.hform.HSCWHName = data.hWhNameField
|
this.hform.HSCWHID = data.hWhIDField
|
},
|
|
// 处理部门条码
|
handleDepartmentBarCode(data) {
|
this.hform.HDeptName = data.hDeptNameField
|
this.hform.HDeptID = data.hDeptIDField
|
this.tabs = 1
|
},
|
|
// 处理源单条码
|
async handleSourceBillBarCode(data) {
|
await this.setSourceBillInfo(data)
|
this.tabs = 3
|
},
|
|
// 处理物料条码
|
async handleMaterialBarCode(data) {
|
if (!this.hform.HSourceBillNo) {
|
await this.setSourceBillInfo(data)
|
}
|
this.tabs = 2
|
},
|
|
// 设置源单信息
|
async setSourceBillInfo(data) {
|
if (data.hDeptIDField != 0) {
|
this.hform.HDeptID = data.hDeptIDField
|
this.hform.HDeptName = data.hDeptNameField
|
}
|
|
this.hform.HSourceBillNo = data.hSourceBillNoField
|
this.hform.HMainSourceBillType = data.hSourceBillTypeField
|
|
// 更新源单类型显示
|
const index = this.arrayHMainSourceBillValue.findIndex(e => e == data.hSourceBillTypeField)
|
if (index !== -1) {
|
this.HMainSourceBillType = this.arrayHMainSourceBillType[index]
|
this.HMainSourceBillTypeIndex = index
|
this.showHMainSourceBillType = false
|
}
|
|
if (data.hMulSourceFlagField == 0) {
|
this.showHSourceBillNo = false
|
}
|
|
this.hform.HStockStyle = data.hStockStyleField
|
this.hform.HStockInOrgID = data.hStockInOrgIDField
|
this.hform.HStockOutOrgID = data.hStockOutOrgIDField
|
|
// 更新组织显示
|
const inOrgIndex = this.arrayHOrgValue.findIndex(e => e == data.hStockInOrgIDField)
|
const outOrgIndex = this.arrayHOrgValue.findIndex(e => e == data.hStockOutOrgIDField)
|
if (inOrgIndex !== -1) {
|
this.hform.HStockInOrgName = this.arrayHOrgName[inOrgIndex]
|
}
|
if (outOrgIndex !== -1) {
|
this.hform.HStockOutOrgName = this.arrayHOrgName[outOrgIndex]
|
}
|
|
// 如果组织发生变化,清空仓库仓位
|
if (this.hform.HStockInOrgID != uni.getStorageSync('OrganizationID')) {
|
this.clearInWarehouseData()
|
}
|
if (this.hform.HStockOutOrgID != uni.getStorageSync('OrganizationID')) {
|
this.clearOutWarehouseData()
|
}
|
},
|
|
// 清空调入仓库数据
|
clearInWarehouseData() {
|
this.hform.HWHID = 0
|
this.hform.HWHName = ''
|
this.hform.HStockPlaceID = 0
|
this.hform.HStockPlaceName = ''
|
this.HIsStockMgr = true
|
},
|
|
// 清空调出仓库数据
|
clearOutWarehouseData() {
|
this.hform.HSCWHID = 0
|
this.hform.HSCWHName = ''
|
this.hform.HOutStockPlaceID = 0
|
this.hform.HOutStockPlaceName = ''
|
this.HSCIsStockMgr = true
|
},
|
|
// 刷新条码输入状态
|
async refreshBarCodeState() {
|
this.barCodeFocus = false
|
await this.$nextTick(() => {
|
this.hform.HBarCode = ""
|
this.barCodeFocus = true
|
})
|
},
|
|
// 播放提示音
|
playSound(type) {
|
const innerAudioContext = uni.createInnerAudioContext();
|
innerAudioContext.src = type == 1 ? '/static/success.wav' : '/static/jingbao.wav';
|
innerAudioContext.play();
|
},
|
|
// 扫描仓库码
|
async HWHNameOutScan(e) {
|
let index = this.HWHNameList.findIndex(elem => elem['条码编号'] == e)
|
if (index == -1) {
|
uni.showToast({
|
icon: 'none',
|
title: '扫描仓库条码对应的仓库不存在...'
|
})
|
} else {
|
this.HSCWHNameChange(this.HWHNameList[index]['仓库名称'])
|
}
|
},
|
|
// 扫描仓位码
|
async HStockPlaceOutNameScan(e) {
|
let index = this.HStockPlaceNameList.findIndex(elem => elem['条码编号'] == e)
|
// 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新
|
this.hform.HStockPlaceID = 0
|
this.hform.HStockPlaceName = ''
|
await this.$nextTick()
|
if (index == -1) {
|
uni.showToast({
|
icon: 'none',
|
title: '扫描仓位条码对应的仓位不存在...'
|
})
|
} else {
|
this.HOutStockPlaceNameChange(this.HStockPlaceNameList[index]['仓位名称'])
|
}
|
},
|
|
// 扫描调入仓库码
|
async HWHNameInScan(e) {
|
let index = this.HWHInNameList.findIndex(elem => elem['条码编号'] == e)
|
if (index == -1) {
|
uni.showToast({
|
icon: 'none',
|
title: '扫描仓库条码对应的仓库不存在...'
|
})
|
} else {
|
this.HWHInNameChange(this.HWHInNameList[index]['仓库名称'])
|
}
|
},
|
|
// 扫描调入仓位码
|
async HStockPlaceNameInScan(e) {
|
let index = this.HStockPlaceInNameList.findIndex(elem => elem['条码编号'] == e)
|
// 不先置空的话,数据再次扫描相同的仓位码 不会触发组件内的刷新
|
this.hform.HStockPlaceID = 0
|
this.hform.HStockPlaceName = ''
|
await this.$nextTick()
|
if (index == -1) {
|
uni.showToast({
|
icon: 'none',
|
title: '扫描仓位条码对应的仓位不存在...'
|
})
|
} else {
|
this.HStockPlaceInNameChange(this.HStockPlaceInNameList[index]['仓位名称'])
|
}
|
},
|
|
// 源单类型变更
|
HMainSourceBillTypeChange(e) {
|
this.HMainSourceBillTypeIndex = e.detail.value
|
this.HMainSourceBillType = this.arrayHMainSourceBillType[this.HMainSourceBillTypeIndex]
|
this.hform.HMainSourceBillType = this.arrayHMainSourceBillValue[this.HMainSourceBillTypeIndex]
|
},
|
|
// 源单单号确认
|
onHSourceBillNoConfirmHandler() {
|
if (this.hform.HMainSourceBillType == -1) {
|
this.playSound(1)
|
return
|
}
|
this.getSourceBarCodeData(this.hform.HSourceBillNo)
|
},
|
|
// 获取源单数据
|
async getSourceBarCodeData(HSourceBillNo) {
|
try {
|
let res = await CommonUtils.doRequest2Sync({
|
url: '/WEBSController/get_SourceBarCode_MoveStockStepIn_Json',
|
data: {
|
HInterID: this.hform.HInterID,
|
HBillNo: this.hform.HBillNo,
|
HBillType: this.hform.HBillType,
|
HSourceBillNo: HSourceBillNo,
|
HSourceBillType: this.hform.HMainSourceBillType,
|
HMaker: this.hform.HMaker,
|
HStockInOrgID: this.hform.HStockInOrgID,
|
HStockOutOrgID: this.hform.HStockOutOrgID
|
}
|
})
|
|
if (res.data.count == 1) {
|
this.playSound(1)
|
await this.setSourceBillInfo(res.data.data)
|
this.tabs = 2
|
this.barCodeFocus = true
|
this.DisBillEntryList()
|
} else {
|
this.playSound(0)
|
uni.showToast({
|
title: res.data.Message,
|
icon: 'none'
|
})
|
this.refreshHSourceBillState()
|
}
|
} catch (error) {
|
this.playSound(0)
|
uni.showToast({
|
title: '获取源单数据失败',
|
icon: 'none'
|
})
|
this.refreshHSourceBillState()
|
}
|
},
|
|
// 刷新源单输入状态
|
async refreshHSourceBillState() {
|
this.HSourcebillNoFocus = false
|
await this.$nextTick(() => {
|
this.hform.HSourceBillNo = ""
|
this.HSourcebillNoFocus = true
|
})
|
},
|
|
// 显示源单列表
|
showBillList() {
|
this.$refs.billList.showPopup()
|
},
|
|
// 日期变更
|
HDateChange(e) {
|
this.hform.HDate = e.detail.value
|
},
|
|
// 调出仓库变更
|
HSCWHNameChange(e) {
|
const warehouse = this.HWHNameList.find(item => item.仓库名称 == e)
|
if (warehouse) {
|
this.hform.HSCWHName = warehouse.仓库名称
|
this.hform.HSCWHID = warehouse.HItemID
|
this.HSCIsStockMgr = warehouse['启用仓位'] == 'Y'
|
if (!this.HSCIsStockMgr) {
|
this.hform.HOutStockPlaceName = ''
|
this.hform.HOutStockPlaceID = ''
|
}
|
}
|
},
|
|
// 调出仓位变更
|
HOutStockPlaceNameChange(e) {
|
const stockPlace = this.HStockPlaceNameList.find(item => item.仓位名称 == e)
|
if (stockPlace) {
|
this.hform.HOutStockPlaceName = stockPlace.仓位名称
|
this.hform.HOutStockPlaceID = stockPlace.HMainID
|
}
|
},
|
|
// 调入仓库变更
|
HWHInNameChange(e) {
|
const warehouse = this.HWHInNameList.find(item => item.仓库名称 == e)
|
if (warehouse) {
|
this.hform.HWHName = warehouse.仓库名称
|
this.hform.HWHID = warehouse.HItemID
|
this.HIsStockMgr = warehouse['启用仓位'] == 'Y'
|
if (!this.HIsStockMgr) {
|
this.hform.HStockPlaceName = ''
|
this.hform.HStockPlaceID = ''
|
}
|
}
|
},
|
|
// 调入仓位变更
|
HStockPlaceInNameChange(e) {
|
const stockPlace = this.HStockPlaceInNameList.find(item => item.仓位名称 == e)
|
if (stockPlace) {
|
this.hform.HStockPlaceName = stockPlace.仓位名称
|
this.hform.HStockPlaceID = stockPlace.HMainID
|
}
|
},
|
|
// 部门变更
|
HDeptNameChange(e) {
|
const dept = this.HDeptNameList.find(item => item.部门名称 == e)
|
if (dept) {
|
this.hform.HDeptName = dept.部门名称
|
this.hform.HDeptID = dept.HItemID
|
}
|
},
|
|
// 获取基础数据
|
getHBaseList() {
|
// 获取仓库列表
|
CommonUtils.doRequest2({
|
url: '/Gy_Warehouse/list',
|
data: {
|
sWhere: "",
|
user: uni.getStorageSync('HUserName'),
|
Organization: uni.getStorageSync('Organization')
|
},
|
resFunction: (res) => {
|
if (res.data.count == 1) {
|
this.HWHNameList = res.data.data
|
this.HWHInNameList = res.data.data
|
this.arrayHWHName = res.data.data.map(item => item.仓库名称)
|
this.arrayHWHInName = res.data.data.map(item => item.仓库名称)
|
}
|
}
|
})
|
|
// 获取仓位列表
|
CommonUtils.doRequest2({
|
url: '/Gy_StockPlace/list',
|
data: {
|
sWhere: "",
|
user: uni.getStorageSync('HUserName'),
|
Organization: uni.getStorageSync('Organization')
|
},
|
resFunction: (res) => {
|
if (res.data.count == 1) {
|
this.HStockPlaceNameList = res.data.data
|
this.HStockPlaceInNameList = res.data.data
|
this.arrayHStockPlaceName = res.data.data.map(item => item.仓位名称)
|
this.arrayHStockPlaceInName = res.data.data.map(item => item.仓位名称)
|
}
|
}
|
})
|
},
|
|
// 获取部门列表
|
getHDeptList() {
|
CommonUtils.doRequest2({
|
url: '/Gy_Department/list',
|
data: {
|
sWhere: "",
|
user: uni.getStorageSync('HUserName'),
|
Organization: uni.getStorageSync('Organization')
|
},
|
resFunction: (res) => {
|
if (res.data.count == 1) {
|
this.HDeptNameList = res.data.data
|
this.arrayHDeptName = res.data.data.map(item => item.部门名称)
|
}
|
}
|
})
|
},
|
|
// 显示仓库列表
|
showWarehouseList(type) {
|
const HOrgID = type === 'HSCWHID' ? this.hform.HStockOutOrgID : this.hform.HStockInOrgID
|
uni.navigateTo({
|
url: `/pages/Baseset/WarehouseList?Type=${type}&HOrgID=${HOrgID}`
|
})
|
},
|
|
// 显示仓位列表
|
showStockPlaceList(type) {
|
const HWhID = type === 'HOSpID' ? this.hform.HSCWHID : this.hform.HWHID
|
const HOrgID = type === 'HOSpID' ? this.hform.HStockOutOrgID : this.hform.HStockInOrgID
|
uni.navigateTo({
|
url: `/pages/Baseset/StockPlaceList?HWhID=${HWhID}&Type=${type}&HOrgID=${HOrgID}`
|
})
|
},
|
|
// 显示部门列表
|
showDepartmentList() {
|
uni.navigateTo({
|
url: `/pages/Baseset/DepartmentList?HStockOrgID=${this.hform.HStockOrgID}&Type=HDept1`
|
})
|
},
|
|
// 处理仓库选择结果
|
handleWarehouseSelect(data) {
|
if (data.type === 'HSCWHID') {
|
this.hform.HSCWHName = data.data[0].HName
|
this.hform.HSCWHID = data.data[0].HItemID
|
this.hform.HOutStockPlaceName = data.data[0].HSPName
|
this.hform.HOutStockPlaceID = data.data[0].HSPID
|
this.HSCIsStockMgr = data.data[0].HSPFlag != 0
|
} else if (data.type === 'HWHID') {
|
this.hform.HWHName = data.data[0].HName
|
this.hform.HWHID = data.data[0].HItemID
|
this.hform.HStockPlaceName = data.data[0].HSPName
|
this.hform.HStockPlaceID = data.data[0].HSPID
|
this.HIsStockMgr = data.data[0].HSPFlag != 0
|
}
|
},
|
|
// 处理仓位选择结果
|
handleStockPlaceSelect(data) {
|
if (data.type === 'HOSpID') {
|
this.hform.HOutStockPlaceName = data.data[0].HName
|
this.hform.HOutStockPlaceID = data.data[0].HItemID
|
this.hform.HSCWHName = data.data[0].HWhName
|
this.hform.HSCWHID = data.data[0].HWHID
|
} else if (data.type === 'HSpID') {
|
this.hform.HStockPlaceName = data.data[0].HName
|
this.hform.HStockPlaceID = data.data[0].HItemID
|
this.hform.HWHName = data.data[0].HWhName
|
this.hform.HWHID = data.data[0].HWHID
|
}
|
},
|
|
// 处理部门选择结果
|
handleDepartmentSelect(data) {
|
this.hform.HDeptName = data.data[0].HName
|
this.hform.HDeptID = data.data[0].HItemID
|
},
|
|
// 显示物料明细
|
showMaterialDetail(item) {
|
this.selectedMaterial = item
|
// this.$refs.materialEdit.show()
|
},
|
|
// 显示源单条码明细
|
showSourceBarCodeDetail(item) {
|
// 可以在这里实现源单条码明细的显示逻辑
|
console.log('源单条码明细:', item)
|
},
|
|
// 物料保存回调
|
onMaterialSave() {
|
this.DisBillEntryList()
|
},
|
|
// 显示物料清单
|
DisBillEntryList() {
|
CommonUtils.doRequest2({
|
url: '/WEBSController/GetBillEntryTmpList_Json',
|
data: {
|
HInterID: this.hform.HInterID,
|
HBillNo: this.hform.HBillNo,
|
HBillType: this.hform.HBillType,
|
HStockOrgID: this.hform.HStockOutOrgID
|
},
|
resFunction: (res) => {
|
if (res.data.count == 1) {
|
const data = res.data.data
|
this.Materlist = data.Materlist
|
if (data.ICMOReportlist[0].HSourceInterID !=0 ) {
|
this.FIFOlist = data.ICMOReportlist
|
}
|
|
// 更新条码信息
|
if (data.BarCodeDetailslist && data.BarCodeDetailslist[0].HBarCode) {
|
const barcode = data.BarCodeDetailslist[0]
|
this.hform.HBarCode_B = barcode.HBarCode
|
this.hform.HMaterName_B = barcode.HMaterName
|
this.hform.HMaterModel_B = barcode.HMaterModel
|
this.hform.HBatchNo_B = barcode.HBatchNo
|
this.hform.HUnitName_B = barcode.HUnitName
|
this.hform.HQty_B = barcode.HQty
|
this.hform.HTMQty_B = barcode.HTMQty
|
this.hform.HWHName_B = barcode.HWHName
|
this.hform.HSPName_B = barcode.HSPName
|
this.hform.HSCWHName_B = barcode.HSCWHName
|
this.hform.HSCSPName_B = barcode.HSCSPName
|
} else {
|
this.clearBarcodeInfo()
|
}
|
} else {
|
this.Materlist = []
|
this.FIFOlist = []
|
this.clearBarcodeInfo()
|
}
|
}
|
})
|
},
|
|
// 清空条码信息
|
clearBarcodeInfo() {
|
this.hform.HBarCode_B = ''
|
this.hform.HMaterName_B = ''
|
this.hform.HMaterModel_B = ''
|
this.hform.HBatchNo_B = ''
|
this.hform.HUnitName_B = ''
|
this.hform.HQty_B = ''
|
this.hform.HTMQty_B = ''
|
this.hform.HWHName_B = ''
|
this.hform.HSPName_B = ''
|
this.hform.HSCWHName_B = ''
|
this.hform.HSCSPName_B = ''
|
},
|
|
// 获取新单据数据
|
getNewData() {
|
CommonUtils.doRequest2({
|
url: '/WEBSController/GetMaxBillNoAndID_Json',
|
data: {
|
HBillType: this.hform.HBillType
|
},
|
resFunction: (res) => {
|
if (res.data.count == 1) {
|
this.hform.HInterID = res.data.data[0].HInterID
|
this.hform.HBillNo = res.data.data[0].HBillNo
|
}
|
}
|
})
|
},
|
|
// 加载已有单据
|
RoadBillMain(HInterID) {
|
CommonUtils.doRequest2({
|
url: '/WEBSController/GetSourceBill_Temp_Json',
|
data: {
|
HInterID: HInterID,
|
HBillType: this.hform.HBillType
|
},
|
resFunction: (res) => {
|
if (res.data.count == 1) {
|
const data = res.data.data[0]
|
this.hform.HInterID = data.HInterID
|
this.hform.HBillNo = data.HBillNo
|
this.hform.HMainSourceBillType = data.HSourceBillType
|
this.hform.HSourceBillNo = data.HSourceBillNo
|
|
// 设置源单类型
|
const index = this.arrayHMainSourceBillValue.findIndex(e => e == data.HSourceBillType)
|
if (index !== -1) {
|
this.HMainSourceBillType = this.arrayHMainSourceBillType[index]
|
this.HMainSourceBillTypeIndex = index
|
this.showHMainSourceBillType = false
|
}
|
|
if (data.HMulSourceBill == 0) {
|
this.showHSourceBillNo = false
|
}
|
|
if (data.HDeptID != 0) {
|
this.hform.HDeptID = data.HDeptID
|
this.hform.HDeptName = data.HDeptName
|
}
|
|
this.hform.HStockStyle = data.HStockStyle
|
this.hform.HStockInOrgID = data.HStockInOrgID
|
this.hform.HStockOutOrgID = data.HStockOutOrgID
|
|
// 设置组织显示
|
const inOrgIndex = this.arrayHOrgValue.findIndex(e => e == data.HStockInOrgID)
|
const outOrgIndex = this.arrayHOrgValue.findIndex(e => e == data.HStockOutOrgID)
|
if (inOrgIndex !== -1) {
|
this.hform.HStockInOrgName = this.arrayHOrgName[inOrgIndex]
|
}
|
if (outOrgIndex !== -1) {
|
this.hform.HStockOutOrgName = this.arrayHOrgName[outOrgIndex]
|
}
|
|
this.tabs = 2
|
this.DisBillEntryList()
|
}
|
}
|
})
|
},
|
|
// 新增单据
|
addNew() {
|
uni.redirectTo({
|
url: '/pages/fenbushidiaoru/form?OperationType=1'
|
})
|
},
|
|
// 提交单据
|
async submit() {
|
// 表单验证
|
if (!this.hform.HInterID) {
|
uni.showToast({
|
title: '单据内码获取失败,错误的单据内码!',
|
icon: 'none'
|
})
|
return
|
}
|
|
if (!this.hform.HBillNo) {
|
uni.showToast({
|
title: '单据号获取失败,错误的单据号!',
|
icon: 'none'
|
})
|
return
|
}
|
|
if (!this.Materlist || this.Materlist.length == 0) {
|
uni.showToast({
|
title: '没有扫码信息,请先扫描条码,确认无误后再提交!',
|
icon: 'none'
|
})
|
return
|
}
|
|
const hasMaterial = this.Materlist.some(item => item.数量 > 0)
|
if (!hasMaterial) {
|
uni.showToast({
|
title: '没有扫描物料条码,请先扫描物料条码,确认无误后再提交!',
|
icon: 'none'
|
})
|
return
|
}
|
|
// 清空空值的ID
|
if (!this.hform.HWHName) this.hform.HWHID = 0
|
if (!this.hform.HStockPlaceName) this.hform.HStockPlaceID = 0
|
if (!this.hform.HSCWHName) this.hform.HSCWHID = 0
|
if (!this.hform.HOutStockPlaceName) this.hform.HOutStockPlaceID = 0
|
if (!this.hform.HDeptName) this.hform.HDeptID = 0
|
|
try {
|
const sMainStr = JSON.stringify(this.hform)
|
let res = await CommonUtils.doRequest2Sync({
|
url: '/WEBSController/set_SaveMoveStockStepInBill_Json',
|
method: 'POST',
|
data: {
|
oMain: sMainStr
|
}
|
})
|
|
if (res.data.count == 1) {
|
uni.showModal({
|
title: '提示',
|
content: res.data.Message + '。是否继续新增?',
|
success: (res) => {
|
if (res.confirm) {
|
this.addNew()
|
} else {
|
if (this.OperationType == 2) {
|
uni.navigateBack()
|
} else {
|
uni.switchTab({
|
url: '/pages/index/index'
|
})
|
}
|
}
|
}
|
})
|
} else {
|
uni.showToast({
|
title: res.data.Message,
|
icon: 'none'
|
})
|
}
|
} catch (error) {
|
uni.showToast({
|
title: '提交失败:' + error,
|
icon: 'none'
|
})
|
}
|
},
|
|
// 返回
|
goBack() {
|
uni.showModal({
|
title: '提示',
|
content: '确认要退出当前页面吗?',
|
success: (res) => {
|
if (res.confirm) {
|
if (this.OperationType == 2) {
|
uni.navigateBack()
|
} else {
|
uni.switchTab({
|
url: '/pages/index/index'
|
})
|
}
|
}
|
}
|
})
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.form {
|
width: 668rpx;
|
margin: 20rpx auto;
|
padding-bottom: 240rpx;
|
}
|
|
.tabs {
|
width: 100%;
|
display: flex;
|
border-bottom: 1px solid #ddd;
|
margin: 20rpx 0;
|
|
view {
|
width: 20%;
|
font-size: 26rpx;
|
color: #555;
|
text-align: center;
|
padding: 16rpx 0;
|
}
|
|
.on {
|
color: #3a78ff;
|
font-weight: bold;
|
border-bottom: 3px solid #3a78ff;
|
}
|
}
|
|
.form-item {
|
display: flex;
|
align-items: center;
|
font-size: 30rpx;
|
padding: 6rpx 0;
|
gap: 12rpx;
|
|
.title {
|
width: 208rpx;
|
flex-shrink: 0;
|
}
|
|
.right {
|
flex: 1;
|
border-radius: 22rpx;
|
border: 1px solid #acacac;
|
position: relative;
|
display: flex;
|
}
|
|
.righton {
|
flex: 1;
|
border-radius: 22rpx;
|
border: 1px solid #e4e4e4;
|
background-color: #e4e4e4;
|
}
|
|
input {
|
width: 100%;
|
padding: 8rpx 20rpx;
|
font-size: 30rpx;
|
}
|
|
.icon-wrapper {
|
background-color: #3A78FF;
|
border-radius: 100%;
|
width: 52rpx;
|
height: 52rpx;
|
display: flex;
|
justify-content: center;
|
align-items: center;
|
flex-shrink: 0;
|
|
.uni-icons {
|
color: #fff !important;
|
}
|
}
|
|
.icon-wrapper[disabled] {
|
background-color: rgba(228, 228, 228, 1);
|
pointer-events: none;
|
touch-action: none;
|
}
|
}
|
|
.bottom-btn {
|
box-sizing: border-box;
|
width: 100%;
|
position: fixed;
|
bottom: 0;
|
left: 0;
|
background-color: #fff;
|
box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
|
padding: 30rpx 40rpx 40rpx 40rpx;
|
display: flex;
|
flex-direction: row;
|
gap: 10rpx;
|
|
button {
|
border-radius: 50rpx;
|
width: 180rpx;
|
height: 66rpx;
|
line-height: 66rpx;
|
font-size: 28rpx;
|
}
|
|
.btn-a {
|
background-color: #3A78FF;
|
color: #fff;
|
}
|
|
.btn-c {
|
background-color: #acacac;
|
color: #fff;
|
}
|
}
|
|
.list {
|
width: 100%;
|
|
.card-detail {
|
width: 100%;
|
display: flex;
|
flex-wrap: wrap;
|
justify-content: space-between;
|
line-height: 120%;
|
|
.detail {
|
font-size: 26rpx;
|
margin-bottom: 12rpx;
|
color: #555;
|
margin-right: 20rpx;
|
|
text {
|
color: #999;
|
font-size: 26rpx;
|
}
|
}
|
}
|
}
|
|
.over {
|
text-align: center;
|
color: #999;
|
padding: 40rpx;
|
}
|
</style>
|