| | |
| | | "": { |
| | | "dependencies": { |
| | | "@dcloudio/uni-ui": "^1.5.7", |
| | | "@qiun/ucharts": "^2.5.0-20230101", |
| | | "axios": "^1.5.1", |
| | | "axios-adapter-uniapp": "^0.1.4", |
| | | "lodash": "^4.17.21", |
| | | "pinia": "^2.3.0", |
| | | "pinia-plugin-persistedstate": "^3.2.0" |
| | | }, |
| | |
| | | "type": "opencollective", |
| | | "url": "https://opencollective.com/parcel" |
| | | } |
| | | }, |
| | | "node_modules/@qiun/ucharts": { |
| | | "version": "2.5.0-20230101", |
| | | "resolved": "https://registry.npmmirror.com/@qiun/ucharts/-/ucharts-2.5.0-20230101.tgz", |
| | | "integrity": "sha512-C7ccBgfPuGF6dxTRuMW0NPPMSCf1k/kh3I9zkRVBc5PaivudX/rPL+jd2Wty6gn5ya5L3Ob+YmYe09V5xw66Cw==", |
| | | "license": "Apache" |
| | | }, |
| | | "node_modules/@types/eslint": { |
| | | "version": "9.6.1", |
| | |
| | | "node": ">=8.9.0" |
| | | } |
| | | }, |
| | | "node_modules/lodash": { |
| | | "version": "4.17.21", |
| | | "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", |
| | | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", |
| | | "license": "MIT" |
| | | }, |
| | | "node_modules/magic-string": { |
| | | "version": "0.30.17", |
| | | "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", |
| | |
| | | "@dcloudio/uni-ui": "^1.5.7", |
| | | "axios": "^1.5.1", |
| | | "axios-adapter-uniapp": "^0.1.4", |
| | | "lodash": "^4.17.21", |
| | | "pinia": "^2.3.0", |
| | | "pinia-plugin-persistedstate": "^3.2.0" |
| | | }, |
| | |
| | | { |
| | | "navigationBarTitleText" : "" |
| | | } |
| | | }, |
| | | { |
| | | "path" : "pages/warehouseOut/warehouseOut", |
| | | "style" : |
| | | { |
| | | "navigationBarTitleText" : "" |
| | | } |
| | | } |
| | | ], |
| | | "globalStyle": { |
| | |
| | | </uni-row> |
| | | </view> |
| | | <view> |
| | | |
| | | <uni-row> |
| | | <uni-col :span='12'> |
| | | <button @click="open(0)">取消</button> |
| | |
| | | import { onLoad } from '@dcloudio/uni-app' |
| | | import request from '../../utils/request' |
| | | import userInfo from '@/stores/userInfo' |
| | | import { debounce } from 'lodash' |
| | | const user=userInfo() |
| | | const message = ref(null) |
| | | const msgType=ref('success') |
| | |
| | | const para = { |
| | | processId:processIdVal |
| | | } |
| | | |
| | | await request.post(`/app/getSelectWarehousingList`,para).then(res => { |
| | | if(res.data.data.length===0){ |
| | | uni.showModal({ |
| | |
| | | table.value.selectionAll() |
| | | } |
| | | |
| | | const glassToStore = () => { |
| | | const glassToStore = debounce(() => { |
| | | subLoading.value = true |
| | | checkList.value.sort() |
| | | const arr = [] |
| | |
| | | url: `/pages/mainView/mainView` |
| | | }) |
| | | }) |
| | | } |
| | | },200) |
| | | |
| | | const change = (e,item) => { |
| | | const quantity = item.orderDetail.quantity*1 - item.receivedQuantity*1 |
| | |
| | | }else{ |
| | | alertDialog.value.close() |
| | | } |
| | | |
| | | } |
| | | </script> |
| | | |
| | |
| | | <text class="title">NorthGlass</text> |
| | | </view> |
| | | <view class="text-area"> |
| | | <text class="title">{{ip}}({{store.version}})</text> |
| | | <text class="title">{{ip+":"+port}}({{store.version}})</text> |
| | | </view> |
| | | <view class="text-area" > |
| | | <uni-data-select style="width:40vw;text-align: center;" |
| | |
| | | import {onMounted, reactive,ref} from "vue" |
| | | import userInfo from '@/stores/userInfo' |
| | | import request from '@/utils/request' |
| | | import {ip,webPort} from '@/utils/config.js' |
| | | import {ip,webPort,port} from '@/utils/config.js' |
| | | import { debounce } from 'lodash' |
| | | |
| | | const store=userInfo() |
| | | let searchUserList = ref({ |
| | |
| | | message.value.open() |
| | | } |
| | | |
| | | const login = async () => { |
| | | const login = debounce(async () => { |
| | | await getAppVersion() |
| | | userForm.pass = btoa(userForm.pass) |
| | | store.cleanInfo() |
| | |
| | | }).then(() => { |
| | | userForm.pass = atob(userForm.pass) |
| | | }) |
| | | } |
| | | },400) |
| | | |
| | | const initApp = () => { |
| | | uni.removeStorage({ |
| | |
| | | |
| | | |
| | | |
| | | <template> |
| | | <view class="content" > |
| | | <image class="logo" src="/static/favicon.ico"></image> |
| | |
| | | <text class="title">NorthGlass_Scaner 初始化</text> |
| | | </view> |
| | | |
| | | |
| | | <view class="text-area" > |
| | | <uni-easyinput |
| | | @blur="changeIP" |
| | | class='input_1' |
| | | style="text-align: center;" |
| | | placeholder="请输入服务器ip" |
| | | :passwordIcon='false' |
| | | v-model="ipVal" |
| | | v-model.trim="ipVal" |
| | | type="input" /> |
| | | |
| | | </view> |
| | | <view class="text-area" > |
| | | <uni-easyinput |
| | | class='input_1' |
| | | style="text-align: center;" |
| | | placeholder="请输入端口号" |
| | | :passwordIcon='false' |
| | | v-model="portVal" |
| | | type="number" /> |
| | | </view> |
| | | |
| | | <view class="text-area" > |
| | | <button @click="save" type="primary" size="mini">保存</button> |
| | | </view> |
| | | |
| | | <view> |
| | |
| | | import userInfo from '@/stores/userInfo' |
| | | import request from '@/utils/request' |
| | | import {ip,webPort} from '@/utils/config.js' |
| | | import { debounce } from 'lodash' |
| | | |
| | | const store=userInfo() |
| | | let searchUserList = ref({ |
| | |
| | | const messageText=ref('') |
| | | const viewShow = ref(false) |
| | | let ipVal = ref(null) |
| | | let portVal = ref(null) |
| | | |
| | | onMounted(async()=>{ |
| | | onMounted(() => { |
| | | |
| | | /* if(ip===null){ |
| | | return |
| | | if(uni.getStorageSync('port') === ""){ |
| | | portVal.value = 8086 |
| | | }else{ |
| | | portVal.value = uni.getStorageSync('port') |
| | | } |
| | | uni.reLaunch({ |
| | | url: `/pages/login/login` |
| | | }) */ |
| | | }) |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | const changeIP =async () => { |
| | | const ipRegex = /^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; |
| | | if(ipRegex.test(ipVal.value)){ |
| | | await uni.setStorageSync('ip', ipVal.value); |
| | | plus.runtime.restart() |
| | | // const changeIP =async () => { |
| | | // const ipRegex = /^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; |
| | | // if(ipRegex.test(ipVal.value)){ |
| | | // await uni.setStorageSync('ip', ipVal.value); |
| | | // plus.runtime.restart() |
| | | |
| | | }else{ |
| | | messageToggle('error','请输入IP范围:0.0.0.0~255.255.255.255') |
| | | } |
| | | } |
| | | // }else{ |
| | | // messageToggle('error','请输入IP范围:0.0.0.0~255.255.255.255') |
| | | // } |
| | | // } |
| | | |
| | | const save = debounce(async() => { |
| | | if(portVal.value === null || portVal.value === "" || ipVal === null || ipVal === ""){ |
| | | messageToggle('error','ip或端口号不能为空') |
| | | return |
| | | } |
| | | await uni.setStorageSync('ip', ipVal.value); |
| | | await uni.setStorageSync('port', portVal.value); |
| | | plus.runtime.restart() |
| | | |
| | | },200) |
| | | </script> |
| | | |
| | | <style> |
| | |
| | | </uni-col> |
| | | |
| | | |
| | | <uni-col :span="12"> |
| | | <uni-col :span="12" v-if="store.user.permissions.includes('createProductStock.search')"> |
| | | <button @click="glassFinishToStore" type="primary" size="mini">成品入库</button> |
| | | </uni-col> |
| | | <uni-col :span="12"> |
| | | <button type="primary" size="mini">成品出库</button> |
| | | <uni-col :span="12" v-if="store.user.permissions.includes('qualityInspectionReview.edit')"> |
| | | <button @click="changePage('warehouseOut')" type="primary" size="mini">成品出库</button> |
| | | </uni-col> |
| | | |
| | | |
| | | <!-- <uni-col :span="24" v-if="store.user.permissions.includes('qualityInspectionReview.edit')"> |
| | | <!-- <uni-col :span="24" v-if="store.user.permissions.includes('finishedProductOut.search')"> |
| | | <navigator url="/pages/ReviewReporitingWork/ReviewReporitingWork" open-type="navigate"> |
| | | <button type="primary" size="mini">质检审核</button> |
| | | </navigator> |
| | | </uni-col> --> |
| | | <!-- <uni-col :span="24"> |
| | | <uni-col :span="24"> |
| | | <uni-data-select |
| | | placeholder="报表" |
| | | v-model="report" |
| | | :localdata="reports" |
| | | @change="changePage" |
| | | @change="changePage('report')" |
| | | ></uni-data-select> |
| | | </uni-col> --> |
| | | </uni-col> |
| | | |
| | | <uni-col :span="12"> |
| | | <uni-data-select |
| | |
| | | </uni-popup> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | |
| | | </template> |
| | | |
| | | <script setup> |
| | | <script setup lang="ts"> |
| | | import userInfo from '@/stores/userInfo' |
| | | import { onLoad } from '@dcloudio/uni-app' |
| | | import request from '@/utils/request' |
| | | import mpaasScan from '@/utils/scanner.js' |
| | | import request from '@/utils/request' |
| | | import mpaasScan from '@/utils/scanner.js' |
| | | import { ref, watch,onUnmounted, warn } from 'vue' |
| | | import { debounce } from 'lodash' |
| | | const store=userInfo() |
| | | const message= ref(null) |
| | | const type=ref('center') |
| | |
| | | |
| | | |
| | | const mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module") |
| | | const scannerGetGlassInfo = () =>{ |
| | | const scannerGetGlassInfo = debounce(() =>{ |
| | | if(uni.getSystemInfoSync().platform==='android'){ |
| | | |
| | | mpaasScan().then(val => { |
| | |
| | | url: `/pages/glassInfo/glassInfo?projectNo=25031302009005` |
| | | }) |
| | | } |
| | | } |
| | | },200) |
| | | |
| | | const scanerCode = () => { |
| | | const scanerCode = debounce(() => { |
| | | if(device.value === null){ |
| | | messageToggle('warn','未选择设备,请选择报工设备!') |
| | | return |
| | |
| | | url: `/pages/reportingWork/reportingWork?processId=NG24111542A012/1` |
| | | }) |
| | | } |
| | | } |
| | | },200) |
| | | |
| | | const glassFinishToStore = () => { |
| | | const glassFinishToStore = debounce(() => { |
| | | mpaasScan().then(val => { |
| | | uni.navigateTo({ |
| | | url: `/pages/glassFinishToStore/glassFinishToStore?processId=${val}` |
| | | }) |
| | | }) |
| | | } |
| | | },200) |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | //打开当班产量 |
| | | const quantityCompletion1 = () => { |
| | | const quantityCompletion1 = debounce(() => { |
| | | uni.navigateTo({ |
| | | url: `/pages/QuantityCompletion/QuantityCompletion` |
| | | }) |
| | | } |
| | | },200) |
| | | |
| | | const changePage = () => { |
| | | uni.navigateTo({ |
| | | url: `/pages/statement/${report.value}` |
| | | }) |
| | | } |
| | | const changePage = debounce((type) => { |
| | | switch (type){ |
| | | case "warehouseOut": |
| | | uni.navigateTo({ |
| | | url: `/pages/warehouseOut/warehouseOut` |
| | | }) |
| | | break |
| | | case "report": |
| | | uni.navigateTo({ |
| | | url: `/pages/statement/${report.value}` |
| | | }) |
| | | break |
| | | } |
| | | |
| | | },200) |
| | | |
| | | </script> |
| | | |
| | |
| | | import userInfo from '@/stores/userInfo' |
| | | import request from '@/utils/request' |
| | | import mpaasScan from '@/utils/scanner.js' |
| | | import { debounce } from 'lodash' |
| | | const store=userInfo() |
| | | let processId = ref(null) |
| | | let process = ref(null) |
| | |
| | | }) |
| | | } |
| | | //报工保存 |
| | | const saveReportForWork = () => { |
| | | const saveReportForWork = debounce(() => { |
| | | for (let item of reportworkList.value) { |
| | | const finishNumVal = finishNum(item.processList) |
| | | if(finishNumVal===0){ |
| | |
| | | }).finally(() => { |
| | | buttonLoading.value = false |
| | | }) |
| | | } |
| | | },200) |
| | | |
| | | //弹出框确认 |
| | | const dialogConfirm = () => { |
| | | const dialogConfirm = debounce(() => { |
| | | uni.reLaunch({ |
| | | url: `/pages/mainView/mainView?state=success` |
| | | }) |
| | | } |
| | | const dialogClose = () => { |
| | | },200) |
| | | const dialogClose = debounce(() => { |
| | | uni.redirectTo({ |
| | | url: `/pages/reportingWork/reportingWork?processId=${processId.value}` |
| | | }); |
| | | } |
| | | },200) |
| | | |
| | | //下工序审核 |
| | | const reviewReportForWork = () => { |
| | |
| | | |
| | | } |
| | | |
| | | const scannerCode = () => { |
| | | const scannerCode = debounce(() => { |
| | | if(reportworkList.length>6){ |
| | | messageToggle('error','最多支持6个流程卡同时报工') |
| | | } |
| | |
| | | |
| | | getProcessCardList(val,process.value) |
| | | }) |
| | | } |
| | | },200) |
| | | |
| | | //移除流程卡 |
| | | const deleteProcess = (indexVal) => { |
| | | const deleteProcess = debounce((indexVal) => { |
| | | reportworkList.value.splice(indexVal, 1) |
| | | } |
| | | },200) |
| | | |
| | | </script> |
| | | |
| | |
| | | <uni-th align="center">项目名称</uni-th> |
| | | <uni-th align="center">数量</uni-th> |
| | | <uni-th align="center">面积</uni-th> |
| | | <uni-th align="center">金额</uni-th> |
| | | <!-- <uni-th align="center">金额</uni-th> --> |
| | | <uni-th align="center">创建时间</uni-th> |
| | | </uni-tr> |
| | | |
| | |
| | | <uni-td align="center">{{ item.project }}</uni-td> |
| | | <uni-td align="center">{{ item.quantity }}</uni-td> |
| | | <uni-td align="center">{{ item.area }}</uni-td> |
| | | <uni-td align="center">{{ item.money }}</uni-td> |
| | | <!-- <uni-td align="center">{{ item.money }}</uni-td> --> |
| | | <uni-td align="center">{{ item.createTime }}</uni-td> |
| | | </uni-tr> |
| | | |
| | | <!-- <uni-tr > |
| | | <uni-td align="center">合计:</uni-td> |
| | | <uni-td align="center"></uni-td> |
| | | <uni-td align="center"></uni-td> |
| | | <uni-td align="center">{{ totalSum.quantity }}</uni-td> |
| | | <uni-td align="center">{{ totalSum.area }}</uni-td> |
| | | <uni-td align="center">{{ totalSum.money }}</uni-td> |
| | | <uni-td align="center"></uni-td> |
| | | </uni-tr> --> |
| | | </uni-table> |
| | | </view> |
| | | </view> |
| | |
| | | import request from '../../utils/request' |
| | | const dates = ref([null,null]) |
| | | const deliverys = ref([]) |
| | | const totalSum = ref({}) |
| | | |
| | | onMounted(()=>{ |
| | | getDeliverys() |
| | |
| | | request.post("/app/getDeliveryList",dates.value).then(res => { |
| | | deliverys.value = res.data.data |
| | | dates.value = res.data.date |
| | | totalSum.value = res.data.totalSum |
| | | }) |
| | | } |
| | | |
| | |
| | | <view style="width: 100%;height: 100%;"> |
| | | |
| | | |
| | | <!-- <uni-datetime-picker v-model="dates" type="daterange" @change="maskClick" /> |
| | | <uni-datetime-picker v-model="dates" type="daterange" @change="maskClick" /> |
| | | <view id='data'> |
| | | <uni-table border stripe style='width:100%;height: 100%;overflow: auto;'> |
| | | <uni-tr> |
| | |
| | | <uni-td align="center">{{ item.createTime }}</uni-td> |
| | | <uni-td align="center">{{ item.deliveryDate }}</uni-td> |
| | | </uni-tr> |
| | | |
| | | <uni-tr> |
| | | <uni-td align="center">合计:</uni-td> |
| | | <uni-td align="center"></uni-td> |
| | | <uni-td align="center"></uni-td> |
| | | <uni-td align="center"></uni-td> |
| | | <uni-td align="center">{{ totalSum.quantity }}</uni-td> |
| | | <uni-td align="center">{{ totalSum.area }}</uni-td> |
| | | <uni-td align="center">{{ totalSum.perimeter }}</uni-td> |
| | | <uni-td align="center" /> |
| | | <uni-td align="center" /> |
| | | <uni-td align="center" /> |
| | | <uni-td align="center" /> |
| | | </uni-tr> |
| | | </uni-table> |
| | | </view> --> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | import request from '../../utils/request' |
| | | const dates = ref([null,null]) |
| | | const orders = ref([]) |
| | | const totalSum = ref({}) |
| | | |
| | | onMounted(()=>{ |
| | | getOrderList() |
| | |
| | | request.post("/app/getOrderList",dates.value).then(res => { |
| | | orders.value = res.data.data |
| | | dates.value = res.data.date |
| | | totalSum.value = res.data.totalSum |
| | | }) |
| | | } |
| | | |
| | |
| | | <template> |
| | | <view style="width: 100%;height: 100%;"> |
| | | <view class="charts-box"> |
| | | <!-- <view class="charts-box"> |
| | | <qiun-data-charts |
| | | type="pie" |
| | | :opts="opts" |
| | | :chartData="chartData" |
| | | /> |
| | | </view> |
| | | <!-- <uni-table border stripe style='width:100%;height: 100%;overflow: auto;'> |
| | | </view> --> |
| | | <uni-table border stripe style='width:100%;height: 100%;overflow: auto;'> |
| | | <uni-tr> |
| | | <uni-th align="center">ID</uni-th> |
| | | <uni-th align="center">物料</uni-th> |
| | |
| | | <uni-td align="center">{{ item.producer }}</uni-td> |
| | | <uni-td align="center">{{ item.remarks }}</uni-td> |
| | | </uni-tr> |
| | | </uni-table> --> |
| | | </uni-table> |
| | | </view> |
| | | </template> |
| | | |
| New file |
| | |
| | | <template> |
| | | <view style="margin-bottom: 2rem;"> |
| | | <uni-section |
| | | title="发货单出库" |
| | | padding="0 0 5px 10px"> |
| | | |
| | | <template v-slot:right> |
| | | <button @click="warehouseOut" type="primary" size='mini'>出库</button> |
| | | </template> |
| | | </uni-section> |
| | | </view> |
| | | |
| | | <view> |
| | | <uni-table ref="table" border stripe type="selection" emptyText="暂无更多数据" @selection-change="selectionChange"> |
| | | <uni-tr> |
| | | <uni-th align="center">发货数量</uni-th> |
| | | <uni-th align="center">库存数量</uni-th> |
| | | <uni-th align="center">宽*高</uni-th> |
| | | <!-- <uni-th align="center" width='150'>产品名称</uni-th> --> |
| | | <uni-th align="center">发货单号</uni-th> |
| | | <uni-th align="center">发货序号</uni-th> |
| | | <uni-th align="center">订单号</uni-th> |
| | | |
| | | <uni-th align="center">客户名称</uni-th> |
| | | <uni-th align="center">项目名称</uni-th> |
| | | <uni-th align="center">发货日期</uni-th> |
| | | </uni-tr> |
| | | <uni-tr v-for="(item, index) in tableData" :key="index"> |
| | | <uni-td align="center">{{ item.deliveryDetail.quantity }}</uni-td> |
| | | <uni-td align="center">{{ item.warehouseNum }}</uni-td> |
| | | <uni-td align="center">{{ item.width }}*{{ item.height }}</uni-td> |
| | | |
| | | <!-- <uni-td align="center">{{ item.productName }}</uni-td> --> |
| | | <uni-td align="center">{{ item.deliveryDetail.deliveryId }}</uni-td> |
| | | <uni-td align="center">{{ item.deliveryDetail.orderNumber }}</uni-td> |
| | | |
| | | <uni-td align="center">{{ item.deliveryDetail.orderId }}</uni-td> |
| | | <uni-td align="center">{{ item.delivery.customerName }}</uni-td> |
| | | <uni-td align="center">{{ item.order.project }}</uni-td> |
| | | <uni-td align="center">{{ item.deliveryDetail.createTime }}</uni-td> |
| | | </uni-tr> |
| | | </uni-table> |
| | | </view> |
| | | <view> |
| | | <!-- 提示信息弹窗 --> |
| | | <uni-popup ref="message" type="message"> |
| | | <uni-popup-message :type="msgType" :message="messageText" :duration="3000"></uni-popup-message> |
| | | </uni-popup> |
| | | </view> |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { onMounted, ref } from 'vue'; |
| | | import { onLoad } from '@dcloudio/uni-app' |
| | | import request from '../../utils/request' |
| | | import userInfo from '@/stores/userInfo' |
| | | import { debounce } from 'lodash' |
| | | const user=userInfo() |
| | | const tableData = ref([]) |
| | | const checkList = ref([]) |
| | | const table = ref(null) |
| | | const message = ref(null) |
| | | const msgType=ref('success') |
| | | const messageText=ref('') |
| | | |
| | | |
| | | onLoad(()=>{ |
| | | getSelectDeliveryDetailList() |
| | | }) |
| | | |
| | | |
| | | const selectionChange = (e) => { |
| | | checkList.value = e.detail.index |
| | | } |
| | | |
| | | const getSelectDeliveryDetailList = () => { |
| | | request.post(`/app/getSelectDeliveryDetailList`).then(res => { |
| | | tableData.value = res.data.data |
| | | }) |
| | | } |
| | | |
| | | |
| | | //出库方法 |
| | | const warehouseOut = debounce(() => { |
| | | if(checkList.value.length === 0){ |
| | | messageToggle('warn',"未选择出库数据") |
| | | } |
| | | checkList.value.sort() |
| | | const arr = [] |
| | | checkList.value.forEach(item => { |
| | | arr.push(tableData.value[item]) |
| | | }) |
| | | const para = { |
| | | userId:user.user.userId, |
| | | userName: user.user.userName, |
| | | orderDetail:arr |
| | | } |
| | | |
| | | request.post(`/app/addDeliveryDetail`,para).then(res => { |
| | | messageToggle('success',"出库成功") |
| | | table.value.clearSelection() |
| | | getSelectDeliveryDetailList() |
| | | }) |
| | | },200) |
| | | |
| | | const messageToggle = (type,msg) => { |
| | | msgType.value = type |
| | | messageText.value = msg |
| | | message.value.open() |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <style> |
| | | |
| | | |
| | | </style> |
| | |
| | | let ip =uni.getStorageSync('ip') || null |
| | | const webPort = 5173 |
| | | const port = 8086 |
| | | const port = uni.getStorageSync('port') || 8086 |
| | | |
| | | export { |
| | | ip, |