| | |
| | | data: params, |
| | | }); |
| | | }, |
| | | |
| | | // 查询杂工信息 |
| | | getBackmanDetail(params: any) { |
| | | return request<BaseResult<any>>({ |
| | | url: "/app/getBackmanDetail", |
| | | method: "GET", |
| | | data: params, |
| | | }); |
| | | }, |
| | | |
| | | // 获取杂工项目 |
| | | getBackmanDetailByType(params: any) { |
| | | return request<BaseResult<any>>({ |
| | | url: "/app/getBackmanDetailByType", |
| | | method: "GET", |
| | | data: params, |
| | | }); |
| | | }, |
| | | addBackmanDetail(params: any) { |
| | | return request<BaseResult<any>>({ |
| | | url: "/app/addBackmanDetail", |
| | | method: "POST", |
| | | data: params, |
| | | }); |
| | | }, |
| | | }; |
| | | |
| | | export default ManageApi; |
| | |
| | | }); |
| | | }, |
| | | |
| | | // 新增拉丝报工 |
| | | addWireOutput(data: any) { |
| | | // 新增绞丝报工 |
| | | addTwistOutput(data: any) { |
| | | return request<BaseResult<any>>({ |
| | | url: "/app/addWireOutput", |
| | | url: "/app/addWireOutput1", |
| | | method: "POST", |
| | | data: data, |
| | | }); |
| | |
| | | <wd-card class="card_bg"> |
| | | <template #title> |
| | | <view class="flex justify-between w-full"> |
| | | <text class="font-medium text-[#252525]">设备编号: {{ data.deviceModel }}</text> |
| | | <text class="font-medium text-[#252525]">设备编号: {{ data[map.deviceModel] }}</text> |
| | | <wd-tag color="#0D867F" bg-color="#E7F4EC"> |
| | | <text class="text-xs">{{ data.model }}</text> |
| | | <text class="text-xs">{{ data[map.model] }}</text> |
| | | </wd-tag> |
| | | </view> |
| | | </template> |
| | |
| | | </view> |
| | | <text class="text-[#646874] mx-2"> |
| | | 总需求数量: |
| | | <text class="text-[#252525]">{{ data.totalAmount }}m</text> |
| | | <text class="text-[#252525]">{{ data[map.totalAmount] }}m</text> |
| | | </text> |
| | | </view> |
| | | </wd-col> |
| | |
| | | </view> |
| | | <text class="text-[#646874] mx-2"> |
| | | 已生产数量: |
| | | <text class="text-[#252525]">{{ data.amount }}m</text> |
| | | <text class="text-[#252525]">{{ data[map.amount] }}m</text> |
| | | </text> |
| | | </view> |
| | | </wd-col> |
| | |
| | | </view> |
| | | <text class="text-[#646874] mx-2"> |
| | | 待排产数量: |
| | | <text class="text-[#252525]">{{ data.unAmount }}m</text> |
| | | <text class="text-[#252525]">{{ data[map.unAmount] }}m</text> |
| | | </text> |
| | | </view> |
| | | </wd-col> |
| | |
| | | type: Object, |
| | | default: () => {}, |
| | | }, |
| | | map: { |
| | | type: Object, |
| | | default: () => {}, |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | |
| | | </wd-grid> |
| | | |
| | | <!-- 数据统计 --> |
| | | <wd-grid :column="2" :gutter="2"> |
| | | <!-- <wd-grid :column="2" :gutter="2"> |
| | | <wd-grid-item use-slot custom-class="custom-item"> |
| | | <view class="flex justify-start pl-5"> |
| | | <view class="flex-center"> |
| | |
| | | </view> |
| | | </view> |
| | | </wd-grid-item> |
| | | </wd-grid> |
| | | </wd-grid> --> |
| | | |
| | | <wd-card> |
| | | <template #title> |
| | |
| | | </view> |
| | | |
| | | <!-- 数据统计 --> |
| | | <view class="stats-container"> |
| | | <!-- <view class="stats-container"> |
| | | <view class="stat-item" @click="navigateToSection('wallet')"> |
| | | <view class="stat-value">0.00</view> |
| | | <view class="stat-label">我的余额</view> |
| | |
| | | <view class="stat-value">0</view> |
| | | <view class="stat-label">浏览历史</view> |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | |
| | | <!-- 我的订单 --> |
| | | <view class="card-container"> |
| | | <!-- <view class="card-container"> |
| | | <view class="card-header"> |
| | | <view class="card-title"> |
| | | <wd-icon name="cart" size="18" :color="themeStore.primaryColor" /> |
| | |
| | | <view class="status-label">售后</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> --> |
| | | |
| | | <!-- 常用工具 --> |
| | | <view class="card-container"> |
| | |
| | | <template> |
| | | <view> |
| | | <ProductCard :data="cardData" /> |
| | | <ProductCard |
| | | :data="cardData" |
| | | :map="{ |
| | | deviceModel: 'deviceModel', |
| | | model: 'model', |
| | | totalAmount: 'totalAmount', |
| | | amount: 'amount', |
| | | unAmount: 'unAmount', |
| | | }" |
| | | /> |
| | | <view class="mx-3"> |
| | | <wd-grid class="rounded-lg" clickable> |
| | | <wd-grid-item |
| | |
| | | <wd-grid-item |
| | | icon="tips" |
| | | link-type="navigateTo" |
| | | url="/pages/production/twist/backman/index" |
| | | :url="`/pages/production/twist/backman/index?id=${paramsId}`" |
| | | text="杂工" |
| | | /> |
| | | <wd-grid-item |
| | |
| | | <template> |
| | | <view class="pt-2"> |
| | | <ProductCard :data="cardData" /> |
| | | <ProductCard |
| | | :data="cardData" |
| | | :map="{ |
| | | deviceModel: 'deviceModel', |
| | | model: 'model', |
| | | totalAmount: 'totalAmount', |
| | | amount: 'amount', |
| | | unAmount: 'unAmount', |
| | | }" |
| | | /> |
| | | <view class="mx-3"> |
| | | <wd-grid class="rounded-lg" clickable> |
| | | <wd-grid-item |
| | |
| | | <wd-grid-item |
| | | icon="tips" |
| | | link-type="navigateTo" |
| | | url="/pages/production/wire/backman/index" |
| | | :url="`/pages/production/wire/backman/index?id=${paramsId}`" |
| | | text="杂工" |
| | | /> |
| | | <wd-grid-item |
| | |
| | | <ProductCard |
| | | v-for="(item, index) in list" |
| | | :key="index" |
| | | :data="{ |
| | | deviceModel: item.deviceModel, |
| | | model: item.model, |
| | | totalAmount: item.totalLength, |
| | | amount: item.length, |
| | | unAmount: item.unLength, |
| | | }" |
| | | :data="item" |
| | | :map="map" |
| | | @click="toDetail(item.id, item.type)" |
| | | /> |
| | | </z-paging> |
| | |
| | | const userStore = useUserStore(); |
| | | const userInfo: any = computed(() => userStore.userInfo); |
| | | const pagingRef = ref(); |
| | | const map = reactive({ |
| | | deviceModel: "deviceModel", |
| | | model: "model", |
| | | totalAmount: "totalAmount", |
| | | amount: "amount", |
| | | unAmount: "unAmount", |
| | | }); |
| | | const props = defineProps({ |
| | | api: { |
| | | type: Function, |
| | |
| | | size: pageSize, |
| | | }); |
| | | if (code == 200) { |
| | | if (data.total == 0) { |
| | | if (data.type == "绞线") { |
| | | map.deviceModel = "deviceModel"; |
| | | map.model = "model"; |
| | | map.totalAmount = "totalLength"; |
| | | map.amount = "length"; |
| | | map.unAmount = "unLength"; |
| | | } else if (data.type == "拉丝") { |
| | | map.deviceModel = "deviceModel"; |
| | | map.model = "model"; |
| | | map.totalAmount = "totalAmount"; |
| | | map.amount = "amount"; |
| | | map.unAmount = "unAmount"; |
| | | } |
| | | if (data.data.total == 0) { |
| | | pagingRef.value.complete(true); |
| | | } else { |
| | | pagingRef.value.complete(data.records); |
| | | pagingRef.value.complete(data.data.records); |
| | | } |
| | | emits("ok", data.total); |
| | | emits("ok", data.data.total); |
| | | } |
| | | }; |
| | | </script> |
| | |
| | | <template> |
| | | <view class="page pt-2"> |
| | | <CardTitle title="绞线杂工信息" :hideAction="true" @action="addReport" /> |
| | | <view class="list"> |
| | | <wd-card type="rectangle" custom-class="round"> |
| | | <view class="list"> |
| | | <z-paging |
| | | ref="pagingRef" |
| | | v-model="cardList" |
| | | :fixed="false" |
| | | :auto-show-back-to-top="true" |
| | | @query="getList" |
| | | > |
| | | <template #top> |
| | | <CardTitle title="绞线杂工信息" :hideAction="true" @action="addReport" /> |
| | | </template> |
| | | <wd-card v-for="(item, index) in cardList" :key="index" type="rectangle" custom-class="round"> |
| | | <template #title> |
| | | <view class="flex justify-between"> |
| | | <view> |
| | |
| | | </template> |
| | | <ProductionCard :data="cardAttr" color="#0D867F" /> |
| | | </wd-card> |
| | | </view> |
| | | </z-paging> |
| | | <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup"> |
| | | <view class="action px-3"> |
| | | <wd-button type="text" @click="cancel">取消</wd-button> |
| | |
| | | import ProductionCard from "../../components/ProductionCard.vue"; |
| | | import { useToast } from "wot-design-uni"; |
| | | import BackmanForm from "./form.vue"; |
| | | import { onLoad } from "@dcloudio/uni-app"; |
| | | import zPaging from "@/components/z-paging/z-paging.vue"; |
| | | import ManageApi from "@/api/product/manage"; |
| | | |
| | | const paramsId = ref(); |
| | | const pagingRef = ref(); |
| | | const toast = useToast(); |
| | | const dialog = reactive({ |
| | | visible: false, |
| | | }); |
| | | |
| | | const cardList = ref<any[]>([]); |
| | | const cardAttr = ref<any[]>([ |
| | | { |
| | | label: "单位", |
| | |
| | | toast.show("取消"); |
| | | dialog.visible = false; |
| | | }; |
| | | |
| | | const getList = async () => { |
| | | const { code, data } = await ManageApi.getBackmanDetail({ |
| | | wireId: paramsId.value, |
| | | }); |
| | | if (code == 200) { |
| | | pagingRef.value.complete(data); |
| | | } |
| | | }; |
| | | onLoad((options: any) => { |
| | | paramsId.value = options.id; |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .page { |
| | | .list { |
| | | height: calc(100vh - 80px); |
| | | padding: 12px; |
| | | background: #f3f9f8; |
| | | .list { |
| | | height: calc(100vh - 120px); |
| | | margin: 12px; |
| | | overflow: scroll; |
| | | |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | } |
| | | } |
| | |
| | | <wd-icon name="a-rootlist" color="#0D867F"></wd-icon> |
| | | <text class="text-[#252525] ml-2 font-medium">{{ item.diskMaterial }}</text> |
| | | </view> |
| | | <view class="text-[#A8A8A8]" @click="toEdit">编辑</view> |
| | | <view class="text-[#A8A8A8]" @click="toEdit(item.id)">编辑</view> |
| | | </view> |
| | | </template> |
| | | <ProductionCard :data="cardAttr" :value="item" color="#0D867F" /> |
| | | </wd-card> |
| | | </z-paging> |
| | | <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup"> |
| | | <view class="action px-3"> |
| | | <wd-button type="text" @click="cancel">取消</wd-button> |
| | | <wd-button type="text" @click="submit">确定</wd-button> |
| | | </view> |
| | | <PlateForm ref="plateFormRef" @refresh="reloadList" /> |
| | | </wd-popup> |
| | | <wd-toast /> |
| | | </view> |
| | | <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup"> |
| | | <view class="action px-3"> |
| | | <wd-button type="text" @click="cancel">取消</wd-button> |
| | | <wd-button type="text" @click="submit">确定</wd-button> |
| | | </view> |
| | | <PlateForm ref="plateFormRef" @refresh="reloadList" /> |
| | | </wd-popup> |
| | | <wd-toast /> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | |
| | | }, |
| | | ]); |
| | | |
| | | const toEdit = () => { |
| | | const toEdit = (id: number) => { |
| | | uni.navigateTo({ |
| | | url: "/pages/production/twist/receive/plate/edit", |
| | | url: `/pages/production/twist/receive/plate/edit?id=${id}`, |
| | | }); |
| | | }; |
| | | |
| | |
| | | <wd-icon name="a-rootlist" color="#0D867F"></wd-icon> |
| | | <text class="text-[#252525] ml-2 font-medium">{{ item.model }}</text> |
| | | </view> |
| | | <view class="text-[#A8A8A8]" @click="toEdit">编辑</view> |
| | | <view class="text-[#A8A8A8]" @click="toEdit(item.id)">编辑</view> |
| | | </view> |
| | | </template> |
| | | <ProductionCard :data="cardAttr" :value="item" color="#0D867F" /> |
| | |
| | | }, |
| | | ]); |
| | | |
| | | const toEdit = () => { |
| | | const toEdit = (id: number) => { |
| | | uni.navigateTo({ |
| | | url: "/pages/production/twist/receive/steelCore/edit", |
| | | url: `/pages/production/twist/receive/steelCore/edit?id=${id}`, |
| | | }); |
| | | }; |
| | | |
| | |
| | | dialog.visible = true; |
| | | }; |
| | | |
| | | const submit = () => { |
| | | toast.show("提交"); |
| | | dialog.visible = false; |
| | | const submit = async () => { |
| | | dialog.visible = !(await steelCoreRef.value.submit()); |
| | | }; |
| | | |
| | | const cancel = () => { |
| | |
| | | <wd-cell-group :border="true"> |
| | | <wd-input |
| | | v-model="model.contractNo" |
| | | label="合同号" |
| | | label="领用杆号" |
| | | label-width="100px" |
| | | prop="contractNo" |
| | | clearable |
| | | placeholder="请输入合同号" |
| | | placeholder="请输入领用杆号" |
| | | /> |
| | | <wd-input |
| | | v-model="model.status" |
| | | label="状态" |
| | | label="杆重(kg)" |
| | | label-width="100px" |
| | | prop="status" |
| | | clearable |
| | | placeholder="请输入状态" |
| | | placeholder="请输入杆重" |
| | | /> |
| | | <wd-input |
| | | v-model="model.clientName" |
| | | label="客户名称" |
| | | label="单丝盘号" |
| | | label-width="100px" |
| | | prop="clientName" |
| | | clearable |
| | | placeholder="请输入客户名称" |
| | | placeholder="请输入单丝盘号" |
| | | /> |
| | | <wd-input |
| | | v-model="model.workbench" |
| | | label="机台" |
| | | label="实际重量(kg)" |
| | | label-width="100px" |
| | | prop="workbench" |
| | | clearable |
| | | placeholder="请输入机台" |
| | | placeholder="请输入实际重量" |
| | | /> |
| | | <wd-input |
| | | v-model="model.quality" |
| | | label="质量追溯号" |
| | | label-width="100px" |
| | | prop="quality" |
| | | clearable |
| | | placeholder="请输入质量追溯号" |
| | | /> |
| | | <wd-input |
| | | v-model="model.specification" |
| | | label="规格型号" |
| | | label-width="100px" |
| | | prop="specification" |
| | | clearable |
| | | placeholder="请输入规格型号" |
| | | /> |
| | | <wd-input |
| | | v-model="model.disc" |
| | | label="盘长(m)" |
| | | label-width="100px" |
| | | prop="disc" |
| | | prop="quality" |
| | | clearable |
| | | placeholder="请输入盘长" |
| | | /> |
| | | <wd-input |
| | | v-model="model.produced" |
| | | label="已生产(m)" |
| | | v-model="model.specification" |
| | | label="理论重量(kg)" |
| | | label-width="100px" |
| | | prop="produced" |
| | | prop="specification" |
| | | clearable |
| | | placeholder="请输入已生产" |
| | | placeholder="请输入理论重量" |
| | | /> |
| | | <wd-input |
| | | v-model="model.beProduced" |
| | | label="待生产(m)" |
| | | v-model="model.disc" |
| | | label="规格型号" |
| | | label-width="100px" |
| | | prop="beProduced" |
| | | prop="disc" |
| | | clearable |
| | | placeholder="请输入单丝盘长" |
| | | placeholder="请输入规格型号" |
| | | /> |
| | | </wd-cell-group> |
| | | </wd-form> |
| | |
| | | |
| | | <script lang="ts" setup> |
| | | import useFormData from "@/hooks/useFormData"; |
| | | import { useToast } from "wot-design-uni"; |
| | | import TwistApi from "@/api/product/twist"; |
| | | |
| | | const paramsId = ref(); |
| | | const toast = useToast(); |
| | | const { form: model } = useFormData({ |
| | | contractNo: undefined, // 合同号 |
| | | status: undefined, // 状态 |
| | | clientName: undefined, // 客户名称 |
| | | workbench: undefined, // 机台 |
| | | quality: undefined, // 质量追溯号 |
| | | specification: undefined, // 规格型号 |
| | | disc: undefined, // 盘长 |
| | | produced: undefined, // 已生产 |
| | | beProduced: undefined, // 待生产 |
| | | poleNumber: undefined, // 领用杆号 |
| | | poleWeight: undefined, // 杆重(kg) |
| | | monofilamentNumber: undefined, // 单丝盘号 |
| | | actuallyWeight: undefined, // 实际重量(kg) |
| | | ontLength: undefined, // 盘长(m) |
| | | theoryWeight: undefined, // 理论重量(kg) |
| | | model: undefined, // 规格型号 |
| | | }); |
| | | |
| | | const submit = async () => { |
| | | const { code } = await TwistApi.addTwistOutput({ |
| | | wireId: paramsId.value, |
| | | ...model, |
| | | }); |
| | | if (code == 200) { |
| | | toast.success("提交成功"); |
| | | return true; |
| | | } else { |
| | | toast.error("提交失败"); |
| | | return false; |
| | | } |
| | | }; |
| | | |
| | | onLoad((options: any) => { |
| | | paramsId.value = options.id; |
| | | }); |
| | | |
| | | defineExpose({ |
| | | submit, |
| | | }); |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <view class="page pt-2"> |
| | | <z-paging ref="pagingRef" v-model="twistReportList" class="list" @query="getTwistReportList"> |
| | | <view class="list"> |
| | | <z-paging ref="pagingRef" v-model="twistReportList" :fixed="false" @query="getTwistReportList"> |
| | | <template #top> |
| | | <CardTitle title="报工信息" :hideAction="true" :full="false" @action="addReport" /> |
| | | </template> |
| | |
| | | <view> |
| | | <wd-icon name="user" color="#0D867F"></wd-icon> |
| | | <text class="text-[#0D867F] ml-2 font-medium">生产人</text> |
| | | <text class="text-[#333333] ml-2">方兆玉</text> |
| | | <text class="text-[#333333] ml-2">{{ item.productUser }}</text> |
| | | </view> |
| | | <view class="text-[#A8A8A8]" @click="toEdit">编辑</view> |
| | | </view> |
| | | </template> |
| | | <ProductionCard :data="cardAttr" :value="item" /> |
| | | <template #footer> |
| | | <wd-button size="small" plain @click="toCheck">自检</wd-button> |
| | | <wd-button size="small" plain @click="toCheck(item.id)">自检</wd-button> |
| | | </template> |
| | | </wd-card> |
| | | </z-paging> |
| | |
| | | <wd-button type="text" @click="cancel">取消</wd-button> |
| | | <wd-button type="text" @click="submit">确定</wd-button> |
| | | </view> |
| | | <TwistForm /> |
| | | <TwistForm ref="twistFormRef" /> |
| | | </wd-popup> |
| | | <wd-toast /> |
| | | </view> |
| | |
| | | |
| | | const pagingRef = ref(); |
| | | const paramsId = ref(); |
| | | const twistFormRef = ref(); |
| | | const toast = useToast(); |
| | | const dialog = reactive({ |
| | | visible: false, |
| | |
| | | prop: "monofilamentNumber", |
| | | }, |
| | | { |
| | | label: "规格型号", |
| | | prop: "model", |
| | | label: "实际重量(kg)", |
| | | prop: "actuallyWeight", |
| | | }, |
| | | { |
| | | label: "盘长(m)", |
| | |
| | | prop: "theoryWeight", |
| | | }, |
| | | { |
| | | label: "实际重量(kg)", |
| | | prop: "actuallyWeight", |
| | | label: "规格型号", |
| | | prop: "model", |
| | | }, |
| | | ]); |
| | | |
| | |
| | | }; |
| | | |
| | | const submit = () => { |
| | | toast.show("提交"); |
| | | dialog.visible = false; |
| | | dialog.visible = twistFormRef.value.submit(); |
| | | }; |
| | | |
| | | const cancel = () => { |
| | |
| | | dialog.visible = false; |
| | | }; |
| | | |
| | | const toCheck = () => { |
| | | const toCheck = (id: number) => { |
| | | uni.navigateTo({ |
| | | url: "/pages/production/twist/selfInspect/index", |
| | | url: `/pages/production/twist/selfInspect/index?id=${id}`, |
| | | }); |
| | | }; |
| | | |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .page { |
| | | .list { |
| | | height: calc(100vh - 120px); |
| | | padding: 12px; |
| | | background: #f3f9f8; |
| | | |
| | | .list { |
| | | margin: 12px; |
| | | |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <view class="page pt-2"> |
| | | <CardTitle title="绞线自检" :hideAction="true" @action="addReport" /> |
| | | <view class="list"> |
| | | <wd-card type="rectangle" custom-class="round"> |
| | | <view class="list"> |
| | | <z-paging ref="pagingRef" v-model="cardList" :fixed="false" @query="getList"> |
| | | <template #top> |
| | | <CardTitle title="绞线自检" :hideAction="false" /> |
| | | </template> |
| | | <wd-card v-for="(item, index) in cardList" :key="index" type="rectangle" custom-class="round"> |
| | | <template #title> |
| | | <view class="flex justify-between"> |
| | | <view> |
| | | <wd-icon name="a-rootlist" color="#0D867F"></wd-icon> |
| | | <text class="text-[#252525] ml-2 font-medium">自检项目名称</text> |
| | | <text class="text-[#252525] ml-2 font-medium">{{ item.inspectionProject }}</text> |
| | | </view> |
| | | <view class="text-[#A8A8A8]" @click="toEdit">编辑</view> |
| | | </view> |
| | | </template> |
| | | <ProductionCard :data="cardAttr" color="#0D867F" /> |
| | | <ProductionCard :data="cardAttr" :value="item" color="#0D867F" /> |
| | | </wd-card> |
| | | </view> |
| | | </z-paging> |
| | | <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup"> |
| | | <view class="action px-3"> |
| | | <wd-button type="text" @click="cancel">取消</wd-button> |
| | |
| | | import ProductionCard from "../../components/ProductionCard.vue"; |
| | | import { useToast } from "wot-design-uni"; |
| | | import SelfInspectForm from "./form.vue"; |
| | | import ManageApi from "@/api/product/manage"; |
| | | |
| | | const pagingRef = ref(); |
| | | const paramsId = ref(); |
| | | const toast = useToast(); |
| | | const dialog = reactive({ |
| | | visible: false, |
| | |
| | | const cardAttr = ref<any[]>([ |
| | | { |
| | | label: "单位", |
| | | value: "nΩ·m", |
| | | prop: "inspectionUnit", |
| | | }, |
| | | { |
| | | label: "标准值", |
| | | value: "1246", |
| | | prop: "standardValue", |
| | | }, |
| | | { |
| | | label: "自检值", |
| | | value: "1245", |
| | | prop: "inspectionItem", |
| | | }, |
| | | { |
| | | label: "自检结果", |
| | | value: "不合格", |
| | | prop: "inspectionResult", |
| | | color: "#FF1E1E", |
| | | }, |
| | | ]); |
| | | const addReport = () => { |
| | | dialog.visible = true; |
| | | }; |
| | | const cardList = ref<any[]>([]); |
| | | |
| | | // const addReport = () => { |
| | | // dialog.visible = true; |
| | | // }; |
| | | |
| | | const toEdit = () => { |
| | | uni.navigateTo({ |
| | |
| | | toast.show("取消"); |
| | | dialog.visible = false; |
| | | }; |
| | | |
| | | const getList = async () => { |
| | | const { data } = await ManageApi.getSelfInspection({ |
| | | outPutId: paramsId.value, |
| | | type: "绞线", |
| | | }); |
| | | pagingRef.value.complete(data); |
| | | }; |
| | | |
| | | onLoad((options: any) => { |
| | | paramsId.value = options.id; |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .page { |
| | | .list { |
| | | height: calc(100vh - 120px); |
| | | padding: 12px; |
| | | background: #f3f9f8; |
| | | .list { |
| | | height: calc(100vh - 120px); |
| | | margin: 12px; |
| | | overflow: scroll; |
| | | |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <wd-form ref="form" :model="model" class="relative form_box"> |
| | | <wd-cell-group :border="true"> |
| | | <wd-input |
| | | <wd-picker |
| | | v-model="model.workbench" |
| | | :columns="columns" |
| | | label="杂工名称" |
| | | label-width="100px" |
| | | prop="workbench" |
| | | clearable |
| | | placeholder="请输入杂工名称" |
| | | placeholder="请选择杂工名称" |
| | | /> |
| | | <wd-input |
| | | v-model="model.poleNo" |
| | |
| | | |
| | | <script setup lang="ts"> |
| | | import useFormData from "@/hooks/useFormData"; |
| | | import ManageApi from "@/api/product/manage"; |
| | | import { onLoad } from "@dcloudio/uni-app"; |
| | | import { useToast } from "wot-design-uni"; |
| | | |
| | | const columns = ref([]); |
| | | const paramsId = ref(); |
| | | const toast = useToast(); |
| | | const { form: model } = useFormData({ |
| | | backmanName: undefined, // 杂工名称 |
| | | unit: undefined, // 单位 |
| | |
| | | caller: undefined, // 报工人 |
| | | callerDate: undefined, // 报工日期 |
| | | }); |
| | | |
| | | const getBackman = async () => { |
| | | const { data } = await ManageApi.getBackmanDetailByType({ type: "拉丝" }); |
| | | columns.value = data.map((item: any) => item.backmanProject); |
| | | }; |
| | | |
| | | const submit = async () => { |
| | | const { code } = await ManageApi.addBackmanDetail([ |
| | | { |
| | | wireId: paramsId.value, |
| | | type: "拉丝", |
| | | ...model, |
| | | }, |
| | | ]); |
| | | if (code == 200) { |
| | | toast.success("提交成功"); |
| | | return true; |
| | | } else { |
| | | toast.error("提交失败"); |
| | | return false; |
| | | } |
| | | }; |
| | | |
| | | onLoad((options: any) => { |
| | | paramsId.value = options.id; |
| | | getBackman(); |
| | | }); |
| | | |
| | | defineExpose({ |
| | | submit, |
| | | }); |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .form_box { |
| | |
| | | <template> |
| | | <view class="page pt-2"> |
| | | <CardTitle title="杂工信息" :hideAction="true" @action="addReport" /> |
| | | <view class="list"> |
| | | <wd-card type="rectangle" custom-class="round"> |
| | | <view class="list"> |
| | | <z-paging ref="pagingRef" v-model="cardList" :fixed="false" @query="getList"> |
| | | <template #top> |
| | | <CardTitle title="杂工信息" :full="false" :hideAction="true" @action="addReport" /> |
| | | </template> |
| | | <wd-card v-for="(item, index) in cardList" :key="index" type="rectangle" custom-class="round"> |
| | | <template #title> |
| | | <view class="flex justify-between"> |
| | | <view> |
| | |
| | | </template> |
| | | <ProductionCard :data="cardAttr" color="#0D867F" /> |
| | | </wd-card> |
| | | </view> |
| | | </z-paging> |
| | | <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup"> |
| | | <view class="action px-3"> |
| | | <wd-button type="text" @click="cancel">取消</wd-button> |
| | | <wd-button type="text" @click="submit">确定</wd-button> |
| | | </view> |
| | | <BackmanForm /> |
| | | <BackmanForm ref="backmanFormRef" /> |
| | | </wd-popup> |
| | | <wd-toast /> |
| | | </view> |
| | |
| | | import ProductionCard from "../../components/ProductionCard.vue"; |
| | | import { useToast } from "wot-design-uni"; |
| | | import BackmanForm from "./form.vue"; |
| | | import ManageApi from "@/api/product/manage"; |
| | | |
| | | const pagingRef = ref(); |
| | | const backmanFormRef = ref(); |
| | | const paramsId = ref(); |
| | | const toast = useToast(); |
| | | const dialog = reactive({ |
| | | visible: false, |
| | |
| | | }, |
| | | ]); |
| | | |
| | | const cardList = ref<any[]>([]); |
| | | |
| | | const toEdit = () => { |
| | | uni.navigateTo({ |
| | | url: "/pages/production/wire/backman/edit", |
| | |
| | | }; |
| | | |
| | | const submit = () => { |
| | | toast.show("提交"); |
| | | dialog.visible = false; |
| | | dialog.visible = backmanFormRef.value.submit(); |
| | | }; |
| | | |
| | | const cancel = () => { |
| | | toast.show("取消"); |
| | | dialog.visible = false; |
| | | }; |
| | | |
| | | const getList = async () => { |
| | | const { data } = await ManageApi.getBackmanDetail({ |
| | | outPutId: paramsId.value, |
| | | type: "拉丝", |
| | | }); |
| | | pagingRef.value.complete(data); |
| | | }; |
| | | |
| | | onLoad((options: any) => { |
| | | paramsId.value = options.id; |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .page { |
| | | .list { |
| | | height: calc(100vh - 120px); |
| | | padding: 12px; |
| | | background: #f3f9f8; |
| | | .list { |
| | | height: calc(100vh - 120px); |
| | | margin: 12px; |
| | | overflow: scroll; |
| | | |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <view class="page pt-2"> |
| | | <z-paging ref="pagingRef" v-model="wireReportList" class="list" @query="getWireReportList"> |
| | | <view class="list"> |
| | | <z-paging ref="pagingRef" v-model="wireReportList" :fixed="false" @query="getWireReportList"> |
| | | <template #top> |
| | | <CardTitle title="报工信息" :hideAction="true" :full="false" @action="addReport" /> |
| | | </template> |
| | |
| | | </template> |
| | | </wd-card> |
| | | </z-paging> |
| | | |
| | | <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup"> |
| | | <view class="action px-3"> |
| | | <wd-button type="text" @click="cancel">取消</wd-button> |
| | |
| | | import zPaging from "@/components/z-paging/z-paging.vue"; |
| | | import { onLoad } from "@dcloudio/uni-app"; |
| | | import ManageApi from "@/api/product/manage"; |
| | | import WireApi from "@/api/product/wire"; |
| | | |
| | | const pagingRef = ref(); |
| | | const wireFormRef = ref(); |
| | |
| | | }, |
| | | { |
| | | label: "盘长(m)", |
| | | prop: "ontLength", |
| | | prop: "oneLength", |
| | | }, |
| | | { |
| | | label: "理论重量(kg)", |
| | |
| | | dialog.visible = true; |
| | | }; |
| | | |
| | | const submit = async () => { |
| | | toast.show("提交"); |
| | | await WireApi.addWireOutput({ |
| | | wireId: paramsId.value, |
| | | type: "拉丝", |
| | | ...wireFormRef.value.model, |
| | | }); |
| | | const submit = () => { |
| | | dialog.visible = wireFormRef.value.submit(); |
| | | }; |
| | | |
| | | const cancel = () => { |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .page { |
| | | .list { |
| | | height: calc(100vh - 120px); |
| | | padding: 12px; |
| | | background: #f3f9f8; |
| | | |
| | | .list { |
| | | margin: 12px; |
| | | background: #f3f9f8; |
| | | |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | } |
| | | } |
| | |
| | | placeholder="请输入实际重量" |
| | | /> |
| | | </wd-cell-group> |
| | | <wd-toast /> |
| | | </wd-form> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import useFormData from "@/hooks/useFormData"; |
| | | import { useToast } from "wot-design-uni"; |
| | | import WireApi from "@/api/product/wire"; |
| | | |
| | | const paramsId = ref(); |
| | | const toast = useToast(); |
| | | const { form: model } = useFormData({ |
| | | poleNumber: undefined, // 领用杆号 |
| | | poleWeight: undefined, // 客户名称 |
| | | monofilamentNumber: undefined, // 单丝盘号 |
| | | model: undefined, // 规格型号 |
| | | ontLength: undefined, // 盘长 |
| | | oneLength: undefined, // 盘长 |
| | | singleDisc: undefined, // 单丝盘长 |
| | | }); |
| | | |
| | | const submit = async () => { |
| | | const { code } = await WireApi.addWireOutput({ |
| | | wireId: paramsId.value, |
| | | type: "拉丝", |
| | | ...model, |
| | | }); |
| | | if (code == 200) { |
| | | toast.success("提交成功"); |
| | | return true; |
| | | } else { |
| | | toast.error("提交失败"); |
| | | return false; |
| | | } |
| | | }; |
| | | |
| | | onLoad((options: any) => { |
| | | paramsId.value = options.id; |
| | | }); |
| | | |
| | | defineExpose({ |
| | | model, |
| | | submit, |
| | | }); |
| | | </script> |
| | | |
| | |
| | | <template> |
| | | <view class="page pt-2"> |
| | | <CardTitle title="拉丝自检" :hideAction="true" @action="addReport" /> |
| | | <view class="list"> |
| | | <wd-card type="rectangle" custom-class="round"> |
| | | <view class="list"> |
| | | <z-paging ref="pagingRef" v-model="cardList" :fixed="false" @query="getList"> |
| | | <template #top> |
| | | <CardTitle title="拉丝自检" :hideAction="false" /> |
| | | </template> |
| | | <wd-card v-for="(item, index) in cardList" :key="index" type="rectangle" custom-class="round"> |
| | | <template #title> |
| | | <view class="flex justify-between"> |
| | | <view> |
| | | <wd-icon name="a-rootlist" color="#0D867F"></wd-icon> |
| | | <text class="text-[#252525] ml-2 font-medium">自检项目名称</text> |
| | | <text class="text-[#252525] ml-2 font-medium">{{ item.inspectionProject }}</text> |
| | | </view> |
| | | <view class="text-[#A8A8A8]" @click="toEdit">编辑</view> |
| | | </view> |
| | | </template> |
| | | <ProductionCard :data="cardAttr" color="#0D867F" /> |
| | | <ProductionCard :data="cardAttr" :value="item" color="#0D867F" /> |
| | | </wd-card> |
| | | </view> |
| | | </z-paging> |
| | | <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup"> |
| | | <view class="action px-3"> |
| | | <wd-button type="text" @click="cancel">取消</wd-button> |
| | |
| | | import ProductionCard from "../../components/ProductionCard.vue"; |
| | | import { useToast } from "wot-design-uni"; |
| | | import SelfInspectForm from "./form.vue"; |
| | | import ManageApi from "@/api/product/manage"; |
| | | |
| | | const pagingRef = ref(); |
| | | const paramsId = ref(); |
| | | const toast = useToast(); |
| | | const dialog = reactive({ |
| | | visible: false, |
| | |
| | | const cardAttr = ref<any[]>([ |
| | | { |
| | | label: "单位", |
| | | value: "nΩ·m", |
| | | prop: "inspectionUnit", |
| | | }, |
| | | { |
| | | label: "标准值", |
| | | value: "1246", |
| | | prop: "standardValue", |
| | | }, |
| | | { |
| | | label: "自检值", |
| | | value: "1245", |
| | | prop: "inspectionItem", |
| | | }, |
| | | { |
| | | label: "自检结果", |
| | | value: "不合格", |
| | | prop: "inspectionResult", |
| | | color: "#FF1E1E", |
| | | }, |
| | | ]); |
| | | const addReport = () => { |
| | | dialog.visible = true; |
| | | }; |
| | | const cardList = ref<any[]>([]); |
| | | |
| | | // const addReport = () => { |
| | | // dialog.visible = true; |
| | | // }; |
| | | |
| | | const toEdit = () => { |
| | | uni.navigateTo({ |
| | |
| | | toast.show("取消"); |
| | | dialog.visible = false; |
| | | }; |
| | | |
| | | const getList = async () => { |
| | | const { data } = await ManageApi.getSelfInspection({ |
| | | outPutId: paramsId.value, |
| | | type: "拉丝", |
| | | }); |
| | | pagingRef.value.complete(data); |
| | | }; |
| | | |
| | | onLoad((options: any) => { |
| | | paramsId.value = options.id; |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .page { |
| | | .list { |
| | | height: calc(100vh - 120px); |
| | | padding: 12px; |
| | | background: #f3f9f8; |
| | | .list { |
| | | height: calc(100vh - 120px); |
| | | margin: 12px; |
| | | overflow: scroll; |
| | | |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | :deep() { |
| | | .round { |
| | | border-radius: 4px; |
| | | } |
| | | } |
| | | } |