|
@@ -1,12 +1,11 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<div class="container">
|
|
|
- <van-form class="formStyle" @submit="onSubmit">
|
|
|
+ <van-form class="formStyle" @submit="onSubmit" ref="formRef">
|
|
|
<div class="formStyle-top">
|
|
|
<van-field style="width: 100%;" v-model="object.expressNo" name="expressNo" label="快递单号"
|
|
|
placeholder="快递单号" :rules="[{ required: true }]" />
|
|
|
<img class="formStyle-top-img" @click="wxScanCodeB()" src="@/assets/user/u4.png" alt="">
|
|
|
-
|
|
|
</div>
|
|
|
|
|
|
<van-field readonly clickable name="expressCompany" label="快递公司" :value="object.value"
|
|
@@ -60,9 +59,12 @@
|
|
|
<van-field v-model="object.remark" label="快递备注" name="remark" placeholder="请输入快递备注" />
|
|
|
|
|
|
<div
|
|
|
- style=" display: flex; justify-content: space-around; background-color: #fff; padding: 10px 20px;">
|
|
|
- <van-button size="small" style="border-radius: 5px; width: 100vw; " block type="info"
|
|
|
- native-type="submit">保存并打印小标签并添加下一个</van-button>
|
|
|
+ style=" display: flex; justify-content: space-between; background-color: #fff; padding: 10px 20px;">
|
|
|
+ <van-button size="small" style="border-radius: 5px; width: 50vw; " block type="info"
|
|
|
+ @click="printerGo" native-type="button">保存/打印小标签并添加下一个</van-button>
|
|
|
+
|
|
|
+ <van-button size="small" style="border-radius: 5px; width: 35vw;" block type="info"
|
|
|
+ native-type="submit">保存并添加下一个</van-button>
|
|
|
</div>
|
|
|
</van-form>
|
|
|
</div>
|
|
@@ -76,8 +78,9 @@
|
|
|
<div style="height: calc(100vh - 105px); overflow-y: auto;">
|
|
|
<van-cell-group class="vanPopup" @click="onGroup(item)" v-for="(item, index) in searchKeyList"
|
|
|
:key="index" inset>
|
|
|
- <van-cell :value="item.phone" />
|
|
|
- <van-cell :value="item.NAME" />
|
|
|
+ <van-cell style="font-size: 16px;">{{ item.phone }}--{{ item.NAME }}</van-cell>
|
|
|
+ <!-- < :value="item.phone" />
|
|
|
+ <van-cell :value="item.NAME" /> -->
|
|
|
<!-- <van-cell title="收件人部门" :value="item.departmentName" />
|
|
|
<van-cell title="所属收发室" :value="item.mailRoomName" />
|
|
|
<van-cell title="收件人楼层" :value="item.mailFloor" />
|
|
@@ -90,16 +93,26 @@
|
|
|
退出
|
|
|
</van-button>
|
|
|
</van-popup>
|
|
|
+
|
|
|
+ <!-- 打印机选择器 -->
|
|
|
+ <van-popup v-model="printerShow" position="bottom">
|
|
|
+ <van-picker show-toolbar :columns="getPrintersList" @confirm="onPrinter" @cancel="printerShow = false">
|
|
|
+ <template v-slot:option="value">
|
|
|
+ {{ value.printerName }}
|
|
|
+ </template>
|
|
|
+ </van-picker>
|
|
|
+ </van-popup>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { appGetEmployeeInfoByPhone, appGeLogisticsList, appSaveExpressRecord, getSysUserInfoByUserIdAPI } from '@/api/index'
|
|
|
+import { appGetEmployeeInfoByPhone, appGeLogisticsList, appSaveExpressRecord, getSysUserInfoByUserIdAPI, getListOfPrinters, storagePrintSmallTab } from '@/api/index'
|
|
|
import { Toast } from 'vant';
|
|
|
import wx from "weixin-jsapi";
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ gfg: {},
|
|
|
isCompany: '否',
|
|
|
inputValue: '',//输入手机号后四位聚焦
|
|
|
phoneShow: false, //输入手机号后弹出搜索
|
|
@@ -112,7 +125,7 @@ export default {
|
|
|
radio: '文件',
|
|
|
payMoney: '',//应付金额
|
|
|
expressNo: '',//快递单号
|
|
|
- value4: '货架A', //货架信息
|
|
|
+ value4: '', //货架信息
|
|
|
value: '', //快递公司
|
|
|
},
|
|
|
value14: '',//添加下一个的货架信息
|
|
@@ -120,11 +133,16 @@ export default {
|
|
|
ischeckDisabled: false,//到付是否必填
|
|
|
isdisabled: true,//是否选中多选
|
|
|
showPicker: false, //快递公司
|
|
|
- shelfs: ['货架A', '货架B', '货架C'], //收发室
|
|
|
+ shelfs: [], //收发室
|
|
|
shelf: false, //收发室
|
|
|
- pattern: /^[0-9]*$/,
|
|
|
+ pattern: /^\d*\.?\d+$/, // 有问题
|
|
|
floorId: '',
|
|
|
-
|
|
|
+ shelfsss: [],//
|
|
|
+ getPrintersList: [],//打印机获取数据
|
|
|
+ printerShow: false,//打印机出现
|
|
|
+ printerName: '',//选中的打印机名称
|
|
|
+ printerId: '',//选中的打印机id
|
|
|
+ value14: '',
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
@@ -132,6 +150,7 @@ export default {
|
|
|
this.floorId = this.$store.state.user.expressScope
|
|
|
},
|
|
|
methods: {
|
|
|
+
|
|
|
// 快递单号
|
|
|
wxScanCodeB() {
|
|
|
wx.scanQRCode({
|
|
@@ -169,11 +188,14 @@ export default {
|
|
|
// 选择快递公司
|
|
|
async onShowPicker() {
|
|
|
const res = await appGeLogisticsList({ page: '', limit: '' }, { emulateJSON: true })
|
|
|
- this.GeLogisticsList = res.data.map((item) => {
|
|
|
- return item.expressCompany
|
|
|
- })
|
|
|
- this.GeLogisticsList.unshift(this.$store.state.user.company)
|
|
|
-
|
|
|
+ if (res.msg == 'success') {
|
|
|
+ this.GeLogisticsList = res.data.map((item) => {
|
|
|
+ return item.expressCompany
|
|
|
+ })
|
|
|
+ this.GeLogisticsList.unshift(this.$store.state.user.company)
|
|
|
+ } else {
|
|
|
+ Toast('系统异常')
|
|
|
+ }
|
|
|
this.showPicker = true
|
|
|
},
|
|
|
// 选择快递公司
|
|
@@ -195,33 +217,22 @@ export default {
|
|
|
this.shelf = false;
|
|
|
},
|
|
|
|
|
|
+
|
|
|
// 提交
|
|
|
async onSubmit(values) {
|
|
|
-
|
|
|
- if (!this.pattern.test(this.object.payMoney)) {
|
|
|
- return this.$toast('到付金额只能输入数字')
|
|
|
+ if (this.checkbox == true) {
|
|
|
+ if (!this.pattern.test(this.object.payMoney)) {
|
|
|
+ this.$toast('到付金额只能输入数字')
|
|
|
+ throw '到付金额只能输入数字'
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- // const phone = values.phone.split(",")[0]
|
|
|
const params = {
|
|
|
-
|
|
|
isCompany: this.isCompany,
|
|
|
mailRoomId: this.onGroupObject.ROOM_ID,//收发室Id
|
|
|
- // payMoney,
|
|
|
userId: this.onGroupObject.USER_ID,//收件人userID
|
|
|
- // shelfInformation,
|
|
|
- // expressNo,
|
|
|
- // mailRoom,
|
|
|
- // departmentId,
|
|
|
- // sendSeat,
|
|
|
- // isPayOnDelivery,
|
|
|
- // expressType,
|
|
|
- // expressQuantity,
|
|
|
- // expressCompany,
|
|
|
- // phone
|
|
|
- // remark,
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
const originalObj = {
|
|
|
isPayOnDelivery: values.isPayOnDelivery == true ? '是' : '否',
|
|
|
};
|
|
@@ -229,7 +240,6 @@ export default {
|
|
|
...values,
|
|
|
...originalObj
|
|
|
}
|
|
|
- console.log(value, '==========================value ')
|
|
|
const res = await appSaveExpressRecord({ ...params, ...value, departmentId: this.onGroupObject.departmentName }, { emulateJSON: true })
|
|
|
this.value14 = this.object.value4
|
|
|
console.log(res[0], 'res===')
|
|
@@ -255,13 +265,69 @@ export default {
|
|
|
|
|
|
} else if (res.msg == 'already') {
|
|
|
this.$toast('该账号已添加过')
|
|
|
+ throw '该账号已添加过'
|
|
|
} else if (res.msg == 'PermissionControl') {
|
|
|
this.$toast('不在揽收范围')
|
|
|
+ throw '不在揽收范围'
|
|
|
} else if (res.code == 444) {
|
|
|
this.$toast(res.error)
|
|
|
+ throw res.error
|
|
|
}
|
|
|
this.object.value4 = this.value14
|
|
|
},
|
|
|
+ // 保存/打印小标签并添加下一个
|
|
|
+ async printerGo() {
|
|
|
+ const getPrinters = await getListOfPrinters({})
|
|
|
+ if (getPrinters.code == 0) {
|
|
|
+ const qwe = {
|
|
|
+ IMEI: "8672970676795912",
|
|
|
+ companyId: "990b526776e74ff9ab141ff28e09f0922",
|
|
|
+ correspondingRoles: "揽件员2",
|
|
|
+ id: 72,
|
|
|
+ printerName: "禁魔石打印机2",
|
|
|
+ recordDate: "2024-04-12 15:10:12.4282",
|
|
|
+ shareCode: "9077782",
|
|
|
+ st: "12",
|
|
|
+ type: "12",
|
|
|
+ useTheId: "11392",
|
|
|
+ } //脏数据
|
|
|
+ getPrinters.data.push(qwe)
|
|
|
+ this.getPrintersList = getPrinters.data.map((item) => {
|
|
|
+ return { printerName: item.printerName, id: item.id }
|
|
|
+ })
|
|
|
+ this.printerShow = true
|
|
|
+ } else {
|
|
|
+ Toast('系统异常')
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ // 打印机弹框确认
|
|
|
+ async onPrinter(e) {
|
|
|
+ console.log(e, 'eeeeeeeeeeeeeee')
|
|
|
+ const toask = this.$toast.loading({
|
|
|
+ duration: 0, // 持续展示 toast
|
|
|
+ forbidClick: true,
|
|
|
+ message: '加载中',
|
|
|
+ });
|
|
|
+ this.printerName = e.printerName;
|
|
|
+ this.printerId = e.id;
|
|
|
+
|
|
|
+ // 开始走打印机面单
|
|
|
+ const formData = this.$refs.formRef.getValues();
|
|
|
+ try {
|
|
|
+ await this.onSubmit(formData)
|
|
|
+ const res = await storagePrintSmallTab({ expressNo: formData.expressNo, id: e.id })
|
|
|
+ if (res.msg == 'success') {
|
|
|
+ Toast('打印成功')
|
|
|
+
|
|
|
+ }
|
|
|
+ console.log(res, '最后')
|
|
|
+ this.printerShow = false;
|
|
|
+ } catch (error) {
|
|
|
+
|
|
|
+ }
|
|
|
+ toask.clear();
|
|
|
+ },
|
|
|
// 到付change
|
|
|
onCheckboxChange() {
|
|
|
this.isdisabled = !this.isdisabled
|
|
@@ -269,6 +335,8 @@ export default {
|
|
|
// 获取用户信息
|
|
|
async getUser() {
|
|
|
const res = await getSysUserInfoByUserIdAPI({ userId: localStorage.getItem("courierUserId") })
|
|
|
+ this.shelfs = res.sysUserInfo.shelf.split(',');
|
|
|
+
|
|
|
this.$store.state.user = res.sysUserInfo
|
|
|
console.log(this.$store.state.user, 'this.$state.state.user')
|
|
|
}
|