From 3d563665b5fbb6a93afcff5566dd64ef0566492b Mon Sep 17 00:00:00 2001
From: Mr.Shi <1878285526@qq.com>
Date: 星期三, 30 八月 2023 10:58:22 +0800
Subject: [PATCH] Merge branch 'dev' of ssh://139.186.142.91:29418/productDev/dmMes into dev
---
minipro_standard/common/css/common.css | 8
minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue | 996 +++++++++
minipro_standard/pages/index/index.vue | 3
minipro_standard/common/config.js | 8
minipro_standard/App.vue | 1
h5_standard/.env.development | 4
minipro_standard/pages.json | 21
minipro_standard/common/css/lib.css | 23
minipro_standard/components/workOrderInfo.vue | 82
minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue | 317 +++
minipro_standard/util/request/index.js | 8
minipro_standard/components/selectMaterial.vue | 61
h5_standard/src/views/workOrder/workOrderReporting.vue | 3764 ++++++++++++++++++-----------------
minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue | 1002 +++++++++
minipro_standard/static/ic_edit@2x.png | 0
15 files changed, 4,447 insertions(+), 1,851 deletions(-)
diff --git a/h5_standard/.env.development b/h5_standard/.env.development
index e73b1db..5b5d10a 100644
--- a/h5_standard/.env.development
+++ b/h5_standard/.env.development
@@ -10,13 +10,13 @@
# VUE_APP_API = 'https://106.14.220.133:10012/'
# 钀嶅鏈湴
- VUE_APP_API = 'http://192.168.3.219:10021/'
+# VUE_APP_API = 'http://192.168.3.219:10021/'
# 浠诲悍鏈湴
# VUE_APP_API = 'http://192.168.0.15:10021/'
# VUE_APP_API = 'http://192.168.0.127:10021/'
-#VUE_APP_API = 'https://dmtest.ahapp.net/doumeeplant_api/'
+VUE_APP_API = 'https://dmtest.ahapp.net/doumeeplant_api/'
# VUE_APP_API = 'http://192.168.0.13:10012/'
diff --git a/h5_standard/src/views/workOrder/workOrderReporting.vue b/h5_standard/src/views/workOrder/workOrderReporting.vue
index 3057755..df6f007 100644
--- a/h5_standard/src/views/workOrder/workOrderReporting.vue
+++ b/h5_standard/src/views/workOrder/workOrderReporting.vue
@@ -1,9 +1,9 @@
<template>
- <div class="bg">
- <!-- 宸ュ崟淇℃伅 -->
- <V-WorkOrderInfo :info="info"></V-WorkOrderInfo>
- <!-- 鎵爜鎶曟枡/浜у嚭 -->
- <!-- <div class="details_cz">
+ <div class="bg">
+ <!-- 宸ュ崟淇℃伅 -->
+ <V-WorkOrderInfo :info="info"></V-WorkOrderInfo>
+ <!-- 鎵爜鎶曟枡/浜у嚭 -->
+ <!-- <div class="details_cz">
<div class="details_cz_smtl" @click="jump1('tl')" v-if="proxy.$auth('h5:workorderinput:create')">
<img src="@/assets/icon/gongdan_ic_saoma@2x.png" alt="" />
<span>鎵爜鎶曟枡</span>
@@ -14,173 +14,182 @@
<span>鎵爜浜у嚭</span>
</div>
</div> -->
- <div class="bg_cate">
- <div @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'" v-for="(item, index) in cate" :key="index">{{ item.name }}</div>
+ <div class="bg_cate">
+ <div @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'"
+ v-for="(item, index) in cate" :key="index">{{ item.name }}</div>
+ </div>
+ <!-- 鎶曟枡鏄庣粏/鍚堟牸浜у嚭鏄庣粏/涓嶈壇浜у嚭鏄庣粏 -->
+ <div class="bg_list" v-if="typeView === 0">
+ <div class="bg_list_item">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x"></div>
+ <span>鎶曟枡鏄庣粏</span>
+ <!-- <span class="blue left">{{tlTotal()}}</span> -->
+ </div>
+ <div class="bg_list_item_top_right" @click="jumpTL"
+ v-if="proxy.$auth('h5:workorderinput:create') && (info.bomType !== 1 || info.bomType == 0 || !info.bomType)">
+ <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" />
+ <span>鎵嬪姩褰曞叆</span>
+ </div>
</div>
- <!-- 鎶曟枡鏄庣粏/鍚堟牸浜у嚭鏄庣粏/涓嶈壇浜у嚭鏄庣粏 -->
- <div class="bg_list" v-if="typeView === 0">
- <div class="bg_list_item">
- <div class="bg_list_item_top">
- <div class="bg_list_item_top_left">
- <div class="bg_list_item_top_left_x"></div>
- <span>鎶曟枡鏄庣粏</span>
- <!-- <span class="blue left">{{tlTotal()}}</span> -->
- </div>
- <div class="bg_list_item_top_right" @click="jumpTL" v-if="proxy.$auth('h5:workorderinput:create') && (info.bomType !== 1 || info.bomType == 0 || !info.bomType)">
- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" />
- <span>鎵嬪姩褰曞叆</span>
- </div>
+ <template v-if="feedingData && feedingData.length > 0">
+ <van-swipe-cell v-for="(item, index) in feedingData" :key="index">
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <!-- <span>{{item.code}}</span> -->
+ <div class="bg_list_item_num_item_wl">
+ <span> {{ item.materialName }}{{ item.procedureName ? ` | ${item.procedureName}` : ''
+ }}</span>
+ <div class="bg_list_item_num_item_wl_lx">
+ <span class="green" v-if="item.qualityType == 0">鍚堟牸 / </span>
+ <span class="yellow" v-if="item.qualityType == 1">涓嶈壇 / </span>
+ <span class="red" v-if="item.qualityType == 2">鎶ュ簾 / </span>
+ <span>{{ item.locationName }}</span>
+ <span>{{ item.batch ? ` / ${item.batch}` : '' }}</span>
</div>
- <template v-if="feedingData && feedingData.length > 0">
- <van-swipe-cell v-for="(item, index) in feedingData" :key="index">
- <div class="bg_list_item_h">
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <!-- <span>{{item.code}}</span> -->
- <div class="bg_list_item_num_item_wl">
- <span> {{ item.materialName }}{{ item.procedureName ? ` | ${item.procedureName}` : '' }}</span>
- <div class="bg_list_item_num_item_wl_lx">
- <span class="green" v-if="item.qualityType == 0">鍚堟牸 / </span>
- <span class="yellow" v-if="item.qualityType == 1">涓嶈壇 / </span>
- <span class="red" v-if="item.qualityType == 2">鎶ュ簾 / </span>
- <span>{{ item.locationName }}</span>
- <span>{{ item.batch ? ` / ${item.batch}` : '' }}</span>
- </div>
- </div>
- <div class="bg_list_item_num_item_sr">
- <input v-model="item.num" :disabled="!proxy.$auth('h5:workorderinput:update')" @blur="change(item.id, item.num, 'T', item.maxNum, item, item.unitAttribute)" type="number" />
- <span>{{item.unitName}}</span>
- </div>
- </div>
- </div>
- </div>
-
- <template #right v-if="proxy.$auth('h5:workorderinput:delete')">
- <van-button style="height: 100%;" square text="鍒犻櫎" @click="deleItem(item.id, 'T')" type="danger" />
- </template>
- </van-swipe-cell>
- </template>
- <template v-else>
- <div class="kong">
- <span>鏆傛棤鏁版嵁</span>
- </div>
- </template>
+ </div>
+ <div class="bg_list_item_num_item_sr">
+ <input v-model="item.num" :disabled="!proxy.$auth('h5:workorderinput:update')"
+ @blur="change(item.id, item.num, 'T', item.maxNum, item, item.unitAttribute)" type="number" />
+ <span>{{ item.unitName }}</span>
+ </div>
</div>
- <div class="bg_list_item">
- <div class="bg_list_item_top">
- <div class="bg_list_item_top_left">
- <div class="bg_list_item_top_left_x"></div>
- <span>浜у嚭鏄庣粏</span>
- </div>
- </div>
- <!-- <template v-if="produceData && produceData.length > 0"> -->
- <!-- v-for="(item, index) in produceData" :key="index" -->
- <van-swipe-cell>
- <div class="bg_list_item_h">
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>鑹搧鏁�({{ info.umodel ? info.umodel.name : '' }})</span>
- <div class="bg_list_item_num_item_sr">
- <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
- <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
- <input type="number" v-model="produceFrom.qualified" @blur="changeCC('0', produceFrom.qualified, produceFrom.qualifiedId)" placeholder="璇疯緭鍏�" />
- <span v-if="info.umodel">{{info.umodel.name}}</span>
- </div>
- </div>
- </div>
- </div>
- </van-swipe-cell>
- <van-swipe-cell>
- <div class="bg_list_item_h">
- <div class="bg_list_item_num">
- <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
- <div class="bg_list_item_num_item">
- <span>涓嶈壇鏁�({{ info.umodel ? info.umodel.name : '' }})</span>
- <div class="bg_list_item_num_item_sr">
- <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
- <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
- <input type="number" v-model="produceFrom.undesirable" @blur="changeCC('1', produceFrom.undesirable, produceFrom.undesirableId)" placeholder="璇疯緭鍏�" />
- <span v-if="info.umodel">{{info.umodel.name}}</span>
- </div>
- </div>
- </div>
- </div>
- </van-swipe-cell>
- <van-swipe-cell v-if="produceFrom.undesirable > 0">
- <div class="bg_list_item_h">
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item" @click="show = true">
- <span>涓嶈壇椤�</span>
- <div class="bg_list_item_num_item_sr">
- <span class="wulll" :style="{color: from.defectiveName ? '#305ED5' : ''}">{{from.defectiveName ? from.defectiveName : '璁剧疆'}}</span>
- <img src="@/assets/icon/ic_ar@2x.png" alt="" />
- </div>
- </div>
- </div>
- </div>
- </van-swipe-cell>
- <!-- </template>
+ </div>
+ </div>
+
+ <template #right v-if="proxy.$auth('h5:workorderinput:delete')">
+ <van-button style="height: 100%;" square text="鍒犻櫎" @click="deleItem(item.id, 'T')" type="danger" />
+ </template>
+ </van-swipe-cell>
+ </template>
+ <template v-else>
+ <div class="kong">
+ <span>鏆傛棤鏁版嵁</span>
+ </div>
+ </template>
+ </div>
+ <div class="bg_list_item">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x"></div>
+ <span>浜у嚭鏄庣粏</span>
+ </div>
+ </div>
+ <!-- <template v-if="produceData && produceData.length > 0"> -->
+ <!-- v-for="(item, index) in produceData" :key="index" -->
+ <van-swipe-cell>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>鑹搧鏁�({{ info.umodel ? info.umodel.name : '' }})</span>
+ <div class="bg_list_item_num_item_sr">
+ <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <input type="number" v-model="produceFrom.qualified"
+ @blur="changeCC('0', produceFrom.qualified, produceFrom.qualifiedId)" placeholder="璇疯緭鍏�" />
+ <span v-if="info.umodel">{{ info.umodel.name }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </van-swipe-cell>
+ <van-swipe-cell>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <div class="bg_list_item_num_item">
+ <span>涓嶈壇鏁�({{ info.umodel ? info.umodel.name : '' }})</span>
+ <div class="bg_list_item_num_item_sr">
+ <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <input type="number" v-model="produceFrom.undesirable"
+ @blur="changeCC('1', produceFrom.undesirable, produceFrom.undesirableId)" placeholder="璇疯緭鍏�" />
+ <span v-if="info.umodel">{{ info.umodel.name }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </van-swipe-cell>
+ <van-swipe-cell v-if="produceFrom.undesirable > 0">
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item" @click="show = true">
+ <span>涓嶈壇椤�</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="wulll" :style="{ color: from.defectiveName ? '#305ED5' : '' }">{{ from.defectiveName ?
+ from.defectiveName : '璁剧疆' }}</span>
+ <img src="@/assets/icon/ic_ar@2x.png" alt="" />
+ </div>
+ </div>
+ </div>
+ </div>
+ </van-swipe-cell>
+ <!-- </template>
<template v-else>
<div class="kong">
<span>鏆傛棤鏁版嵁</span>
</div>
</template> -->
- </div>
- <div class="bg_plan" @click="TimeShow = true">
- <div class="bg_plan_label">
- <span>鎶ュ伐鏃堕暱</span>
- </div>
- <div class="bg_plan_label_val">
- <span :style="{color: from.durationName ? '#333' : ''}">{{from.durationName ? from.durationName : '璇烽�夋嫨'}}</span>
- <img src="@/assets/icon/ic_ar@2x.png" alt="" />
- </div>
- </div>
- <div class="bg_list_item" v-if="arrType && arrType.length > 0">
- <div class="bg_list_item_top">
- <div class="bg_list_item_top_left">
- <div class="bg_list_item_top_left_x"></div>
- <span>宸ヨ祫缁╂晥</span>
- </div>
- </div>
- <div class="bg_list_item_h">
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>璁′欢鏂瑰紡</span>
- <div class="bg_list_item_num_item_list">
- <div :class="item.active ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'" v-for="(item, index) in arrType" :key="index" @click="clickPerformanceType(index)">{{ item.name }}</div>
- <!-- <div class="bg_list_item_num_item_list_item active" v-if="infoBox.type == 0">璁′欢</div>
+ </div>
+ <div class="bg_plan" @click="TimeShow = true">
+ <div class="bg_plan_label">
+ <span>鎶ュ伐鏃堕暱</span>
+ </div>
+ <div class="bg_plan_label_val">
+ <span :style="{ color: from.durationName ? '#333' : '' }">{{ from.durationName ? from.durationName : '璇烽�夋嫨' }}</span>
+ <img src="@/assets/icon/ic_ar@2x.png" alt="" />
+ </div>
+ </div>
+ <div class="bg_list_item" v-if="arrType && arrType.length > 0">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x"></div>
+ <span>宸ヨ祫缁╂晥</span>
+ </div>
+ </div>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>璁′欢鏂瑰紡</span>
+ <div class="bg_list_item_num_item_list">
+ <div :class="item.active ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'"
+ v-for="(item, index) in arrType" :key="index" @click="clickPerformanceType(index)">{{ item.name }}</div>
+ <!-- <div class="bg_list_item_num_item_list_item active" v-if="infoBox.type == 0">璁′欢</div>
<div class="bg_list_item_num_item_list_item active" v-if="infoBox.type == 1">璁℃椂</div> -->
- </div>
- </div>
- </div>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>宸ヨ祫鍗曚环</span>
- <div class="bg_list_item_num_item_sr">
- <span class="color1">{{(arrType[from.index].salary / 10 / 10).toFixed(2)}}鍏�/{{arrType[from.index].type == 0 ? '浠�' : '鏃�'}}</span>
- <!-- <span class="color1">{{infoBox.salary / 100}}鍏�/{{infoBox.type == 0 ? '浠�' : '鏃�'}}</span> -->
- </div>
- </div>
- </div>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>棰勮宸ヨ祫</span>
- <div class="bg_list_item_num_item_sr">
- <span class="color1">{{expectedSalary}}鍏�</span>
- </div>
- </div>
- </div>
- <div class="bg_list_item_num">
- <div class="bg_list_item_num_item">
- <span>杈炬爣鐜�</span>
- <div class="bg_list_item_num_item_sr">
- <span class="color1">{{complianceRate}}%</span>
- </div>
- </div>
- </div>
- </div>
- </div>
- <!-- <div class="bg_list_item">
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>宸ヨ祫鍗曚环</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ (arrType[from.index].salary / 10 / 10).toFixed(2) }}鍏�/{{ arrType[from.index].type ==
+ 0 ? '浠�' : '鏃�' }}</span>
+ <!-- <span class="color1">{{infoBox.salary / 100}}鍏�/{{infoBox.type == 0 ? '浠�' : '鏃�'}}</span> -->
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>棰勮宸ヨ祫</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ expectedSalary }}鍏�</span>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>杈炬爣鐜�</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ complianceRate }}%</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- <div class="bg_list_item">
<div class="bg_list_item_top">
<div class="bg_list_item_top_left">
<div class="bg_list_item_top_left_x"></div>
@@ -276,9 +285,9 @@
</div>
</template>
</div> -->
- </div>
- <div class="details_dj" v-if="typeView === 1">
- <!-- <div class="details_dj_title">
+ </div>
+ <div class="details_dj" v-if="typeView === 1">
+ <!-- <div class="details_dj_title">
<div class="details_dj_title_left">
<div class="details_x"></div>
<span>鐢熶骇鐐规</span>
@@ -288,1712 +297,1805 @@
<span>鎵嬪姩褰曞叆</span>
</div>
</div> -->
- <div class="details_dj_list">
- <van-list
- v-model:loading="loading"
- :finished="finished"
- finished-text="娌℃湁鏇村浜唦"
- @load="pageDJs">
- <van-swipe-cell v-for="(item, index) in djData" :key="index">
- <div class="details_dj_list_item">
- <span>{{item.attrName}}锛歿{item.val}}</span>
- <span>{{item.userName}} {{item.createTime}}</span>
- </div>
- <template #right>
- <van-button square type="danger" style="height: 100%;" @click="dele(item.id)" text="鍒犻櫎" />
- </template>
- </van-swipe-cell>
- </van-list>
+ <div class="details_dj_list">
+ <van-list v-model:loading="loading" :finished="finished" finished-text="娌℃湁鏇村浜唦" @load="pageDJs">
+ <van-swipe-cell v-for="(item, index) in djData" :key="index">
+ <div class="details_dj_list_item">
+ <span>{{ item.attrName }}锛歿{ item.val }}</span>
+ <span>{{ item.userName }} {{ item.createTime }}</span>
</div>
- </div>
- <!-- 鎶ュ伐鎸夐挳 v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
- <template>
- <div class="bh_zw"></div>
- <div class="bg_footer">
- <div class="bg_footer_submit" v-if="typeView == 0 && (info.status === 2 || info.procedureNeedcheck === 1)" @click="submit">纭鎶ュ伐</div>
- <!-- proxy.$auth('h5:workorder:processRecord') && -->
- <div class="bg_footer_submit1" @click="jumpdj" v-if="typeView == 1">
- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" />
- <span>鏂板鐐规</span>
- </div>
- </div>
- </template>
- <!-- 鎵爜缁勪欢 -->
- <v-ScanCode
- :openCode="openCode"
- :infos="['璇锋壂鎻忓伐瑁呯爜']"
- @closePopup="closePopup"
- @onDecode="onDecode" />
- <!-- 鎶ュ伐缁熻鏁版嵁 -->
- <van-popup v-model:show="statistics" round :closeable="true" position="bottom">
- <div class="tg">
- <div class="tg_header">璇风‘璁ゆ姤宸ヤ俊鎭�</div>
- <div class="tg_table">
- <div class="tg_table_header">
- <div class="tg_table_header_item">绫诲瀷</div>
- <div class="tg_table_header_item">鐗╂枡鍚嶇О</div>
- <!-- <div class="tg_table_header_item">宸ヨ鏁伴噺</div> -->
- <div class="tg_table_header_item">鐗╂枡鏁伴噺</div>
- </div>
- <div class="nr" v-if="statisticsData.length > 0">
- <div class="tg_table_nr" v-for="(item, index) in statisticsData" :key="index">
- <div class="tg_table_nr_item">{{item.name}}</div>
- <div class="tg_table_nr_item">{{item.materialName}}</div>
- <!-- <div class="tg_table_nr_item">{{item.gznum}}</div> -->
- <div class="tg_table_nr_item" :style="item.name === '宸ュ崟鏈姇鏂�' ? 'color: #DE5243' : ''">{{item.num}}</div>
- </div>
- </div>
- <div class="nr" v-else>
- <div class="tg_table_nr">
- <div class="tg_table_nr_item1">鏆傛棤鏁版嵁</div>
- </div>
- </div>
- </div>
- <div class="tg_footer">
- <button class="tg_footer_qr" @click="submitBG" v-if="proxy.$auth('h5:workorderoutput:confirm') && isSubmit">纭鎶ュ伐</button>
- <div class="tg_footer_fh" @click="gofh" v-else-if="!isSubmit">杩斿洖淇敼</div>
- </div>
- </div>
- </van-popup>
- <!-- 鏃堕棿 -->
- <van-popup v-model:show="TimeShow" round position="bottom" :style="{ height: '50%' }">
- <van-datetime-picker
- v-model="from.time"
- type="time"
- title="閫夋嫨鏃堕棿"
- @confirm="onConfirm2"
- @cancel="onCancel2"
- />
- </van-popup>
- <!-- 閫夋嫨涓嶈壇椤� -->
- <van-popup v-model:show="show" round position="bottom">
- <div class="bl">
- <div class="bl_head">
- <img src="@/assets/icon/ic_close@2x.png" style="opacity: 0;" alt="" />
- <span>涓嶈壇椤�</span>
- <!-- <span>纭</span> -->
- <img src="@/assets/icon/ic_close@2x.png" @click="show = false" alt="" />
- </div>
- <div class="bl_list">
- <div class="bl_list_item" v-for="(item, i) in cateList" :key="i" @click="changeChecked(i)">
- <div class="bl_list_item_left">
- <input type="checkbox" :checked="item.active" />
- <span>{{ item.name }}</span>
- </div>
- <div class="bl_list_item_right">
- <input type="number" @click.stop v-model="item.num" placeholder="0" />
- </div>
- </div>
- </div>
- <div class="bl_footer" @click="onConfirm3">纭</div>
- </div>
- </van-popup>
+ <template #right>
+ <van-button square type="danger" style="height: 100%;" @click="dele(item.id)" text="鍒犻櫎" />
+ </template>
+ </van-swipe-cell>
+ </van-list>
+ </div>
</div>
+ <!-- 鎶ュ伐鎸夐挳 -->
+ <template v-if="info.status === 2 || info.procedureNeedcheck === 1">
+ <div class="bh_zw"></div>
+ <div class="bg_footer">
+ <div class="bg_footer_submit" v-if="typeView == 0" @click="submit">纭鎶ュ伐</div>
+ <!-- proxy.$auth('h5:workorder:processRecord') && -->
+ <div class="bg_footer_submit1" @click="jumpdj" v-if="typeView == 1">
+ <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" />
+ <span>鏂板鐐规</span>
+ </div>
+ </div>
+ </template>
+ <!-- 鎵爜缁勪欢 -->
+ <v-ScanCode :openCode="openCode" :infos="['璇锋壂鎻忓伐瑁呯爜']" @closePopup="closePopup" @onDecode="onDecode" />
+ <!-- 鎶ュ伐缁熻鏁版嵁 -->
+ <van-popup v-model:show="statistics" round :closeable="true" position="bottom">
+ <div class="tg">
+ <div class="tg_header">璇风‘璁ゆ姤宸ヤ俊鎭�</div>
+ <div class="tg_table">
+ <div class="tg_table_header">
+ <div class="tg_table_header_item">绫诲瀷</div>
+ <div class="tg_table_header_item">鐗╂枡鍚嶇О</div>
+ <!-- <div class="tg_table_header_item">宸ヨ鏁伴噺</div> -->
+ <div class="tg_table_header_item">鐗╂枡鏁伴噺</div>
+ </div>
+ <div class="nr" v-if="statisticsData.length > 0">
+ <div class="tg_table_nr" v-for="(item, index) in statisticsData" :key="index">
+ <div class="tg_table_nr_item">{{ item.name }}</div>
+ <div class="tg_table_nr_item">{{ item.materialName }}</div>
+ <!-- <div class="tg_table_nr_item">{{item.gznum}}</div> -->
+ <div class="tg_table_nr_item" :style="item.name === '宸ュ崟鏈姇鏂�' ? 'color: #DE5243' : ''">{{ item.num }}</div>
+ </div>
+ </div>
+ <div class="nr" v-else>
+ <div class="tg_table_nr">
+ <div class="tg_table_nr_item1">鏆傛棤鏁版嵁</div>
+ </div>
+ </div>
+ </div>
+ <div class="tg_footer">
+ <button class="tg_footer_qr" @click="submitBG"
+ v-if="proxy.$auth('h5:workorderoutput:confirm') && isSubmit">纭鎶ュ伐</button>
+ <div class="tg_footer_fh" @click="gofh" v-else-if="!isSubmit">杩斿洖淇敼</div>
+ </div>
+ </div>
+ </van-popup>
+ <!-- 鏃堕棿 -->
+ <van-popup v-model:show="TimeShow" round position="bottom" :style="{ height: '50%' }">
+ <van-datetime-picker v-model="from.time" type="time" title="閫夋嫨鏃堕棿" @confirm="onConfirm2" @cancel="onCancel2" />
+ </van-popup>
+ <!-- 閫夋嫨涓嶈壇椤� -->
+ <van-popup v-model:show="show" round position="bottom">
+ <div class="bl">
+ <div class="bl_head">
+ <img src="@/assets/icon/ic_close@2x.png" style="opacity: 0;" alt="" />
+ <span>涓嶈壇椤�</span>
+ <!-- <span>纭</span> -->
+ <img src="@/assets/icon/ic_close@2x.png" @click="show = false" alt="" />
+ </div>
+ <div class="bl_list">
+ <div class="bl_list_item" v-for="(item, i) in cateList" :key="i" @click="changeChecked(i)">
+ <div class="bl_list_item_left">
+ <input type="checkbox" :checked="item.active" />
+ <span>{{ item.name }}</span>
+ </div>
+ <div class="bl_list_item_right">
+ <input type="number" @click.stop v-model="item.num" placeholder="0" />
+ </div>
+ </div>
+ </div>
+ <div class="bl_footer" @click="onConfirm3">纭</div>
+ </div>
+ </van-popup>
+ </div>
</template>
<script setup lang="ts">
- import { getCurrentInstance, nextTick, onMounted, ref, reactive, computed, onActivated } from 'vue'
- import { useRouter, useRoute } from "vue-router"
- import { Dialog, Toast } from 'vant'
- import { REGULAR } from '@/utils/utils'
- import { categoryExtList, queryOne, queryList } from '@/apis/PlanningAPI'
- import {
- getBarcodeContent,
- queryById,
- getOrocessRecord,
- deleteCT,
- updateById,
- comfirmDone,
- comfirmDoneStandard,
- getListByCondition,
- allForStandard,
- pageDJ,
- deletedj,
- dealWorkorderRecordStandard,
- getWorkorderRecordListStandard
- } from '@/apis/WorkOrderAPI'
- import { QRCodeType } from '@/enum'
- const { proxy }: any = getCurrentInstance()
- const { $Bus } = getCurrentInstance().appContext.config.globalProperties
- import VWorkOrderInfo from '@/components/common/WorkOrderInfo.vue'
+import { getCurrentInstance, nextTick, onMounted, ref, reactive, computed, onActivated } from 'vue'
+import { useRouter, useRoute } from "vue-router"
+import { Dialog, Toast } from 'vant'
+import { REGULAR } from '@/utils/utils'
+import { categoryExtList, queryOne, queryList } from '@/apis/PlanningAPI'
+import {
+ getBarcodeContent,
+ queryById,
+ getOrocessRecord,
+ deleteCT,
+ updateById,
+ comfirmDone,
+ comfirmDoneStandard,
+ getListByCondition,
+ allForStandard,
+ pageDJ,
+ deletedj,
+ dealWorkorderRecordStandard,
+ getWorkorderRecordListStandard
+} from '@/apis/WorkOrderAPI'
+import { QRCodeType } from '@/enum'
+const { proxy }: any = getCurrentInstance()
+const { $Bus } = getCurrentInstance().appContext.config.globalProperties
+import VWorkOrderInfo from '@/components/common/WorkOrderInfo.vue'
- const router = useRouter()
- const route = useRoute()
+const router = useRouter()
+const route = useRoute()
- let TimeShow = ref(false)
+let TimeShow = ref(false)
- let from: any = reactive({
- time: '',
- defective: [],
- defectiveName: '',
- durationName: '0灏忔椂0鍒嗛挓',
- duration: 0,
- index: 0
- })
+let from: any = reactive({
+ time: '',
+ defective: [],
+ defectiveName: '',
+ durationName: '0灏忔椂0鍒嗛挓',
+ duration: 0,
+ index: 0
+})
- let cate = ref([{ name: '鐢熶骇' }, { name: '鐐规' }])
- let typeView = ref(0)
+let cate = ref([{ name: '鐢熶骇' }, { name: '鐐规' }])
+let typeView = ref(0)
- const clickIten = (i: number) => {
- typeView.value = i
- if (i === 1) {
- finished.value = false
- page.capacity = 1
- pageDJs()
- }
+const clickIten = (i: number) => {
+ typeView.value = i
+ if (i === 1) {
+ finished.value = false
+ page.capacity = 1
+ pageDJs()
+ }
+}
+
+// 棰勮宸ヨ祫
+const expectedSalary = computed(() => {
+ if (arrType.value.length === 0) return 0;
+ // 鎸変欢璁$畻
+ if (arrType.value[from.index].type == 0) {
+ if (!produceFrom.qualified) return 0
+ if (arrType.value[from.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let total = Number(produceFrom.qualified) + Number(produceFrom.undesirable)
+ return (total * (arrType.value[from.index].salary / 100)).toFixed(2) || 0
+ } else {
+ return (Number(produceFrom.qualified) * (arrType.value[from.index].salary / 100)).toFixed(2) || 0
}
+ } else {
+ if (!from.duration) return 0;
+ let h = (from.duration / 60 / 60).toFixed(2)
+ return (Number(h) * (arrType.value[from.index].salary / 10 / 10)).toFixed(2) || 0
+ }
+})
- // 棰勮宸ヨ祫
- const expectedSalary = computed(() => {
- if (arrType.value.length === 0) return 0;
- // 鎸変欢璁$畻
- if (arrType.value[from.index].type == 0) {
- if (!produceFrom.qualified) return 0
- if (arrType.value[from.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
- let total = Number(produceFrom.qualified) + Number(produceFrom.undesirable)
- return (total * (arrType.value[from.index].salary / 100)).toFixed(2) || 0
- } else {
- return (Number(produceFrom.qualified) * (arrType.value[from.index].salary / 100)).toFixed(2) || 0
- }
- } else {
- if (!from.duration) return 0;
- let h = (from.duration / 60 / 60).toFixed(2)
- return (Number(h) * (arrType.value[from.index].salary / 10 / 10)).toFixed(2) || 0
- }
+// 杈炬爣鐜�
+const complianceRate = computed(() => {
+ if (arrType.value.length === 0) return 0;
+ if (!produceFrom.qualified && !produceFrom.undesirable) return 0;
+ if (!from.duration) return 0;
+ if (!arrType.value[from.index].num) return 0;
+ // 鎸変欢璁$畻
+ // if (infoBox.value.type == 0) {
+ if (arrType.value[from.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let a = ((Number(produceFrom.qualified) + Number(produceFrom.undesirable)) / (from.duration / 3600)).toFixed(2)
+ let b = (arrType.value[from.index].num / (arrType.value[from.index].times / 3600)).toFixed(2)
+ console.log(a)
+ console.log(b)
+ return ((Number(a) / Number(b)) * 100).toFixed(2)
+ // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
+ // return total * infoBox.value.salary;
+ } else {
+ let a = (produceFrom.qualified / (from.duration / 3600)).toFixed(2)
+ let b = (arrType.value[from.index].num / (arrType.value[from.index].times / 3600)).toFixed(2)
+ console.log(a)
+ console.log(b)
+ return ((Number(a) / Number(b)) * 100).toFixed(2)
+ // return Number(from.qualified) * infoBox.value.salary;
+ }
+ // } else {
+ // console.log('鎸夋椂闀�')
+ // }
+})
+
+const loading = ref(false);
+const finished = ref(false);
+let show = ref(false)
+// 鐐规鏁版嵁
+let djData: any = ref([])
+// 鍒嗛〉鏌ヨ鏁版嵁
+let page = reactive({
+ capacity: 10,
+ page: 0
+})
+
+let infoBox: any = ref(null) // 宸ヨ祫缁╂晥
+
+// 浜у嚭鍚堟牸/涓嶈壇
+let produceFrom: any = reactive({
+ qualifiedId: '',
+ qualified: '', // 鍚堟牸
+ undesirableId: '',
+ undesirable: '' // 涓嶈壇
+})
+
+let cateList: any = ref([]) // 涓嶈壇椤�
+
+// 璇︽儏鏁版嵁
+const info: any = ref({})
+
+// 鍒ゆ柇鏄惁鑳芥彁浜�
+let isSubmit: any = ref<boolean>(false)
+
+// 涓嶈壇鏄庣粏
+let undesirable: any = ref([])
+
+// 鎶ュ簾鏄庣粏
+let scrap: any = ref([])
+
+// 鎵爜绫诲瀷
+let type: any = ref('')
+
+let arrType: any = ref([])
+
+// 缁熻鏁版嵁
+let statisticsData: any = ref([
+ // {
+ // name: '宸ュ崟鎶曟枡',
+ // materialName: '榛勬矙',
+ // num: 0
+ // },
+ // {
+ // name: '宸ュ崟鍚堟牸浜у嚭',
+ // materialName: '榛勬矙',
+ // num: 0
+ // },
+ // {
+ // name: '宸ュ崟涓嶈壇浜у嚭',
+ // materialName: '榛勬矙',
+ // num: 0
+ // },
+ // {
+ // name: '宸ュ崟鏈姇鏂�',
+ // materialName: '榛勬矙',
+ // num: 0
+ // }
+])
+
+// 鎶曟枡鏁版嵁
+const feedingData: any = ref([])
+
+// 浜у嚭鏁版嵁
+const produceData: any = ref([])
+
+// 鎺у埗鎵爜鏄剧ず闅愯棌
+const openCode = ref<boolean>(false)
+
+// 鎺у埗鎶ュ伐缁熻
+const statistics = ref<boolean>(false)
+
+const changeChecked = (i: number) => {
+ cateList.value[i].active = !cateList.value[i].active
+}
+
+const getData = () => {
+ categoryExtList({
+ cateType: "3"
+ }).then(res => {
+ if (res.code === 200) {
+ res.data.forEach((item: any) => {
+ item.active = false
+ item.num = ''
+ })
+ cateList.value = res.data
+ }
+ })
+}
+
+const onConfirm2 = (e: string) => {
+ let h = Number(e.substring(0, 2))
+ let m = Number(e.substring(3, 5))
+ let s = 0
+ if (h > 0) {
+ s += h * 60 * 60
+ }
+ if (m > 0) {
+ s += m * 60
+ }
+ from.duration = s
+ from.durationName = `${h}灏忔椂${m}鍒嗛挓`
+ TimeShow.value = false
+}
+
+const onCancel2 = () => {
+ TimeShow.value = false
+}
+
+const onConfirm3 = () => {
+ let isOpen = false
+ cateList.value.forEach((item: any, index: number) => {
+ if (item.active) {
+ isOpen = true
+ }
+ })
+ if (!isOpen) return Toast('璇烽�夋嫨涓嶈壇椤�')
+ let arr: any = []
+ let total: any = 0
+ let name: any = ''
+ cateList.value.forEach((item: any, index: number) => {
+ if (item.active) {
+ if (item.num <= 0) {
+ return Toast('涓嶈壇鏁伴噺蹇呴』澶т簬0')
+ }
+ total = total += item.num
+ arr.push(item)
+ name += item.name + item.num + '锛�'
+ }
+ })
+ if (total !== produceFrom.undesirable) return Toast('涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟')
+ from.defective = arr
+ from.defectiveName = name
+ show.value = false
+}
+
+// 鎶曟枡缁熻
+const tlTotal = (): string => {
+ if (feedingData.value.length > 0) {
+ let total: number = 0
+ feedingData.value.forEach((element: any) => {
+ total = total + element.num
})
+ return `${total}`
+ }
+ return ''
+}
- // 杈炬爣鐜�
- const complianceRate = computed(() => {
- if (arrType.value.length === 0) return 0;
- if (!produceFrom.qualified && !produceFrom.undesirable) return 0;
- if (!from.duration) return 0;
- if (!arrType.value[from.index].num) return 0;
- // 鎸変欢璁$畻
- // if (infoBox.value.type == 0) {
- if (arrType.value[from.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
- let a = ((Number(produceFrom.qualified) + Number(produceFrom.undesirable)) / (from.duration / 3600)).toFixed(2)
- let b = (arrType.value[from.index].num / (arrType.value[from.index].times / 3600)).toFixed(2)
- console.log(a)
- console.log(b)
- return ((Number(a) / Number(b)) * 100).toFixed(2)
- // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
- // return total * infoBox.value.salary;
- } else {
- let a = (produceFrom.qualified / (from.duration / 3600)).toFixed(2)
- let b = (arrType.value[from.index].num / (arrType.value[from.index].times / 3600)).toFixed(2)
- console.log(a)
- console.log(b)
- return ((Number(a) / Number(b)) * 100).toFixed(2)
- // return Number(from.qualified) * infoBox.value.salary;
- }
- // } else {
- // console.log('鎸夋椂闀�')
+// 淇敼浜у嚭
+const changeCC = (downType: string, num: number, recordId: string) => {
+ if (!num) return
+ if ((produceFrom.qualified + produceFrom.undesirable) > info.value.planNum) {
+ return Toast.fail({ message: '浜у嚭鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺', duration: 2000 })
+ }
+ if (num >= 0) {
+ from.defective = []
+ from.defectiveName = ''
+ // dealWorkorderRecordStandard({
+ // downType, num, recordId, workorderId: route.query.id
+ // }).then(res => {
+ // if (res.code === 200) {
+ // getOrocessRecordCC()
+ // }
+ // })
+ } else {
+ if (downType == 0) {
+ produceFrom.qualified = 0
+ } else {
+ produceFrom.undesirable = 0
+ }
+ Toast.fail({ message: '浜у嚭鏁伴噺涓嶈兘灏忎簬0', duration: 2000 })
+ }
+}
+
+// 璺宠浆鐐规
+const jumpdj = () => {
+ router.push({ name: 'spotCheck', query: { id: route.query.id } })
+}
+
+// 鍒犻櫎鐐规
+const dele = (id: string | number): void => {
+ deletedj(id)
+ .then(res => {
+ if (res.code === 200) {
+ djData.value = []
+ finished.value = false
+ page.page = 1
+ djData.value = []
+ pageDJs()
+ }
+ })
+}
+
+// 鐐规鏁版嵁
+const pageDJs = () => {
+ if (!finished.value) {
+ page.page = page.page + 1
+ loading.value = true
+ pageDJ({
+ capacity: page.capacity,
+ page: page.page,
+ model: {
+ workorderId: route.query.id
+ }
+ }).then(res => {
+ if (res.code === 200 && res.data && res.data.records.length !== 0) {
+ djData.value.push(...res.data.records)
+ } else {
+ finished.value = true
+ }
+ loading.value = false
+ }).catch(err => {
+ loading.value = false
+ finished.value = true
+ })
+ }
+}
+
+// 缁熻
+const ccTotal = (): string => {
+ if (produceData.value.length > 0) {
+ let total: number = 0
+ produceData.value.forEach((element: any) => {
+ total = total + element.num
+ })
+ return `${total}${produceData.value[0].company}`
+ }
+ return ''
+}
+
+// 缁熻
+const blTotal = (): string => {
+ if (undesirable.value.length > 0) {
+ let total: number = 0
+ undesirable.value.forEach((element: any) => {
+ total = total + element.num
+ })
+ return `${total}${undesirable.value[0].company}`
+ }
+ return ''
+}
+
+// 缁熻
+const bfTotal = (): string => {
+ if (scrap.value.length > 0) {
+ let total: number = 0
+ scrap.value.forEach((element: any) => {
+ total = total + element.num
+ })
+ return `${total}${scrap.value[0].company}`
+ }
+ return ''
+}
+
+// 鍒囨崲缁╂晥绫诲瀷
+const clickPerformanceType = (i: number) => {
+ from.index = i
+ arrType.value.forEach((item: any, index: number) => {
+ if (i === index) {
+ from.type = item.id
+ }
+ item.active = index === i
+ })
+}
+
+// 鍒犻櫎浜у嚭/鎶曟枡
+const deleItem = (id: any, type: string) => {
+ Dialog.confirm({
+ title: '鎻愮ず',
+ message: '纭畾鍒犻櫎姝ゆ潯璁板綍鍚楋紵',
+ }).then(() => {
+ deleteCT(id)
+ .then(res => {
+ if (res.code === 200 && type === 'C') {
+ getOrocessRecordCC()
+ } else if (res.code === 200 && type === 'T') {
+ getOrocessRecords()
+ }
+ })
+ }).catch(() => {
+ // on cancel
+ })
+}
+
+// 璺宠浆鎵嬪姩浜у嚭
+const jumpCC = () => {
+ router.push({ name: 'manualOutput', query: { id: route.query.id, num: produceData.value.length > 0 ? produceData.value[0].num : '' } })
+}
+
+// 璺宠浆鎵嬪姩鎶曟枡
+const jumpTL = () => {
+ router.push({ name: 'manualFeeding', query: { id: route.query.id } })
+}
+
+// 鍏抽棴鎵爜缁勪欢
+const closePopup = (): void => {
+ openCode.value = false
+}
+
+// 鑾峰彇鎵爜鍊�
+const onDecode = (data: string[]): void => {
+ getBarcodeContent({
+ barcode: data[0]
+ }).then(res => {
+ if (res.code === 200) {
+ if (res.data.barcodeType === QRCodeType.GZ) {
+ if (type.value === 'tl') { // 鎶曟枡鎿嶄綔
+ getListByCondition({ id: res.data.id })
+ .then(gz => {
+ if (gz.code === 200) {
+ if (gz.data[0].status !== 1) {
+ router.push({ name: 'codeScanningFeeding', query: { id: route.query.id, gzId: res.data.id } })
+ } else {
+ Toast.fail({ message: '鎵弿鐨勫伐瑁呯姸鎬佷笉鑳戒负绌�', duration: 2000 })
+ }
+ }
+ })
+ }
+ if (type.value === 'cc') { // 浜у嚭鎿嶄綔
+ router.push({ name: 'codeScanningOutput', query: { id: route.query.id, gzId: res.data.id } })
+ }
+ } else {
+ Toast({ message: '璇锋壂鎻忔纭殑绡瓙鐮�', duration: 2000 })
+ }
+ }
+ })
+ nextTick(() => {
+ openCode.value = false
+ })
+}
+
+// 璺宠浆鎵嬪姩鎶曟枡
+const jump = () => {
+ router.push({ name: 'manualFeeding', query: { id: route.query.id } })
+}
+
+// 璺宠浆鎵爜鎶曟枡
+const jump1 = (types: string) => {
+ type.value = types
+ openCode.value = true
+}
+
+// 鏌ヨ宸ュ崟璇︽儏
+const queryByIds = () => {
+ queryById(route.query.id).then(res => {
+ if (res.code === 200) {
+ info.value = res.data
+ // 鑾峰彇宸ヨ祫缁╂晥鏁版嵁
+ queryList({
+ deleted: 0,
+ departId: res.data.factoryId,
+ materialId: res.data.materialId,
+ procedureId: res.data.procedureId
+ }).then((result: any) => {
+ if (result.code === 200) {
+ if (result.data && result.data.length > 0) {
+ result.data.forEach((item: any, index: number) => {
+ item.name = item.type == 0 ? '璁′欢' : '璁℃椂'
+ item.id = item.type
+ item.active = index == 0
+ })
+ arrType.value = result.data
+ } else {
+ arrType.value = []
+ }
+ // infoBox.value = result.data
+ }
+ // if (result.code === 200) {
+ // infoBox.value = result.data
// }
- })
-
- const loading = ref(false);
- const finished = ref(false);
- let show = ref(false)
- // 鐐规鏁版嵁
- let djData: any = ref([])
- // 鍒嗛〉鏌ヨ鏁版嵁
- let page = reactive({
- capacity: 10,
- page: 0
- })
-
- let infoBox: any = ref(null) // 宸ヨ祫缁╂晥
-
- // 浜у嚭鍚堟牸/涓嶈壇
- let produceFrom: any = reactive({
- qualifiedId: '',
- qualified: '', // 鍚堟牸
- undesirableId: '',
- undesirable: '' // 涓嶈壇
- })
-
- let cateList:any = ref([]) // 涓嶈壇椤�
-
- // 璇︽儏鏁版嵁
- const info: any = ref({})
-
- // 鍒ゆ柇鏄惁鑳芥彁浜�
- let isSubmit: any = ref<boolean>(false)
-
- // 涓嶈壇鏄庣粏
- let undesirable: any = ref([])
-
- // 鎶ュ簾鏄庣粏
- let scrap: any = ref([])
-
- // 鎵爜绫诲瀷
- let type: any = ref('')
-
- let arrType: any = ref([])
-
- // 缁熻鏁版嵁
- let statisticsData: any = ref([
- // {
- // name: '宸ュ崟鎶曟枡',
- // materialName: '榛勬矙',
- // num: 0
- // },
- // {
- // name: '宸ュ崟鍚堟牸浜у嚭',
- // materialName: '榛勬矙',
- // num: 0
- // },
- // {
- // name: '宸ュ崟涓嶈壇浜у嚭',
- // materialName: '榛勬矙',
- // num: 0
- // },
- // {
- // name: '宸ュ崟鏈姇鏂�',
- // materialName: '榛勬矙',
- // num: 0
- // }
- ])
-
- // 鎶曟枡鏁版嵁
- const feedingData: any = ref([])
-
- // 浜у嚭鏁版嵁
- const produceData: any = ref([])
-
- // 鎺у埗鎵爜鏄剧ず闅愯棌
- const openCode = ref<boolean>(false)
-
- // 鎺у埗鎶ュ伐缁熻
- const statistics = ref<boolean>(false)
-
- const changeChecked = (i: number) => {
- cateList.value[i].active = !cateList.value[i].active
+ })
}
+ })
+}
- const getData = () => {
- categoryExtList({
- cateType: "3"
- }).then(res => {
- if (res.code === 200) {
- res.data.forEach((item: any) => {
- item.active = false
- item.num = ''
- })
- cateList.value = res.data
- }
+// 鏌ヨ宸ュ崟鐢熶骇璁板綍---鎶曟枡
+const getOrocessRecords = () => {
+ feedingData.value = []
+ allForStandard({
+ workorderId: route.query.id,
+ type: 0
+ }).then(res => {
+ if (res.code === 200) {
+ feedingData.value = res.data
+ // res.data.forEach((item: any) => {
+ // feedingData.value.push({ id: item.id, company: item.umodel.name, gz: item.amodel.code, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
+ // })
+ }
+ })
+}
+
+// 鏌ヨ宸ュ崟鐢熶骇璁板綍---浜у嚭
+const getOrocessRecordCC = () => {
+ produceData.value = []
+ undesirable.value = []
+ scrap.value = []
+ getWorkorderRecordListStandard({
+ workorderId: route.query.id
+ }).then(res => {
+ if (res.code === 200) {
+ if (res.data.length > 0) {
+ res.data.forEach((item: any) => {
+ if (item.doneType === 1) {
+ produceFrom.undesirable = item.num
+ produceFrom.undesirableId = item.id
+ } else {
+ produceFrom.qualified = item.num
+ produceFrom.qualifiedId = item.id
+ }
})
- }
+ }
+ // res.data.forEach((item: any) => {
+ // if (item.doneType === 0 || !item.doneType) { // 鍚堟牸 | 娣峰悎
- const onConfirm2 = (e: string) => {
- let h = Number(e.substring(0, 2))
- let m = Number(e.substring(3, 5))
- let s = 0
- if (h > 0) {
- s += h * 60 * 60
- }
- if (m > 0) {
- s += m * 60
- }
- from.duration = s
- from.durationName = `${h}灏忔椂${m}鍒嗛挓`
- TimeShow.value = false
+ // produceData.value.push({ id: item.id, company: item.umodel.name, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
+ // } else if (item.doneType === 1) { // 涓嶈壇
+ // undesirable.value.push({ id: item.id, company: item.umodel.name, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
+ // } else if (item.doneType === 2) { // 鎶ュ簾
+ // scrap.value.push({ id: item.id, company: item.umodel.name, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
+ // }
+ // })
}
+ })
+}
- const onCancel2 = () => {
- TimeShow.value = false
+// 缂栬緫鎶曟枡/浜у嚭
+const change = (id: any, num: any, type: any, maxNum: number, item: object, unitAttribute: number): void => {
+ let obj: any = item
+ if (type === 'T') {
+ if (unitAttribute == 0 && num != '') {
+ if (!REGULAR.positiveInteger.test(num)) {
+ obj.num = obj.ynum
+ Toast({ message: '鍙兘杈撳叆姝f暣鏁�' })
+ return
+ }
}
+ if (unitAttribute == 1 && num != '') {
+ if (!REGULAR.number.test(num)) {
+ Toast({ message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級' })
+ obj.num = obj.ynum
+ return
+ }
+ }
+ if (num > maxNum) {
+ obj.num = obj.ynum
+ Toast.fail({ message: '瓒呭嚭宸ヨ鎬绘暟' })
+ return
+ }
+ } else if (type === 'C' && num > info.value.planNum) {
+ obj.num = obj.ynum
+ Toast.fail({ message: '浜у嚭鏁伴噺涓嶈兘瓒呰繃璁″垝鏁伴噺' })
+ return
+ }
+ updateById({ id: id, num: num }).then(res => {
+ if (res.code === 200 && type === 'T') {
+ getOrocessRecords()
+ } else if (res.code === 200 && type === 'C') {
+ // getOrocessRecordCC()
+ }
+ })
+}
- const onConfirm3 = () => {
- let isOpen = false
- cateList.value.forEach((item: any, index: number) => {
- if (item.active) {
- isOpen = true
- }
+// 纭鎶ュ伐
+const submit = () => {
+ if (info.value.bomType === 1) { // 鎷夊紡
+ console.log('鎷夊紡')
+ statisticsData.value = []
+ if (produceFrom.qualified <= 0 && produceFrom.undesirable <= 0) {
+ Toast.fail({ message: '浜у嚭鏄庣粏涓嶈兘涓虹┖' })
+ return
+ }
+ if (info.value.hasBom === 0) {
+ console.log('鏃燽om')
+ // let data: any = [
+ // { name: '宸ュ崟鎶曟枡', gznum: feedingData.value.length, wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 },
+ // { name: '宸ュ崟鍚堟牸浜у嚭', gznum: produceData.value.length, wlmc: produceData.value.length > 0 ? produceData.value[0].name : '', wlnum: 0 },
+ // { name: '宸ュ崟涓嶈壇浜у嚭', gznum: 0, wlmc: '', wlnum: 0 },
+ // { name: '宸ュ崟鏈姇鏂�', gznum: '', wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 }
+ // ]
+ // if (undesirable.value.length > 0) { // 鍒ゆ柇鏈夋病鏈変笉鑹�
+ // data[2].wlmc = undesirable.value[0].name
+ // data[2].gznum = data[2].gznum + undesirable.value.length
+ // }
+ // if (scrap.value.length > 0) { // 鍒ゆ柇鏈夋病鏈変笉鑹�
+ // data[2].wlmc = scrap.value[0].name
+ // data[2].gznum = data[2].gznum + scrap.value.length
+ // }
+ // let tl: number = 0
+ // let cc: number = 0
+ // let bl: number = 0
+ // undesirable.value.forEach((item: any) => { // 涓嶈壇
+ // bl = bl + item.num
+ // })
+ // scrap.value.forEach((item: any) => { // 鎶ュ簾
+ // bl = bl + item.num
+ // })
+ // if (produceData.value.length > 0) { // 鍒ゆ柇鏈夋病鏈夊悎鏍间骇鍑�
+ // produceData.value.forEach((item: any) => { // 浜у嚭
+ // cc = cc + item.num
+ // })
+ // }
+ // feedingData.value.forEach((item: any) => { // 鎶曟枡
+ // tl = tl + item.num
+ // })
+ // data[0].wlnum = tl.toString() + info.value.umodel.name
+ // if (produceData.value.length > 0) {
+ // data[1].wlnum = cc.toString() + info.value.umodel.name
+ // }
+ // data[2].wlnum = bl.toString() + info.value.umodel.name
+ // let total: number = info.value.planNum - (Number(cc) + Number(bl))
+ // data[data.length - 1].wlnum = (info.value.planNum - Number(cc) - Number(bl)).toString() + info.value.umodel.name
+ // if (total === 0) {
+ // isSubmit.value = true
+ // } else {
+ // isSubmit.value = false
+ // }
+
+ let arr: any = []
+ let tl = 0
+ let res = getGroupNum(feedingData.value)
+ for (let i in res) {
+ let num = 0
+ res[i].forEach((item: any) => {
+ num += item.num
})
- if (!isOpen) return Toast('璇烽�夋嫨涓嶈壇椤�')
- let arr: any = []
- let total: any = 0
- let name: any = ''
- cateList.value.forEach((item: any, index: number) => {
- if (item.active) {
- if (item.num <= 0) {
- return Toast('涓嶈壇鏁伴噺蹇呴』澶т簬0')
- }
- total = total += item.num
- arr.push(item)
- name += item.name + item.num + '锛�'
- }
+ arr.push({ name: '宸ュ崟鎶曟枡', materialName: i + res[i][0].procedureName, num: num })
+ }
+ feedingData.value.forEach((item: any) => {
+ tl += item.num
+ })
+ statisticsData.value = [...statisticsData.value, ...arr]
+ statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
+ statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
+ statisticsData.value.push({ name: '宸ュ崟鏈姇鏂�', materialName: '', num: info.value.planNum - Number(produceFrom.qualified) - Number(produceFrom.undesirable) })
+ let total: number = info.value.planNum - (Number(produceFrom.qualified) + Number(produceFrom.undesirable))
+ if (total === 0) {
+ isSubmit.value = true
+ } else {
+ isSubmit.value = false
+ }
+ // if (Number(tl) <= info.value.planNum) {
+ // let total: number = Number(tl) - Number(cc) - Number(bl) // 鏄惁鏈変綑
+ // data[data.length - 1].wlnum = (Number(tl) - Number(cc) - Number(bl)).toString() + info.value.umodel.name
+ // if (total === 0) {
+ // isSubmit.value = true
+ // } else {
+ // isSubmit.value = false
+ // }
+ // } else {
+ // isSubmit.value = false
+ // }
+ // statisticsData.value = data
+ } else if (info.value.hasBom === 1) { // 鏈塨om鎯呭喌
+ console.log('鏈塨om')
+ // let cc: number = 0
+ // let bl: number = 0
+ // let newData: any = {}
+ // if (feedingData.value.length > 0) { // 鎶曟枡
+ // feedingData.value.forEach((e: any) => {
+ // if (Object.keys(newData).indexOf('' + e.name) === -1) {
+ // newData[e.name] = []
+ // }
+ // newData[e.name].push(e)
+ // })
+ // for (let key in newData) {
+ // let obj = { name: '宸ュ崟鎶曟枡', gznum: newData[key].length, wlmc: key, wlnum: 0, num: 0 }
+ // newData[key].forEach((item: any) => {
+ // obj.wlnum = obj.wlnum + item.num
+ // obj.num = item.num
+ // })
+ // obj.wlnum = obj.wlnum.toString() + newData[key][0].company as never
+ // statisticsData.value.push(obj)
+ // }
+ // }
+ // if (produceData.value.length > 0) { // 浜у嚭
+ // produceData.value.forEach((item: any) => {
+ // cc = cc + item.num
+ // })
+ // statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', gznum: produceData.value.length, wlmc: info.value.mmodel.name, wlnum: cc + info.value.umodel.name, num: cc })
+ // }
+ // if (undesirable.value.length > 0 || scrap.value.length > 0) { // 涓嶈壇/鎶ュ簾
+ // undesirable.value.forEach((item: any) => {
+ // bl = bl + item.num
+ // })
+ // scrap.value.forEach((item: any) => {
+ // bl = bl + item.num
+ // })
+ // statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', gznum: undesirable.value.length + scrap.value.length, wlmc: info.value.mmodel.name, wlnum: bl + info.value.umodel.name, num: bl })
+ // }
+ // let totaltl: number = 0
+ // let totalcc: number = 0
+ // let totalbl: number = 0
+ // statisticsData.value.forEach((item: any) => {
+ // if (item.name === '宸ュ崟鎶曟枡') {
+ // totaltl = totaltl + item.num
+ // } else if (item.name === '宸ュ崟鍚堟牸浜у嚭') {
+ // totalcc = totalcc + item.num
+ // } else if (item.name === '宸ュ崟涓嶈壇浜у嚭') {
+ // totalbl = totalbl + item.num
+ // }
+ // })
+ // isSubmit.value = totalcc + totalbl <= info.value.planNum;
+ let arr: any = []
+ let tl = 0
+ let res = getGroupNum(feedingData.value)
+ for (let i in res) {
+ let num = 0
+ res[i].forEach((item: any) => {
+ num += item.num
})
- if (total !== produceFrom.undesirable) return Toast('涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟')
- from.defective = arr
- from.defectiveName = name
- show.value = false
+ arr.push({ name: '宸ュ崟鎶曟枡', materialName: i, num: num })
+ }
+ feedingData.value.forEach((item: any) => {
+ tl += item.num
+ })
+ statisticsData.value = [...statisticsData.value, ...arr]
+ statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
+ statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
+ isSubmit.value = produceFrom.qualified + produceFrom.undesirable <= info.value.planNum;
}
-
- // 鎶曟枡缁熻
- const tlTotal = (): string => {
- if (feedingData.value.length > 0) {
- let total: number = 0
- feedingData.value.forEach((element: any) => {
- total = total + element.num
- })
- return `${total}`
- }
- return ''
+ } else {
+ console.log('鎺ㄥ紡')
+ if (feedingData.value.length === 0) {
+ Toast.fail({ message: '鎶曟枡鏄庣粏涓嶈兘涓虹┖' })
+ return
}
-
- // 淇敼浜у嚭
- const changeCC = (downType: string, num: number, recordId: string) => {
- if (!num) return
- if ((produceFrom.qualified + produceFrom.undesirable) > info.value.planNum) {
- return Toast.fail({ message: '浜у嚭鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺', duration: 2000 })
- }
- if (num >= 0) {
- from.defective = []
- from.defectiveName = ''
- // dealWorkorderRecordStandard({
- // downType, num, recordId, workorderId: route.query.id
- // }).then(res => {
- // if (res.code === 200) {
- // getOrocessRecordCC()
- // }
- // })
+ if (produceFrom.qualified <= 0 && produceFrom.undesirable <= 0) {
+ Toast.fail({ message: '浜у嚭鏄庣粏涓嶈兘涓虹┖' })
+ return
+ }
+ statisticsData.value = []
+ if (info.value.hasBom === 0) {
+ console.log('鏃燽om')
+ // let data: any = [
+ // { name: '宸ュ崟鎶曟枡', gznum: feedingData.value.length, wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 },
+ // { name: '宸ュ崟鍚堟牸浜у嚭', gznum: produceData.value.length, wlmc: produceData.value.length > 0 ? produceData.value[0].name : '', wlnum: 0 },
+ // { name: '宸ュ崟涓嶈壇浜у嚭', gznum: 0, wlmc: '', wlnum: 0 },
+ // { name: '宸ュ崟鏈姇鏂�', gznum: '', wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 }
+ // ]
+ // if (undesirable.value.length > 0) { // 鍒ゆ柇鏈夋病鏈変笉鑹�
+ // data[2].wlmc = undesirable.value[0].name
+ // data[2].gznum = data[2].gznum + undesirable.value.length
+ // }
+ // if (scrap.value.length > 0) { // 鍒ゆ柇鏈夋病鏈変笉鑹�
+ // data[2].wlmc = scrap.value[0].name
+ // data[2].gznum = data[2].gznum + scrap.value.length
+ // }
+ // let tl = 0
+ // let cc = 0
+ // let bl = 0
+ // undesirable.value.forEach((item: any) => { // 涓嶈壇
+ // bl = bl + item.num
+ // })
+ // scrap.value.forEach((item: any) => { // 鎶ュ簾
+ // bl = bl + item.num
+ // })
+ // if (produceData.value.length > 0) { // 鍒ゆ柇鏈夋病鏈夊悎鏍间骇鍑�
+ // produceData.value.forEach((item: any) => { // 浜у嚭
+ // cc = cc + item.num
+ // })
+ // }
+ // feedingData.value.forEach((item: any) => { // 鎶曟枡
+ // tl = tl + item.num
+ // })
+ // data[0].wlnum = tl.toString() + info.value.umodel.name
+ // if (produceData.value.length > 0) {
+ // data[1].wlnum = cc.toString() + info.value.umodel.name
+ // }
+ // data[2].wlnum = bl.toString() + info.value.umodel.name
+ // if (Number(tl) <= info.value.planNum) {
+ // let total: number = Number(tl) - Number(cc) - Number(bl) // 鏄惁鏈変綑
+ // data[data.length - 1].wlnum = (Number(tl) - Number(cc) - Number(bl)).toString() + info.value.umodel.name
+ // if (total === 0) {
+ // isSubmit.value = true
+ // } else {
+ // isSubmit.value = false
+ // }
+ // } else {
+ // isSubmit.value = false
+ // }
+ // statisticsData.value = data
+ let arr: any = []
+ let tl = 0
+ let res = getGroupNum(feedingData.value)
+ for (let i in res) {
+ let num = 0
+ res[i].forEach((item: any) => {
+ num += item.num
+ })
+ arr.push({ name: '宸ュ崟鎶曟枡', materialName: i + '-' + res[i][0].procedureName, num: num })
+ }
+ feedingData.value.forEach((item: any) => {
+ tl += item.num
+ })
+ statisticsData.value = [...statisticsData.value, ...arr]
+ statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
+ statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
+ if (Number(tl) <= info.value.planNum) {
+ let total: number = Number(tl) - Number(produceFrom.qualified) - Number(produceFrom.undesirable) // 鏄惁鏈変綑
+ statisticsData.value.push({ name: '宸ュ崟鏈姇鏂�', materialName: '', num: (Number(tl) - Number(produceFrom.qualified) - Number(produceFrom.undesirable)).toFixed(2) })
+ if (total === 0) {
+ isSubmit.value = true
} else {
- if (downType == 0) {
- produceFrom.qualified = 0
- } else {
- produceFrom.undesirable = 0
- }
- Toast.fail({ message: '浜у嚭鏁伴噺涓嶈兘灏忎簬0', duration: 2000 })
+ isSubmit.value = false
}
- }
-
- // 璺宠浆鐐规
- const jumpdj = () => {
- router.push({ name: 'spotCheck', query: { id: route.query.id } })
- }
-
- // 鍒犻櫎鐐规
- const dele = (id: string | number): void => {
- deletedj(id)
- .then(res => {
- if (res.code === 200) {
- djData.value = []
- finished.value = false
- page.page = 1
- djData.value = []
- pageDJs()
- }
- })
- }
-
- // 鐐规鏁版嵁
- const pageDJs = () => {
- if (!finished.value) {
- page.page = page.page + 1
- loading.value = true
- pageDJ({
- capacity: page.capacity,
- page: page.page,
- model: {
- workorderId: route.query.id
- }
- }).then(res => {
- if (res.code === 200 && res.data && res.data.records.length !== 0) {
- djData.value.push(...res.data.records)
- } else {
- finished.value = true
- }
- loading.value = false
- }).catch(err => {
- loading.value = false
- finished.value = true
- })
- }
- }
-
- // 缁熻
- const ccTotal = (): string => {
- if (produceData.value.length > 0) {
- let total: number = 0
- produceData.value.forEach((element: any) => {
- total = total + element.num
- })
- return `${total}${produceData.value[0].company}`
- }
- return ''
- }
-
- // 缁熻
- const blTotal = (): string => {
- if (undesirable.value.length > 0) {
- let total: number = 0
- undesirable.value.forEach((element: any) => {
- total = total + element.num
- })
- return `${total}${undesirable.value[0].company}`
- }
- return ''
- }
-
- // 缁熻
- const bfTotal = (): string => {
- if (scrap.value.length > 0) {
- let total: number = 0
- scrap.value.forEach((element: any) => {
- total = total + element.num
- })
- return `${total}${scrap.value[0].company}`
- }
- return ''
- }
-
- // 鍒囨崲缁╂晥绫诲瀷
- const clickPerformanceType = (i: number) => {
- from.index = i
- arrType.value.forEach((item: any, index: number) => {
- if (i === index) {
- from.type = item.id
- }
- item.active = index === i
+ } else {
+ isSubmit.value = false
+ }
+ } else if (info.value.hasBom === 1) { // 鏈塨om鎯呭喌
+ console.log('鏈塨om')
+ let arr: any = []
+ let tl = 0
+ let res = getGroupNum(feedingData.value)
+ for (let i in res) {
+ let num = 0
+ res[i].forEach((item: any) => {
+ num += item.num
})
+ arr.push({ name: '宸ュ崟鎶曟枡', materialName: i, num: num })
+ }
+ feedingData.value.forEach((item: any) => {
+ tl += item.num
+ })
+ statisticsData.value = [...statisticsData.value, ...arr]
+ statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
+ statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
+ // isSubmit.value = produceFrom.qualified + produceFrom.undesirable <= info.value.planNum;
+ isSubmit.value = true
}
+ }
+ statistics.value = true
+}
- // 鍒犻櫎浜у嚭/鎶曟枡
- const deleItem = (id: any, type: string) => {
- Dialog.confirm({
- title: '鎻愮ず',
- message: '纭畾鍒犻櫎姝ゆ潯璁板綍鍚楋紵',
- }).then(() => {
- deleteCT(id)
- .then(res => {
- if (res.code === 200 && type === 'C') {
- getOrocessRecordCC()
- } else if (res.code === 200 && type === 'T') {
- getOrocessRecords()
- }
- })
- }).catch(() => {
- // on cancel
- })
+// 鏍规嵁鏌愪釜瀛楁杩涜鍒嗙粍
+const getGroupNum = (arr: any) => {
+ let newArry: any = {};
+ for (let i = 0; i < arr.length; i++) {
+ if (newArry[arr[i].materialName]) {
+ newArry[arr[i].materialName].push(arr[i])
+ } else {
+ newArry[arr[i].materialName] = [arr[i]]
}
+ }
+ return newArry;
+}
- // 璺宠浆鎵嬪姩浜у嚭
- const jumpCC = () => {
- router.push({ name: 'manualOutput', query: { id: route.query.id, num: produceData.value.length > 0 ? produceData.value[0].num : '' } })
+// 杩斿洖淇敼
+const gofh = () => {
+ statistics.value = false
+}
+
+// 纭鎶ュ伐
+const submitBG = () => {
+ // if (!from.duration || from.duration <= 0) {
+ // return Toast('鎶ュ伐鏃堕暱涓嶈兘涓虹┖')
+ // }
+ let createUnqualifiedDTOList = from.defective.map((item: any) => {
+ return {
+ categoryId: item.id,
+ unQualifiedNum: item.num
}
-
- // 璺宠浆鎵嬪姩鎶曟枡
- const jumpTL = () => {
- router.push({ name: 'manualFeeding', query: { id: route.query.id } })
+ })
+ let createWorkorderRecordDTO = {
+ workorderId: route.query.id,
+ duration: from.duration ? from.duration : 0,
+ qualifiedNum: produceFrom.qualified ? produceFrom.qualified : 0,
+ unQualifiedNum: produceFrom.undesirable ? produceFrom.undesirable : 0
+ }
+ // id: route.query.id
+ comfirmDoneStandard({
+ createUnqualifiedDTOList,
+ createWorkorderRecordDTO
+ }).then(res => {
+ if (res.code === 200) {
+ Toast.success({ message: '鎶ュ伐鎴愬姛', forbidClick: true, duration: 2000 })
+ setTimeout(() => {
+ router.go(-2)
+ }, 2000)
}
+ })
+}
- // 鍏抽棴鎵爜缁勪欢
- const closePopup = (): void => {
- openCode.value = false
- }
+onActivated(() => {
+ // $Bus.on('callback1', (res: any)=>{
+ // console.log(res)
+ // if (res == 1) {
+ // djData.value = []
+ // finished.value = false
+ // page.page = 1
+ // djData.value = []
+ // pageDJs()
+ // }
+ // })
+ // queryByIds()
+ // getOrocessRecords()
+ // getData()
+})
- // 鑾峰彇鎵爜鍊�
- const onDecode = (data: string[]): void => {
- getBarcodeContent({
- barcode: data[0]
- }).then(res => {
- if (res.code === 200) {
- if (res.data.barcodeType === QRCodeType.GZ) {
- if (type.value === 'tl') { // 鎶曟枡鎿嶄綔
- getListByCondition({ id: res.data.id })
- .then(gz => {
- if (gz.code === 200) {
- if (gz.data[0].status !== 1) {
- router.push({ name: 'codeScanningFeeding', query: { id: route.query.id, gzId: res.data.id } })
- } else {
- Toast.fail({ message: '鎵弿鐨勫伐瑁呯姸鎬佷笉鑳戒负绌�', duration: 2000 })
- }
- }
- })
- }
- if (type.value === 'cc') { // 浜у嚭鎿嶄綔
- router.push({ name: 'codeScanningOutput', query: { id: route.query.id, gzId: res.data.id } })
- }
- } else {
- Toast({ message: '璇锋壂鎻忔纭殑绡瓙鐮�', duration: 2000 })
- }
- }
- })
- nextTick(() => {
- openCode.value = false
- })
- }
+onMounted(() => {
+ // $Bus.on('callback1', (res: any)=>{
+ // if (res == 1) {
+ // djData.value = []
+ // finished.value = false
+ // page.page = 1
+ // djData.value = []
+ // pageDJs()
+ // }
+ // })
+ // pageDJs()
- // 璺宠浆鎵嬪姩鎶曟枡
- const jump = () => {
- router.push({ name: 'manualFeeding', query: { id: route.query.id } })
- }
+ queryByIds()
+ getOrocessRecords()
+ getData()
- // 璺宠浆鎵爜鎶曟枡
- const jump1 = (types: string) => {
- type.value = types
- openCode.value = true
- }
-
- // 鏌ヨ宸ュ崟璇︽儏
- const queryByIds = () => {
- queryById(route.query.id).then(res => {
- if (res.code === 200) {
- info.value = res.data
- // 鑾峰彇宸ヨ祫缁╂晥鏁版嵁
- queryList({
- deleted: 0,
- departId: res.data.factoryId,
- materialId: res.data.materialId,
- procedureId: res.data.procedureId
- }).then((result: any) => {
- if (result.code === 200) {
- if (result.data && result.data.length > 0) {
- result.data.forEach((item: any, index: number) => {
- item.name = item.type == 0 ? '璁′欢' : '璁℃椂'
- item.id = item.type
- item.active = index == 0
- })
- arrType.value = result.data
- } else {
- arrType.value = []
- }
- // infoBox.value = result.data
- }
- // if (result.code === 200) {
- // infoBox.value = result.data
- // }
- })
- }
- })
- }
-
- // 鏌ヨ宸ュ崟鐢熶骇璁板綍---鎶曟枡
- const getOrocessRecords = () => {
- feedingData.value = []
- allForStandard({
- workorderId: route.query.id,
- type: 0
- }).then(res => {
- if (res.code === 200) {
- feedingData.value = res.data
- // res.data.forEach((item: any) => {
- // feedingData.value.push({ id: item.id, company: item.umodel.name, gz: item.amodel.code, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
- // })
- }
- })
- }
-
- // 鏌ヨ宸ュ崟鐢熶骇璁板綍---浜у嚭
- const getOrocessRecordCC = () => {
- produceData.value = []
- undesirable.value = []
- scrap.value = []
- getWorkorderRecordListStandard({
- workorderId: route.query.id
- }).then(res => {
- if (res.code === 200) {
- if (res.data.length > 0) {
- res.data.forEach((item: any) => {
- if (item.doneType === 1) {
- produceFrom.undesirable = item.num
- produceFrom.undesirableId = item.id
- } else {
- produceFrom.qualified = item.num
- produceFrom.qualifiedId = item.id
- }
- })
- }
- // res.data.forEach((item: any) => {
- // if (item.doneType === 0 || !item.doneType) { // 鍚堟牸 | 娣峰悎
-
- // produceData.value.push({ id: item.id, company: item.umodel.name, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
- // } else if (item.doneType === 1) { // 涓嶈壇
- // undesirable.value.push({ id: item.id, company: item.umodel.name, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
- // } else if (item.doneType === 2) { // 鎶ュ簾
- // scrap.value.push({ id: item.id, company: item.umodel.name, name: item.mmodel.name, code: item.amodel.code + ' - ' + item.mmodel.name, num: item.num, ynum: item.num, maxNum: item.amodel.num })
- // }
- // })
- }
- })
- }
-
- // 缂栬緫鎶曟枡/浜у嚭
- const change = (id: any, num: any, type: any, maxNum: number, item: object, unitAttribute: number): void => {
- let obj: any = item
- if (type === 'T') {
- if (unitAttribute == 0 && num != '') {
- if(!REGULAR.positiveInteger.test(num)){
- obj.num = obj.ynum
- Toast({ message: '鍙兘杈撳叆姝f暣鏁�' })
- return
- }
- }
- if (unitAttribute == 1 && num != '') {
- if(!REGULAR.number.test(num)){
- Toast({ message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級' })
- obj.num = obj.ynum
- return
- }
- }
- if (num > maxNum) {
- obj.num = obj.ynum
- Toast.fail({ message: '瓒呭嚭宸ヨ鎬绘暟' })
- return
- }
- } else if (type === 'C' && num > info.value.planNum) {
- obj.num = obj.ynum
- Toast.fail({ message: '浜у嚭鏁伴噺涓嶈兘瓒呰繃璁″垝鏁伴噺' })
- return
- }
- updateById({ id: id, num: num }).then(res => {
- if (res.code === 200 && type === 'T') {
- getOrocessRecords()
- } else if (res.code === 200 && type === 'C') {
- // getOrocessRecordCC()
- }
- })
- }
-
- // 纭鎶ュ伐
- const submit = () => {
- if (info.value.bomType === 1) { // 鎷夊紡
- console.log('鎷夊紡')
- statisticsData.value = []
- if (produceFrom.qualified <= 0 && produceFrom.undesirable <= 0) {
- Toast.fail({ message: '浜у嚭鏄庣粏涓嶈兘涓虹┖' })
- return
- }
- if (info.value.hasBom === 0) {
- console.log('鏃燽om')
- // let data: any = [
- // { name: '宸ュ崟鎶曟枡', gznum: feedingData.value.length, wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 },
- // { name: '宸ュ崟鍚堟牸浜у嚭', gznum: produceData.value.length, wlmc: produceData.value.length > 0 ? produceData.value[0].name : '', wlnum: 0 },
- // { name: '宸ュ崟涓嶈壇浜у嚭', gznum: 0, wlmc: '', wlnum: 0 },
- // { name: '宸ュ崟鏈姇鏂�', gznum: '', wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 }
- // ]
- // if (undesirable.value.length > 0) { // 鍒ゆ柇鏈夋病鏈変笉鑹�
- // data[2].wlmc = undesirable.value[0].name
- // data[2].gznum = data[2].gznum + undesirable.value.length
- // }
- // if (scrap.value.length > 0) { // 鍒ゆ柇鏈夋病鏈変笉鑹�
- // data[2].wlmc = scrap.value[0].name
- // data[2].gznum = data[2].gznum + scrap.value.length
- // }
- // let tl: number = 0
- // let cc: number = 0
- // let bl: number = 0
- // undesirable.value.forEach((item: any) => { // 涓嶈壇
- // bl = bl + item.num
- // })
- // scrap.value.forEach((item: any) => { // 鎶ュ簾
- // bl = bl + item.num
- // })
- // if (produceData.value.length > 0) { // 鍒ゆ柇鏈夋病鏈夊悎鏍间骇鍑�
- // produceData.value.forEach((item: any) => { // 浜у嚭
- // cc = cc + item.num
- // })
- // }
- // feedingData.value.forEach((item: any) => { // 鎶曟枡
- // tl = tl + item.num
- // })
- // data[0].wlnum = tl.toString() + info.value.umodel.name
- // if (produceData.value.length > 0) {
- // data[1].wlnum = cc.toString() + info.value.umodel.name
- // }
- // data[2].wlnum = bl.toString() + info.value.umodel.name
- // let total: number = info.value.planNum - (Number(cc) + Number(bl))
- // data[data.length - 1].wlnum = (info.value.planNum - Number(cc) - Number(bl)).toString() + info.value.umodel.name
- // if (total === 0) {
- // isSubmit.value = true
- // } else {
- // isSubmit.value = false
- // }
-
- let arr: any = []
- let tl = 0
- let res = getGroupNum(feedingData.value)
- for (let i in res) {
- let num = 0
- res[i].forEach((item: any) => {
- num += item.num
- })
- arr.push({ name: '宸ュ崟鎶曟枡', materialName: i + res[i][0].procedureName, num: num })
- }
- feedingData.value.forEach((item: any) => {
- tl += item.num
- })
- statisticsData.value = [...statisticsData.value, ...arr]
- statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
- statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
- statisticsData.value.push({ name: '宸ュ崟鏈姇鏂�', materialName: '', num: info.value.planNum - Number(produceFrom.qualified) - Number(produceFrom.undesirable) })
- let total: number = info.value.planNum - (Number(produceFrom.qualified) + Number(produceFrom.undesirable))
- if (total === 0) {
- isSubmit.value = true
- } else {
- isSubmit.value = false
- }
- // if (Number(tl) <= info.value.planNum) {
- // let total: number = Number(tl) - Number(cc) - Number(bl) // 鏄惁鏈変綑
- // data[data.length - 1].wlnum = (Number(tl) - Number(cc) - Number(bl)).toString() + info.value.umodel.name
- // if (total === 0) {
- // isSubmit.value = true
- // } else {
- // isSubmit.value = false
- // }
- // } else {
- // isSubmit.value = false
- // }
- // statisticsData.value = data
- } else if (info.value.hasBom === 1) { // 鏈塨om鎯呭喌
- console.log('鏈塨om')
- // let cc: number = 0
- // let bl: number = 0
- // let newData: any = {}
- // if (feedingData.value.length > 0) { // 鎶曟枡
- // feedingData.value.forEach((e: any) => {
- // if (Object.keys(newData).indexOf('' + e.name) === -1) {
- // newData[e.name] = []
- // }
- // newData[e.name].push(e)
- // })
- // for (let key in newData) {
- // let obj = { name: '宸ュ崟鎶曟枡', gznum: newData[key].length, wlmc: key, wlnum: 0, num: 0 }
- // newData[key].forEach((item: any) => {
- // obj.wlnum = obj.wlnum + item.num
- // obj.num = item.num
- // })
- // obj.wlnum = obj.wlnum.toString() + newData[key][0].company as never
- // statisticsData.value.push(obj)
- // }
- // }
- // if (produceData.value.length > 0) { // 浜у嚭
- // produceData.value.forEach((item: any) => {
- // cc = cc + item.num
- // })
- // statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', gznum: produceData.value.length, wlmc: info.value.mmodel.name, wlnum: cc + info.value.umodel.name, num: cc })
- // }
- // if (undesirable.value.length > 0 || scrap.value.length > 0) { // 涓嶈壇/鎶ュ簾
- // undesirable.value.forEach((item: any) => {
- // bl = bl + item.num
- // })
- // scrap.value.forEach((item: any) => {
- // bl = bl + item.num
- // })
- // statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', gznum: undesirable.value.length + scrap.value.length, wlmc: info.value.mmodel.name, wlnum: bl + info.value.umodel.name, num: bl })
- // }
- // let totaltl: number = 0
- // let totalcc: number = 0
- // let totalbl: number = 0
- // statisticsData.value.forEach((item: any) => {
- // if (item.name === '宸ュ崟鎶曟枡') {
- // totaltl = totaltl + item.num
- // } else if (item.name === '宸ュ崟鍚堟牸浜у嚭') {
- // totalcc = totalcc + item.num
- // } else if (item.name === '宸ュ崟涓嶈壇浜у嚭') {
- // totalbl = totalbl + item.num
- // }
- // })
- // isSubmit.value = totalcc + totalbl <= info.value.planNum;
- let arr: any = []
- let tl = 0
- let res = getGroupNum(feedingData.value)
- for (let i in res) {
- let num = 0
- res[i].forEach((item: any) => {
- num += item.num
- })
- arr.push({ name: '宸ュ崟鎶曟枡', materialName: i, num: num })
- }
- feedingData.value.forEach((item:any) => {
- tl += item.num
- })
- statisticsData.value = [...statisticsData.value, ...arr]
- statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
- statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
- isSubmit.value = produceFrom.qualified + produceFrom.undesirable <= info.value.planNum;
- }
- } else {
- console.log('鎺ㄥ紡')
- if (feedingData.value.length === 0) {
- Toast.fail({ message: '鎶曟枡鏄庣粏涓嶈兘涓虹┖' })
- return
- }
- if (produceFrom.qualified <= 0 && produceFrom.undesirable <= 0) {
- Toast.fail({ message: '浜у嚭鏄庣粏涓嶈兘涓虹┖' })
- return
- }
- statisticsData.value = []
- if (info.value.hasBom === 0) {
- console.log('鏃燽om')
- // let data: any = [
- // { name: '宸ュ崟鎶曟枡', gznum: feedingData.value.length, wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 },
- // { name: '宸ュ崟鍚堟牸浜у嚭', gznum: produceData.value.length, wlmc: produceData.value.length > 0 ? produceData.value[0].name : '', wlnum: 0 },
- // { name: '宸ュ崟涓嶈壇浜у嚭', gznum: 0, wlmc: '', wlnum: 0 },
- // { name: '宸ュ崟鏈姇鏂�', gznum: '', wlmc: feedingData.value.length > 0 ? feedingData.value[0].name : '', wlnum: 0 }
- // ]
- // if (undesirable.value.length > 0) { // 鍒ゆ柇鏈夋病鏈変笉鑹�
- // data[2].wlmc = undesirable.value[0].name
- // data[2].gznum = data[2].gznum + undesirable.value.length
- // }
- // if (scrap.value.length > 0) { // 鍒ゆ柇鏈夋病鏈変笉鑹�
- // data[2].wlmc = scrap.value[0].name
- // data[2].gznum = data[2].gznum + scrap.value.length
- // }
- // let tl = 0
- // let cc = 0
- // let bl = 0
- // undesirable.value.forEach((item: any) => { // 涓嶈壇
- // bl = bl + item.num
- // })
- // scrap.value.forEach((item: any) => { // 鎶ュ簾
- // bl = bl + item.num
- // })
- // if (produceData.value.length > 0) { // 鍒ゆ柇鏈夋病鏈夊悎鏍间骇鍑�
- // produceData.value.forEach((item: any) => { // 浜у嚭
- // cc = cc + item.num
- // })
- // }
- // feedingData.value.forEach((item: any) => { // 鎶曟枡
- // tl = tl + item.num
- // })
- // data[0].wlnum = tl.toString() + info.value.umodel.name
- // if (produceData.value.length > 0) {
- // data[1].wlnum = cc.toString() + info.value.umodel.name
- // }
- // data[2].wlnum = bl.toString() + info.value.umodel.name
- // if (Number(tl) <= info.value.planNum) {
- // let total: number = Number(tl) - Number(cc) - Number(bl) // 鏄惁鏈変綑
- // data[data.length - 1].wlnum = (Number(tl) - Number(cc) - Number(bl)).toString() + info.value.umodel.name
- // if (total === 0) {
- // isSubmit.value = true
- // } else {
- // isSubmit.value = false
- // }
- // } else {
- // isSubmit.value = false
- // }
- // statisticsData.value = data
- let arr: any = []
- let tl = 0
- let res = getGroupNum(feedingData.value)
- for (let i in res) {
- let num = 0
- res[i].forEach((item: any) => {
- num += item.num
- })
- arr.push({ name: '宸ュ崟鎶曟枡', materialName: i + '-' + res[i][0].procedureName, num: num })
- }
- feedingData.value.forEach((item:any) => {
- tl += item.num
- })
- statisticsData.value = [...statisticsData.value, ...arr]
- statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
- statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
- if (Number(tl) <= info.value.planNum) {
- let total: number = Number(tl) - Number(produceFrom.qualified) - Number(produceFrom.undesirable) // 鏄惁鏈変綑
- statisticsData.value.push({ name: '宸ュ崟鏈姇鏂�', materialName: '', num: (Number(tl) - Number(produceFrom.qualified) - Number(produceFrom.undesirable)).toFixed(2) })
- if (total === 0) {
- isSubmit.value = true
- } else {
- isSubmit.value = false
- }
- } else {
- isSubmit.value = false
- }
- } else if (info.value.hasBom === 1) { // 鏈塨om鎯呭喌
- console.log('鏈塨om')
- let arr: any = []
- let tl = 0
- let res = getGroupNum(feedingData.value)
- for (let i in res) {
- let num = 0
- res[i].forEach((item: any) => {
- num += item.num
- })
- arr.push({ name: '宸ュ崟鎶曟枡', materialName: i, num: num })
- }
- feedingData.value.forEach((item:any) => {
- tl += item.num
- })
- statisticsData.value = [...statisticsData.value, ...arr]
- statisticsData.value.push({ name: '宸ュ崟鍚堟牸浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.qualified })
- statisticsData.value.push({ name: '宸ュ崟涓嶈壇浜у嚭', materialName: info.value.mmodel.name + '-' + info.value.procedureName, num: produceFrom.undesirable })
- // isSubmit.value = produceFrom.qualified + produceFrom.undesirable <= info.value.planNum;
- isSubmit.value = true
- }
- }
- statistics.value = true
- }
-
- // 鏍规嵁鏌愪釜瀛楁杩涜鍒嗙粍
- const getGroupNum = (arr: any) => {
- let newArry: any = {};
- for (let i = 0; i < arr.length; i++) {
- if (newArry[arr[i].materialName]) {
- newArry[arr[i].materialName].push(arr[i])
- } else {
- newArry[arr[i].materialName] = [arr[i]]
- }
- }
- return newArry;
- }
-
- // 杩斿洖淇敼
- const gofh = () => {
- statistics.value = false
- }
-
- // 纭鎶ュ伐
- const submitBG = () => {
- // if (!from.duration || from.duration <= 0) {
- // return Toast('鎶ュ伐鏃堕暱涓嶈兘涓虹┖')
- // }
- let createUnqualifiedDTOList = from.defective.map((item: any) => {
- return {
- categoryId: item.id,
- unQualifiedNum: item.num
- }
- })
- let createWorkorderRecordDTO = {
- workorderId: route.query.id,
- duration: from.duration ? from.duration : 0,
- qualifiedNum: produceFrom.qualified ? produceFrom.qualified : 0,
- unQualifiedNum: produceFrom.undesirable ? produceFrom.undesirable : 0
- }
- // id: route.query.id
- comfirmDoneStandard({
- createUnqualifiedDTOList,
- createWorkorderRecordDTO
- }).then(res => {
- if (res.code === 200) {
- Toast.success({ message: '鎶ュ伐鎴愬姛', forbidClick: true, duration: 2000 })
- setTimeout(() => {
- router.go(-2)
- }, 2000)
- }
- })
- }
-
- onActivated(() => {
- // $Bus.on('callback1', (res: any)=>{
- // console.log(res)
- // if (res == 1) {
- // djData.value = []
- // finished.value = false
- // page.page = 1
- // djData.value = []
- // pageDJs()
- // }
- // })
- // queryByIds()
- // getOrocessRecords()
- // getData()
- })
-
- onMounted(() => {
- // $Bus.on('callback1', (res: any)=>{
- // if (res == 1) {
- // djData.value = []
- // finished.value = false
- // page.page = 1
- // djData.value = []
- // pageDJs()
- // }
- // })
- // pageDJs()
-
- queryByIds()
- getOrocessRecords()
- getData()
-
- // getOrocessRecordCC()
- })
+ // getOrocessRecordCC()
+})
</script>
<style lang="scss" scoped>
- .bg {
- width: 100%;
- /*height: 100%;*/
- position: absolute;
- background: #F7F7F7;
- .bg_plan {
- width: 100%;
- // height: 98px;
- padding: 30px;
- box-sizing: border-box;
- background: #FFFFFF;
- margin-bottom: 40px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- span {
- font-size: 30px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #222222;
- b {
- color: red;
- }
- }
- .bg_plan_nr {
- display: flex;
- flex-direction: column;
- span {
- font-size: 24px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #666666;
- margin-top: 20px;
- &:first-child {
- font-size: 32px;
- font-family: PingFangSC-Medium, PingFang SC;
- font-weight: 500;
- color: #333333;
- margin-top: 0 !important;
- }
- }
- }
- .bg_plan_label_val {
- display: flex;
- align-items: center;
- span {
- font-size: 28px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #999999;
- }
- img {
- width: 12px;
- height: 24px;
- margin-left: 20px;
- }
- }
- }
- .details_cz {
- width: 100%;
- padding: 30px;
- box-sizing: border-box;
- display: flex;
- align-items: center;
- justify-content: space-between;
- .details_cz_sdtl {
- width: 330px;
- height: 76px;
- background: #FFFFFF;
- border-radius: 36px;
- display: flex;
- align-items: center;
- justify-content: center;
- img {
- width: 28px;
- height: 28px;
- margin-right: 14px;
- }
- span {
- font-size: 26px;
- font-weight: 400;
- color: #222222;
- }
- }
- .details_cz_smtl {
- /*width: 330px;*/
- flex: 1;
- height: 76px;
- background: $nav-color;
- border-radius: 36px;
- display: flex;
- align-items: center;
- justify-content: center;
- img {
- width: 28px;
- height: 28px;
- margin-right: 14px;
- }
- span {
- font-size: 26px;
- font-weight: 400;
- color: #ffffff;
- }
- }
- }
- .bg_cate {
- width: 100%;
- height: 88px;
- background: #FFFFFF;
- margin-top: 20px;
- display: flex;
- align-items: center;
- .active {
- box-sizing: border-box;
- color: #305ED5 !important;
- border-bottom: 2PX solid #305ED5;
- }
- .bg_cate_item {
- flex: 1;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 30px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #555555;
- }
- }
- .bg_list {
- width: 100%;
- display: flex;
- flex-direction: column;
- margin-top: 30px;
- .bg_list_item {
- display: flex;
- flex-direction: column;
- margin-bottom: 40px;
- .kong {
- text-align: center;
- padding: 30px 0;
- background: #ffffff;
- font-size: 25px;
- span {
- color: #474747;
- }
- }
- .bg_list_item_top {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding-left: 30px;
- padding-right: 30px;
- margin-bottom: 30px;
- .bg_list_item_top_left {
- display: flex;
- align-items: center;
- .left {
- margin-left: 12px;
- font-size: 28px;
- }
- .warning {
- width: 8px;
- height: 30px;
- border-radius: 2px;
- margin-right: 12px;
- background: $nav-stateColor5 !important;
- }
- .error {
- width: 8px;
- height: 30px;
- border-radius: 2px;
- margin-right: 12px;
- background: $nav-stateColor4 !important;
- }
- .bg_list_item_top_left_x {
- width: 8px;
- height: 30px;
- background: $nav-color;
- border-radius: 2px;
- margin-right: 12px;
- }
- span {
- font-size: 32px;
- font-weight: 500;
- color: #222222;
- display: flex;
- align-items: center;
- }
- }
- .bg_list_item_top_right {
- display: flex;
- align-items: center;
- img {
- width: 28px;
- height: 28px;
- margin-right: 12px;
- }
- span {
- font-size: 28px;
- font-weight: 400;
- color: $nav-color;
- }
- }
- }
- .bg_list_item_h {
- width: 100%;
- padding: 0 30px;
- box-sizing: border-box;
- background: white;
- .bg_list_item_num {
- width: 100%;
- min-height: 98px;
- background: white;
- display: flex;
- justify-content: center;
- align-items: center;
- border-bottom: 1PX solid #E5E5E5;
- &:last-child {
- border: none !important;
- }
- .kong {
- text-align: center;
- font-size: 25px;
- padding: 30px 0;
- background: #ffffff;
- }
- .bg_list_item_num_item {
- width: 100%;
- height: 100%;
- display: flex;
- align-items: center;
- // height: 118px;
- padding: 15px 0;
- box-sizing: border-box;
- justify-content: space-between;
- border-bottom: 1px solid #E5E5E5;
- &:last-child {
- border: none;
- }
- .bg_list_item_num_item_list {
- display: flex;
- align-items: center;
- .active {
- background: #305ED5 !important;
- color: #FFFFFF !important;
- }
- .bg_list_item_num_item_list_item {
- width: 116px;
- height: 62px;
- line-height: 62px;
- text-align: center;
- background: #F2F2F2;
- border-radius: 8px;
- font-size: 26px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #333333;
- margin-right: 20px;
- &:last-child {
- margin: 0 !important;
- }
- }
- }
- .bg_list_item_num_item_wl {
- flex-shrink: 0;
- display: flex;
- flex-direction: column;
- span {
- font-size: 34px;
- color: #222222;
- }
- .bg_list_item_num_item_wl_lx {
- margin-top: 10px;
- span {
- color: #222222;
- font-size: 28px;
- }
- }
- }
- .warning {
- color: $nav-stateColor5 !important;
- }
- .err {
- color: $nav-stateColor4 !important;
- }
- img {
- width: 12px;
- height: 24px;
- margin-left: 20px;
- }
- span {
- flex-shrink: 0;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- b {
- font-size: 30px;
- color: red;
- margin-right: 5px;
- }
- .warning {
- color: $nav-stateColor5 !important;
- margin-right: 5px;
- }
- .err {
- color: $nav-stateColor4 !important;
- margin-right: 5px;
- }
- &:nth-child(1) {
- font-size: 30px;
- font-weight: 400;
- color: #222222;
- }
- &:nth-child(2) {
- font-size: 28px;
- font-weight: 400;
- color: #333333;
- flex-shrink: 0;
- }
- }
- .bg_list_item_num_item_sr {
- flex: 1;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- .color1 {
- font-size: 28px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #333333;
- }
- input::-webkit-input-placeholder {
- font-size: 28px;
- }
- input {
- text-align: right;
- width: 180px;
- height: 60px;
- border-radius: 8px;
- border: 1PX solid #E5E5E5;
- margin-right: 20px;
- font-size: 28px;
- font-weight: 400;
- color: #333333;
- padding: 0 30px
- }
- .wulll {
- width: 400px;
- text-align: right;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- }
- span {
- font-size: 28px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #999999;
- }
- }
- }
- }
- }
- }
- }
- .details_dj {
- display: flex;
- flex-direction: column;
- .details_dj_title {
- width: 100%;
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 0 30px 30px 30px;
- box-sizing: border-box;
- .details_dj_title_left {
- display: flex;
- align-items: center;
- .details_x {
- width: 8px;
- height: 30px;
- background: $nav-color;
- border-radius: 2px;
- margin-right: 12px;
- }
- span {
- font-size: 32px;
- font-weight: 500;
- color: #222222;
- }
- }
- .details_dj_title_right {
- display: flex;
- align-items: center;
- img {
- width: 28px;
- height: 28px;
- margin-right: 12px;
- }
- span {
- font-size: 28px;
- font-weight: 400;
- color: $nav-color;
- }
- }
- }
- .details_dj_list {
- width: 100%;
- /*padding: 30px;*/
- box-sizing: border-box;
- background: #ffffff;
- display: flex;
- flex-direction: column;
- .details_dj_list_item {
- display: flex;
- flex-direction: column;
- border-bottom: 1px solid #E5E5E5;
- padding: 30px;
- /*margin: 30px;*/
- /*padding-bottom: 30px;*/
- /*margin-bottom: 30px !important;*/
- span {
- &:nth-child(1) {
- font-size: 28px;
- font-weight: 400;
- color: #222222;
- }
- &:nth-child(2) {
- font-size: 24px;
- font-weight: 400;
- color: #999999;
- margin-top: 24px;
- }
- }
- }
- }
- }
- .bh_zw {
- height: 160px;
- }
- .bg_footer {
- position: fixed;
- bottom: 0;
- left: 0;
- width: 100%;
- padding: 0 30px 60px 30px;
- box-sizing: border-box;
- .bg_footer_submit1 {
- width: 690px;
- height: 76px;
- background: #FFFFFF;
- border-radius: 36px;
- border: 1px solid #E5E5E5;
- display: flex;
- align-items: center;
- justify-content: center;
- img {
- width: 28px;
- height: 28px;
- margin-right: 12px;
- }
- span {
- font-size: 26px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #305ED5;
- }
- }
- .bg_footer_submit {
- width: 690px;
- height: 88px;
- background: $nav-color;
- box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.08);
- border-radius: 8px;
- font-size: 30px;
- font-weight: 500;
- color: #FFFFFF;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
- .tg {
- width: 100%;
- height: 800px;
- padding: 30px;
- box-sizing: border-box;
- .tg_header {
- width: 100%;
- height: 45px;
- text-align: center;
- line-height: 45px;
- font-size: 30px;
- font-weight: 500;
- color: #222222;
- }
- .tg_table {
- width: 100%;
- margin-top: 40px;
- .tg_table_header {
- width: 100%;
- height: 72px;
- background: #EFF2FC;
- display: flex;
- align-items: center;
- .tg_table_header_item {
- flex: 1;
- font-size: 26px;
- font-weight: 500;
- color: #333333;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
- }
- .nr {
- width: 100%;
- max-height: calc(100% - 133px);
- overflow-x: scroll;
- .tg_table_nr {
- width: 100%;
- padding: 24px 10px;
- box-sizing: border-box;
- display: flex;
- align-items: center;
- background: white;
- box-shadow: inset 0px -2px 0px 0px #E5E5E5;
- .tg_table_nr_item {
- flex: 1;
- font-size: 26px;
- font-weight: 500;
- color: #333333;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- .tg_table_nr_item1 {
- flex: 1;
- font-size: 26px;
- font-weight: 500;
- color: #333333;
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
- }
- }
- .tg_footer {
- width: calc(100% - 60px);
- position: fixed;
- bottom: 0;
- display: flex;
- justify-content: space-between;
- align-items: center;
- box-sizing: border-box;
- padding-bottom: 40px;
- .tg_footer_fh {
- width: 100%;
- height: 88px;
- display: flex;
- align-items: center;
- justify-content: center;
- background: rgba(66, 117, 252, 0.05);
- border-radius: 8px;
- border: 1PX solid #4275FC;
- font-size: 32px;
- font-weight: 500;
- color: $nav-color;
- }
- .tg_footer_qr {
- width: 100%;
- height: 88px;
- border: none;
- display: flex;
- align-items: center;
- justify-content: center;
- background: $nav-color;
- border-radius: 8px;
- font-size: 32px;
- font-weight: 500;
- color: #FFFFFF;
- }
- }
- .bl {
- width: 100%;
- height: 800px;
- padding: 30px;
- box-sizing: border-box;
- display: flex;
- flex-direction: column;
- .bl_head {
- width: 100%;
- height: 50px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- span {
- font-size: 28px;
- color: #222222;
- &:nth-child(2) {
- font-size: 32px !important;
- }
- }
- img {
- width: 28px;
- height: 28px;
- }
- }
- .bl_footer {
- width: 100%;
- height: 88px;
- line-height: 88px;
- text-align: center;
- background: #305ED5;
- border-radius: 8px;
- font-size: 32px;
- font-family: PingFangSC-Medium, PingFang SC;
- font-weight: 500;
- color: #FFFFFF;
- margin-top: 30px;
- }
- .bl_list {
- width: 100%;
- height: calc(100% - 168px);
- overflow-y: scroll;
- margin-top: 30px;
- .bl_list_item {
- width: 100%;
- height: 96px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- border-bottom: 1PX solid #E5E5E5;
- &:last-child {
- border: none !important;
- }
- .bl_list_item_left {
- flex: 1;
- display: flex;
- align-items: center;
- input {
- width: 30px;
- height: 30px;
- border: 1PX solid #CCCCCC;
- margin: 0 !important;
- }
- span {
- font-size: 30px;
- color: #222222;
- margin-left: 10px;
- }
- }
- .bl_list_item_right {
- flex: 1;
- height: 50px;
- text-align: right;
- input {
- padding-left: 5px;
- width: 160px;
- height: 100%;
- padding: 0 30px;
- box-sizing: border-box;
- text-align: right;
- font-size: 28px;
- color: #333333;
- border-radius: 10px;
- border: 1PX solid #CCCCCC;
- &::-webkit-input-placeholder {
- font-size: 28px;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #999999;
- }
- }
- }
- }
- }
- }
+.bg {
+ width: 100%;
+ /*height: 100%;*/
+ position: absolute;
+ background: #F7F7F7;
+
+ .bg_plan {
+ width: 100%;
+ // height: 98px;
+ padding: 30px;
+ box-sizing: border-box;
+ background: #FFFFFF;
+ margin-bottom: 40px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ span {
+ font-size: 30px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #222222;
+
+ b {
+ color: red;
+ }
}
-</style>
+
+ .bg_plan_nr {
+ display: flex;
+ flex-direction: column;
+
+ span {
+ font-size: 24px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #666666;
+ margin-top: 20px;
+
+ &:first-child {
+ font-size: 32px;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ margin-top: 0 !important;
+ }
+ }
+ }
+
+ .bg_plan_label_val {
+ display: flex;
+ align-items: center;
+
+ span {
+ font-size: 28px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999999;
+ }
+
+ img {
+ width: 12px;
+ height: 24px;
+ margin-left: 20px;
+ }
+ }
+ }
+
+ .details_cz {
+ width: 100%;
+ padding: 30px;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .details_cz_sdtl {
+ width: 330px;
+ height: 76px;
+ background: #FFFFFF;
+ border-radius: 36px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ img {
+ width: 28px;
+ height: 28px;
+ margin-right: 14px;
+ }
+
+ span {
+ font-size: 26px;
+ font-weight: 400;
+ color: #222222;
+ }
+ }
+
+ .details_cz_smtl {
+ /*width: 330px;*/
+ flex: 1;
+ height: 76px;
+ background: $nav-color;
+ border-radius: 36px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ img {
+ width: 28px;
+ height: 28px;
+ margin-right: 14px;
+ }
+
+ span {
+ font-size: 26px;
+ font-weight: 400;
+ color: #ffffff;
+ }
+ }
+ }
+
+ .bg_cate {
+ width: 100%;
+ height: 88px;
+ background: #FFFFFF;
+ margin-top: 20px;
+ display: flex;
+ align-items: center;
+
+ .active {
+ box-sizing: border-box;
+ color: #305ED5 !important;
+ border-bottom: 2PX solid #305ED5;
+ }
+
+ .bg_cate_item {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 30px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #555555;
+ }
+ }
+
+ .bg_list {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ margin-top: 30px;
+
+ .bg_list_item {
+ display: flex;
+ flex-direction: column;
+ margin-bottom: 40px;
+
+ .kong {
+ text-align: center;
+ padding: 30px 0;
+ background: #ffffff;
+ font-size: 25px;
+
+ span {
+ color: #474747;
+ }
+ }
+
+ .bg_list_item_top {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-left: 30px;
+ padding-right: 30px;
+ margin-bottom: 30px;
+
+ .bg_list_item_top_left {
+ display: flex;
+ align-items: center;
+
+ .left {
+ margin-left: 12px;
+ font-size: 28px;
+ }
+
+ .warning {
+ width: 8px;
+ height: 30px;
+ border-radius: 2px;
+ margin-right: 12px;
+ background: $nav-stateColor5 !important;
+ }
+
+ .error {
+ width: 8px;
+ height: 30px;
+ border-radius: 2px;
+ margin-right: 12px;
+ background: $nav-stateColor4 !important;
+ }
+
+ .bg_list_item_top_left_x {
+ width: 8px;
+ height: 30px;
+ background: $nav-color;
+ border-radius: 2px;
+ margin-right: 12px;
+ }
+
+ span {
+ font-size: 32px;
+ font-weight: 500;
+ color: #222222;
+ display: flex;
+ align-items: center;
+ }
+ }
+
+ .bg_list_item_top_right {
+ display: flex;
+ align-items: center;
+
+ img {
+ width: 28px;
+ height: 28px;
+ margin-right: 12px;
+ }
+
+ span {
+ font-size: 28px;
+ font-weight: 400;
+ color: $nav-color;
+ }
+ }
+ }
+
+ .bg_list_item_h {
+ width: 100%;
+ padding: 0 30px;
+ box-sizing: border-box;
+ background: white;
+
+ .bg_list_item_num {
+ width: 100%;
+ min-height: 98px;
+ background: white;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-bottom: 1PX solid #E5E5E5;
+
+ &:last-child {
+ border: none !important;
+ }
+
+ .kong {
+ text-align: center;
+ font-size: 25px;
+ padding: 30px 0;
+ background: #ffffff;
+ }
+
+ .bg_list_item_num_item {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ // height: 118px;
+ padding: 15px 0;
+ box-sizing: border-box;
+ justify-content: space-between;
+ border-bottom: 1px solid #E5E5E5;
+
+ &:last-child {
+ border: none;
+ }
+
+ .bg_list_item_num_item_list {
+ display: flex;
+ align-items: center;
+
+ .active {
+ background: #305ED5 !important;
+ color: #FFFFFF !important;
+ }
+
+ .bg_list_item_num_item_list_item {
+ width: 116px;
+ height: 62px;
+ line-height: 62px;
+ text-align: center;
+ background: #F2F2F2;
+ border-radius: 8px;
+ font-size: 26px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #333333;
+ margin-right: 20px;
+
+ &:last-child {
+ margin: 0 !important;
+ }
+ }
+ }
+
+ .bg_list_item_num_item_wl {
+ flex-shrink: 0;
+ display: flex;
+ flex-direction: column;
+
+ span {
+ font-size: 34px;
+ color: #222222;
+ }
+
+ .bg_list_item_num_item_wl_lx {
+ margin-top: 10px;
+
+ span {
+ color: #222222;
+ font-size: 28px;
+ }
+ }
+ }
+
+ .warning {
+ color: $nav-stateColor5 !important;
+ }
+
+ .err {
+ color: $nav-stateColor4 !important;
+ }
+
+ img {
+ width: 12px;
+ height: 24px;
+ margin-left: 20px;
+ }
+
+ span {
+ flex-shrink: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+
+ b {
+ font-size: 30px;
+ color: red;
+ margin-right: 5px;
+ }
+
+ .warning {
+ color: $nav-stateColor5 !important;
+ margin-right: 5px;
+ }
+
+ .err {
+ color: $nav-stateColor4 !important;
+ margin-right: 5px;
+ }
+
+ &:nth-child(1) {
+ font-size: 30px;
+ font-weight: 400;
+ color: #222222;
+ }
+
+ &:nth-child(2) {
+ font-size: 28px;
+ font-weight: 400;
+ color: #333333;
+ flex-shrink: 0;
+ }
+ }
+
+ .bg_list_item_num_item_sr {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+
+ .color1 {
+ font-size: 28px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #333333;
+ }
+
+ input::-webkit-input-placeholder {
+ font-size: 28px;
+ }
+
+ input {
+ text-align: right;
+ width: 180px;
+ height: 60px;
+ border-radius: 8px;
+ border: 1PX solid #E5E5E5;
+ margin-right: 20px;
+ font-size: 28px;
+ font-weight: 400;
+ color: #333333;
+ padding: 0 30px
+ }
+
+ .wulll {
+ width: 400px;
+ text-align: right;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+
+ span {
+ font-size: 28px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999999;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .details_dj {
+ display: flex;
+ flex-direction: column;
+
+ .details_dj_title {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 30px 30px 30px;
+ box-sizing: border-box;
+
+ .details_dj_title_left {
+ display: flex;
+ align-items: center;
+
+ .details_x {
+ width: 8px;
+ height: 30px;
+ background: $nav-color;
+ border-radius: 2px;
+ margin-right: 12px;
+ }
+
+ span {
+ font-size: 32px;
+ font-weight: 500;
+ color: #222222;
+ }
+ }
+
+ .details_dj_title_right {
+ display: flex;
+ align-items: center;
+
+ img {
+ width: 28px;
+ height: 28px;
+ margin-right: 12px;
+ }
+
+ span {
+ font-size: 28px;
+ font-weight: 400;
+ color: $nav-color;
+ }
+ }
+ }
+
+ .details_dj_list {
+ width: 100%;
+ /*padding: 30px;*/
+ box-sizing: border-box;
+ background: #ffffff;
+ display: flex;
+ flex-direction: column;
+
+ .details_dj_list_item {
+ display: flex;
+ flex-direction: column;
+ border-bottom: 1px solid #E5E5E5;
+ padding: 30px;
+
+ /*margin: 30px;*/
+ /*padding-bottom: 30px;*/
+ /*margin-bottom: 30px !important;*/
+ span {
+ &:nth-child(1) {
+ font-size: 28px;
+ font-weight: 400;
+ color: #222222;
+ }
+
+ &:nth-child(2) {
+ font-size: 24px;
+ font-weight: 400;
+ color: #999999;
+ margin-top: 24px;
+ }
+ }
+ }
+ }
+ }
+
+ .bh_zw {
+ height: 160px;
+ }
+
+ .bg_footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ padding: 0 30px 60px 30px;
+ box-sizing: border-box;
+
+ .bg_footer_submit1 {
+ width: 690px;
+ height: 76px;
+ background: #FFFFFF;
+ border-radius: 36px;
+ border: 1px solid #E5E5E5;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ img {
+ width: 28px;
+ height: 28px;
+ margin-right: 12px;
+ }
+
+ span {
+ font-size: 26px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #305ED5;
+ }
+ }
+
+ .bg_footer_submit {
+ width: 690px;
+ height: 88px;
+ background: $nav-color;
+ box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8px;
+ font-size: 30px;
+ font-weight: 500;
+ color: #FFFFFF;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+
+ .tg {
+ width: 100%;
+ height: 800px;
+ padding: 30px;
+ box-sizing: border-box;
+
+ .tg_header {
+ width: 100%;
+ height: 45px;
+ text-align: center;
+ line-height: 45px;
+ font-size: 30px;
+ font-weight: 500;
+ color: #222222;
+ }
+
+ .tg_table {
+ width: 100%;
+ margin-top: 40px;
+
+ .tg_table_header {
+ width: 100%;
+ height: 72px;
+ background: #EFF2FC;
+ display: flex;
+ align-items: center;
+
+ .tg_table_header_item {
+ flex: 1;
+ font-size: 26px;
+ font-weight: 500;
+ color: #333333;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+ }
+
+ .nr {
+ width: 100%;
+ max-height: calc(100% - 133px);
+ overflow-x: scroll;
+
+ .tg_table_nr {
+ width: 100%;
+ padding: 24px 10px;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ background: white;
+ box-shadow: inset 0px -2px 0px 0px #E5E5E5;
+
+ .tg_table_nr_item {
+ flex: 1;
+ font-size: 26px;
+ font-weight: 500;
+ color: #333333;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .tg_table_nr_item1 {
+ flex: 1;
+ font-size: 26px;
+ font-weight: 500;
+ color: #333333;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+ }
+ }
+
+ .tg_footer {
+ width: calc(100% - 60px);
+ position: fixed;
+ bottom: 0;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ box-sizing: border-box;
+ padding-bottom: 40px;
+
+ .tg_footer_fh {
+ width: 100%;
+ height: 88px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: rgba(66, 117, 252, 0.05);
+ border-radius: 8px;
+ border: 1PX solid #4275FC;
+ font-size: 32px;
+ font-weight: 500;
+ color: $nav-color;
+ }
+
+ .tg_footer_qr {
+ width: 100%;
+ height: 88px;
+ border: none;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: $nav-color;
+ border-radius: 8px;
+ font-size: 32px;
+ font-weight: 500;
+ color: #FFFFFF;
+ }
+ }
+
+ .bl {
+ width: 100%;
+ height: 800px;
+ padding: 30px;
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+
+ .bl_head {
+ width: 100%;
+ height: 50px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ span {
+ font-size: 28px;
+ color: #222222;
+
+ &:nth-child(2) {
+ font-size: 32px !important;
+ }
+ }
+
+ img {
+ width: 28px;
+ height: 28px;
+ }
+ }
+
+ .bl_footer {
+ width: 100%;
+ height: 88px;
+ line-height: 88px;
+ text-align: center;
+ background: #305ED5;
+ border-radius: 8px;
+ font-size: 32px;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 500;
+ color: #FFFFFF;
+ margin-top: 30px;
+ }
+
+ .bl_list {
+ width: 100%;
+ height: calc(100% - 168px);
+ overflow-y: scroll;
+ margin-top: 30px;
+
+ .bl_list_item {
+ width: 100%;
+ height: 96px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border-bottom: 1PX solid #E5E5E5;
+
+ &:last-child {
+ border: none !important;
+ }
+
+ .bl_list_item_left {
+ flex: 1;
+ display: flex;
+ align-items: center;
+
+ input {
+ width: 30px;
+ height: 30px;
+ border: 1PX solid #CCCCCC;
+ margin: 0 !important;
+ }
+
+ span {
+ font-size: 30px;
+ color: #222222;
+ margin-left: 10px;
+ }
+ }
+
+ .bl_list_item_right {
+ flex: 1;
+ height: 50px;
+ text-align: right;
+
+ input {
+ padding-left: 5px;
+ width: 160px;
+ height: 100%;
+ padding: 0 30px;
+ box-sizing: border-box;
+ text-align: right;
+ font-size: 28px;
+ color: #333333;
+ border-radius: 10px;
+ border: 1PX solid #CCCCCC;
+
+ &::-webkit-input-placeholder {
+ font-size: 28px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999999;
+ }
+ }
+ }
+ }
+ }
+ }
+}</style>
diff --git a/minipro_standard/App.vue b/minipro_standard/App.vue
index d52fd35..def0339 100644
--- a/minipro_standard/App.vue
+++ b/minipro_standard/App.vue
@@ -15,6 +15,7 @@
/*姣忎釜椤甸潰鍏叡css */
@import "@/uni_modules/uview-ui/index.scss";
@import "common/css/lib.css";
+ @import "common/css/common.css";
// page {
// background-color: #F3F6F9 !important;
// }
diff --git a/minipro_standard/common/config.js b/minipro_standard/common/config.js
index 15d4a4d..1ee7ea5 100644
--- a/minipro_standard/common/config.js
+++ b/minipro_standard/common/config.js
@@ -1,5 +1,11 @@
module.exports = {
// baseUrl: 'http://106.14.20.42/test_hfznzz/',
// baseUrl: 'https://hefei.dtkey.cn/test_hfznzz/',
- baseUrl: 'https://dmtest.ahapp.net/doumeeplant_api/'
+ baseUrl: 'https://dmtest.ahapp.net/doumeeplant_api/',
+ phoneRegular: /^1[3456789]\d{9}$/,
+ mailboxRegular: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
+ positiveInteger: /^[0-9]*[1-9][0-9]*$/,
+ decimal: /^0$|^[1-9]\d{0,15}$|^[1-9]\d{0,15}\.{1}\d{1,4}$|^0\.{1}\d{1,4}$/g,
+ positiveIntegerDecimal: /^([1-9][0-9]*|0)(\.[0-9]?[1-9][1-9][1-9])?$/,
+ number: /^\d+(?:\.\d{1,4})?$/
}
diff --git a/minipro_standard/common/css/common.css b/minipro_standard/common/css/common.css
new file mode 100644
index 0000000..b9945ec
--- /dev/null
+++ b/minipro_standard/common/css/common.css
@@ -0,0 +1,8 @@
+.tips-label {
+ background: rgba(220,26,26,0.06);
+ padding: 18rpx 30rpx;
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #DC1A1A;
+ line-height: 36rpx;
+}
\ No newline at end of file
diff --git a/minipro_standard/common/css/lib.css b/minipro_standard/common/css/lib.css
index 9997612..6e1fac3 100644
--- a/minipro_standard/common/css/lib.css
+++ b/minipro_standard/common/css/lib.css
@@ -13,7 +13,7 @@
.wp{ width: 94%; margin: 0 auto;}
.w30{ width: 30%;}.w40{ width: 40%;}.w47{ width: 47%;}.w48{ width: 48%;}.w49{ width: 49%;}.w50{ width: 50%;}.w60{ width: 60%;}.w80{ width: 80%;}.w90{ width: 90%;}
-.bg_m{background-color: #F3F6F9;}.bg_fa{ background-color: #fafafa;}.bg_f2{ background-color: #f2f2f2;}.bg_f1{ background-color: #f1f1f1;}.bg_f5{ background-color: #f5f5f5;}.bg_f6{ background-color: #f6f6f6;}.bg_f7{ background-color: #f7f7f7;}.bg_f8{ background-color: #f8f8f8;}.bg_e{ background-color: #eee;}.bg_d{ background-color: #ddd;}.bg_w{ background-color: #fff;}.bg_3{ background-color: #333;}
+.bg_m{background-color: #305ED5;}.bg_fa{ background-color: #fafafa;}.bg_f2{ background-color: #f2f2f2;}.bg_f1{ background-color: #f1f1f1;}.bg_f5{ background-color: #f5f5f5;}.bg_f6{ background-color: #f6f6f6;}.bg_f7{ background-color: #f7f7f7;}.bg_f8{ background-color: #f8f8f8;}.bg_e{ background-color: #eee;}.bg_d{ background-color: #ddd;}.bg_w{ background-color: #fff;}.bg_3{ background-color: #333;}
.rd4{border-radius: 4rpx;}.rd5{border-radius: 5rpx;}.rd6{border-radius: 6rpx;}.rd8{border-radius: 8rpx;}.rd10{border-radius: 10rpx;}.rd15{border-radius: 15rpx;}.rd20{border-radius: 20rpx;}.rd30{border-radius: 30rpx;}.rd40{border-radius: 40rpx;}.rd50{border-radius: 50rpx;}.rd60{border-radius: 60rpx;}.rd70{border-radius: 70rpx;}.rd80{border-radius: 80rpx;}.rd90{border-radius: 90rpx;}.rd100{border-radius: 100rpx;}.rd120{border-radius: 120rpx;}.rdhalf{ border-radius:50%}
@@ -44,7 +44,8 @@
.img16{ width: 16rpx; height: 16rpx;}
.img20{ width: 20rpx; height: 20rpx;}
.img24{ width: 24rpx; height: 24rpx;}
-.img26{ width: 26rpx; height: 26rpx;}
+.img26{ width: 26rpx; height: 26rpx;}
+.img28{ width: 28rpx; height: 28rpx;}
.img30{ width: 30rpx; height: 30rpx;}
.img32{ width: 32rpx; height: 32rpx;}
.img36{ width: 36rpx; height: 36rpx;}
@@ -71,7 +72,8 @@
.bcover{ background-size: cover; background-position: center center; background-repeat: no-repeat;}
.bfull{ background-size: 100% 100%; background-position: center center; background-repeat: no-repeat;}
-.b{ font-weight: bold;}
+.b{ font-weight: bold;}
+.n{ font-weight: 400;}
.ibm{ display: inline-block; vertical-align: middle;}
.bbox{ box-sizing: border-box;}
.rauto{ margin-left:auto; margin-right:auto}
@@ -116,15 +118,16 @@
.rp { position: relative; }
.ap { position: absolute; }
-.orange{ color: #EA531B;}
-.green{ color: #65C35D;}
-.blue{ color: #3C77DA;}
-.red{ color: #f00;}
-.white{ color: #fff;}
+.orange{ color: #EA531B !important;}
+.green{ color: #65C35D !important;}
+.blue{ color: #3C77DA !important;}
+.red{ color: #f00 !important;}
+.white{ color: #fff !important;}
-.mc{color:#216EEE}
-.wc{color:#F98107}
+.mc{color:#216EEE !important;}
+.wc{color:#F98107 !important;}
+.cm {color: #305ED5}
.c1{color: #111}.c2{color: #222}.c3{ color: #333;}.c6{ color: #666;}.cc{ color: #ccc;}.cf{ color: #fff;}
/* /deep/ .uicon-close .u-icon--right{ position: absolute; right: 30rpx; top: 30rpx; z-index: 999;} */
.popCloseBtn{ position: absolute; width:50rpx; height:50rpx; right: 20rpx; top: 20rpx;}
diff --git a/minipro_standard/components/selectMaterial.vue b/minipro_standard/components/selectMaterial.vue
new file mode 100644
index 0000000..18d3d35
--- /dev/null
+++ b/minipro_standard/components/selectMaterial.vue
@@ -0,0 +1,61 @@
+<template>
+ <u-popup :show="show" :round="10" closeable @close="show=false">
+ <view class="material-content">
+ <u-list @scrolltoupper="scrolltoupper" @scrolltolower="scrolltolower">
+ <u-list-item v-for="(item, index) in list" :key="index">
+ <view class="" style="height: 20px;">{{item}}</view>
+ </u-list-item>
+ </u-list>
+ </view>
+ </u-popup>
+</template>
+
+<script>
+ export default {
+ name: "selectMaterial",
+ data() {
+ return {
+ show: false,
+ pages: {
+ size: 10,
+ index: 1,
+ total: 0
+ },
+ list: [
+ 1,2,3,4,5,6,7,8
+ ]
+ };
+ },
+ methods: {
+ open(target) {
+ this.show = true
+ this.workorderId = target.workorderId
+ this.deviceId = target.deviceId
+ this.list = []
+ this.pages = {
+ size: 10,
+ index: 1,
+ total: 0
+ }
+ this.loadData()
+ },
+ loadData() {
+ this.list = [1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6]
+ },
+ scrolltoupper() {
+ console.log('scrolltoupper');
+ this.loadData()
+ },
+ scrolltolower() {
+ console.log('scrolltolower');
+ this.loadData()
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .material-content {
+ height: 800rpx;
+ }
+</style>
diff --git a/minipro_standard/components/workOrderInfo.vue b/minipro_standard/components/workOrderInfo.vue
new file mode 100644
index 0000000..67548d6
--- /dev/null
+++ b/minipro_standard/components/workOrderInfo.vue
@@ -0,0 +1,82 @@
+<template>
+ <view class="p30 bg_w order-info">
+ <view class="bX">
+ <view class="cY">
+ <view class="mr10 b">澧欎綋鐮栵綔鐮佸灈</view>
+ <u-tag size="mini" bgColor="#03AF76" text="姝e父"></u-tag>
+ </view>
+ <view class="status" :class="orederMessage.status==0?'wc':orederMessage.status==1?'green':orederMessage.status==3?'blue':orederMessage.status==7?'green':'c6'">{{ stausToStr(1) }}</view>
+ </view>
+ <view class="f24 c6 mt20">宸ュ崟缂栧彿锛歿{ orederMessage.code || 'GD202111240001' }}</view>
+ <view class="mt20 bg_f7 ptb20 plr30 n">
+ <view class="c2 mb20">
+ <span class="c6">鐗╂枡缂栫爜锛�</span>
+ {{ orederMessage.mmodel ? orederMessage.mmodel.code : '03K-0K-0-1' }}
+ </view>
+ <view class="c2 mb20">
+ <span class="c6">璁″垝寮�宸ワ細</span>
+ {{ orederMessage.planDate || '2022/01/11' }}
+ </view>
+ <view class="c2 mb20">
+ <span class="c6">鐢熶骇鎵规锛�</span>
+ {{ orederMessage.batch || 'PH20221023001' }}
+ </view>
+ <view class="c2 mb20">
+ <span class="c6">璁″垝鏁伴噺锛�</span>
+ {{ orederMessage.planNum || '1000' }}{{ orederMessage.umodel ? orederMessage.umodel.name : 'A1' }}
+ </view>
+ <view class="c2 mb20">
+ <span class="c6">鐢熶骇璁惧锛�</span>
+ {{ orederMessage.pgmodel ? `${orederMessage.pgmodel.code} - ${orederMessage.pgmodel.name}` : 'A1' }}
+ </view>
+ <view class="c2 flex">
+ <view class="c6" style="flex-shrink: 0;">鐢熶骇浜哄憳锛�</view>
+ <view class="flex1">
+ {{ orederMessage.proUserList ? orederMessage.proUserList.map(item => item.proUserDepartName).join(' / ') : '渚辰鎱�-鍜屽幙椋為獜鏂板瀷寤烘潗' }}
+ </view>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ name: "workOrderInfo",
+ props: {
+ orederMessage: {}
+ },
+ data() {
+ return {
+ status: [
+ { status: 0, label: '宸插垱寤�' },
+ { status: 1, label: '宸插鏂�' },
+ { status: 2, label: '宸插畬宸ユ' },
+ { status: 3, label: '宸叉楠�' },
+ { status: 4, label: '宸叉姤宸�' },
+ { status: 5, label: '宸插叆搴�' },
+ { status: 6, label: '宸插彇娑�' },
+ { status: 7, label: '杩涜涓�' }
+ ]
+ };
+ },
+ methods: {
+ stausToStr(status) {
+ let temp = this.status.find(item => item.status == status)
+ return temp ? temp.label : '-'
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+.status {
+ height: 26rpx;
+ font-size: 26rpx;
+ font-weight: 400;
+ color: #666666;
+ line-height: 26rpx;
+}
+.order-info {
+ border-bottom: 20rpx #f7f7f7 solid;
+}
+</style>
diff --git a/minipro_standard/pages.json b/minipro_standard/pages.json
index 7ee4eb5..e26d84c 100644
--- a/minipro_standard/pages.json
+++ b/minipro_standard/pages.json
@@ -101,6 +101,27 @@
"navigationBarTitleText": "鏂板鍏ュ簱",
"enablePullDownRefresh": false
}
+ },
+ {
+ "path": "pages/manualFeed/manualFeed",
+ "style": {
+ "navigationBarTitleText": "鎵嬪姩鎶曟枡",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/OrderDetail/OrderDetail",
+ "style": {
+ "navigationBarTitleText": "宸ュ崟璇︽儏",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/workOrderReporting/workOrderReporting",
+ "style": {
+ "navigationBarTitleText": "宸ュ崟鎶ュ伐",
+ "enablePullDownRefresh": false
+ }
}
]
}
diff --git a/minipro_standard/pages/index/index.vue b/minipro_standard/pages/index/index.vue
index 1a9e5b1..3640c53 100644
--- a/minipro_standard/pages/index/index.vue
+++ b/minipro_standard/pages/index/index.vue
@@ -164,9 +164,6 @@
});
},
methods: {
- onMessage(e) {
- console.log('12345654321')
- },
scrolltolower() {},
scrolltoupper() {},
selectType(status) {
diff --git a/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue b/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
new file mode 100644
index 0000000..dae9d43
--- /dev/null
+++ b/minipro_standard/pages_adjust/pages/OrderDetail/OrderDetail.vue
@@ -0,0 +1,1002 @@
+<template>
+ <view>
+ <workOrderInfo :orederMessage="{proUserList:[]}" />
+ <view class="bg_cate">
+ <view @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'"
+ v-for="(item, index) in cate" :key="index">{{ item.name }}</view>
+ </view>
+ <div class="bg_list" v-if="typeView === 0">
+ <div class="bg_list_item">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x bg_m"></div>
+ <span>鎶曟枡鏄庣粏</span>
+ </div>
+ <div class="bg_list_item_top_right" @click="jumpTL">
+ <!-- v-if="proxy.$auth('h5:workorderinput:create') && (info.bomType !== 1 || info.bomType == 0 || !info.bomType)" -->
+ <!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" /> -->
+ <!-- <img src="@/static/gongdan_ic_shoudong@2x.ong" alt="" /> -->
+ <image src="../../static/gongdan_ic_shoudong@2x.png" class="img28" mode=""></image>
+ <span class="cm">鏂板鎶曟枡</span>
+ </div>
+ </div>
+
+ <template v-if="feedingData && feedingData.length > 0">
+ <u-swipe-action>
+ <u-swipe-action-item v-for="(item, index) in feedingData" :key="index" :options="options"
+ @click="deleItem(item.id, 'T')">
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <!-- <span>{{item.code}}</span> -->
+ <div class="bg_list_item_num_item_wl">
+ <span> {{ item.materialName || '澧欎綋鐮�' }}{{ item.procedureName ? ` | ${item.procedureName}` : ''
+ }}</span>
+ <div class="bg_list_item_num_item_wl_lx">
+ <span class="green" v-if="item.qualityType == 0">鍚堟牸 / </span>
+ <span class="orange" v-if="item.qualityType == 1">涓嶈壇 / </span>
+ <span class="red" v-if="item.qualityType == 2">鎶ュ簾 / </span>
+ <span>{{ item.locationName }}</span>
+ <span>{{ item.batch ? ` / ${item.batch}` : '' }}</span>
+ </div>
+ </div>
+ <div class="bg_list_item_num_item_sr">
+ <!-- :disabled="!proxy.$auth('h5:workorderinput:update')" -->
+ <!-- <view class="cY">
+ <span>{{item.num}}{{ item.unitName }}</span>
+ <image src="../../../static/ic_edit@2x.png" class="img48" mode=""></image>
+ <span class="red">鍒犻櫎</span>
+ </view> -->
+ <view class="cY">
+ <input v-model="item.num"
+ @blur="change(item.id, item.num, 'T', item.maxNum, item, item.unitAttribute)"
+ type="number" />
+ <span class="cm">淇濆瓨</span>
+ </view>
+
+ </div>
+ </div>
+ </div>
+ </div>
+ </u-swipe-action-item>
+ </u-swipe-action>
+
+ </template>
+ <template v-else>
+ <div class="kong">
+ <span>鏆傛棤鏁版嵁</span>
+ </div>
+ </template>
+ </div>
+ <div class="bg_list_item">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x bg_m"></div>
+ <span>浜у嚭鏄庣粏</span>
+ </div>
+ </div>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>鑹搧鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
+ <div class="bg_list_item_num_item_sr">
+ <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <input type="number" v-model="produceFrom.qualified"
+ @blur="changeCC('0', produceFrom.qualified, produceFrom.qualifiedId)"
+ placeholder="璇疯緭鍏�" />
+ <span v-if="info.umodel">{{ info.umodel.name }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <div class="bg_list_item_num_item">
+ <span>涓嶈壇鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
+ <div class="bg_list_item_num_item_sr">
+ <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <input type="number" v-model="produceFrom.undesirable"
+ @blur="changeCC('1', produceFrom.undesirable, produceFrom.undesirableId)"
+ placeholder="璇疯緭鍏�" />
+ <span v-if="info.umodel">{{ info.umodel.name }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_h" v-if="produceFrom.undesirable > 0">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item" @click="badShow = true">
+ <span>涓嶈壇椤�</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="wulll" :style="{ color: form.defectiveName ? '#305ED5' : '' }">{{ form.defectiveName ?
+ form.defectiveName : '璁剧疆' }}</span>
+ <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="bg_plan" @click="TimeShow = true">
+ <div class="bg_plan_label">
+ <span>鎶ュ伐鏃堕暱</span>
+ </div>
+ <div class="bg_plan_label_val">
+ <span
+ :style="{ color: form.durationName ? '#333' : '' }">{{ form.durationName ? form.durationName : '璇烽�夋嫨' }}</span>
+ <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
+ </div>
+ </div>
+ <div class="bg_list_item" v-if="arrType && arrType.length > 0">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x bg_m"></div>
+ <span>宸ヨ祫缁╂晥</span>
+ </div>
+ </div>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>璁′欢鏂瑰紡</span>
+ <div class="bg_list_item_num_item_list">
+ <div :class="form.index == index ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'"
+ v-for="(item, index) in arrType" :key="index"
+ @click="clickPerformanceType(item, index)">
+ {{ item.name }}
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>宸ヨ祫鍗曚环</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ (arrType[form.index].salary / 10 / 10).toFixed(2) }}鍏�/{{ arrType[form.index].type ==
+ 0 ? '浠�' : '鏃�' }}</span>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>棰勮宸ヨ祫</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ expectedSalary }}鍏�</span>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>杈炬爣鐜�</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ complianceRate }}%</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ <div class="details_dj" v-if="typeView === 1">
+
+ <div class="details_dj_list">
+ <u-swipe-action>
+ <u-swipe-action-item v-for="(item, index) in djData" :key="index" :options="options"
+ @click="dele(item.id)">
+ <div class="details_dj_list_item">
+ <span>{{ item.attrName }}锛歿{ item.val }}</span>
+ <span>{{ item.userName }} {{ item.createTime }}</span>
+ </div>
+ </u-swipe-action-item>
+ </u-swipe-action>
+ </div>
+ </div>
+ <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
+ <template>
+ <div class="bh_zw"></div>
+ <div class="bg_footer bg_f7">
+ <div class="bg_footer_submit bg_m" v-if="typeView == 0" @click="submit">纭鎶ュ伐</div>
+ <!-- proxy.$auth('h5:workorder:processRecord') && -->
+ <div class="bg_footer_submit1" @click="jumpdj" v-if="typeView == 1">
+ <image src="../../../static/gongdan_ic_shoudong@2x.png" class="fornt-img" mode=""></image>
+ <span>鏂板鐐规</span>
+ </div>
+ </div>
+ </template>
+ <u-datetime-picker :show="TimeShow" @cancel="TimeShow=false" @confirm="timeConfirm" v-model="form.time"
+ mode="time"></u-datetime-picker>
+ <u-popup :show="badShow" @close="badShow=false" :round="8" closeable zIndex="20000">
+ <view class="rp p40 contanir">
+ <view class="c2 b tc">涓嶈壇椤�</view>
+ <view class="content bl_list">
+ <div class="bl_list_item" v-for="(item, i) in cateList" :key="i" @click="changeChecked(i)">
+ <div class="bl_list_item_left">
+ <u-checkbox-group>
+ <u-checkbox :key="index" :checked="item.active" :label="item.name"
+ :name="item.name">
+ </u-checkbox>
+ </u-checkbox-group>
+ </div>
+ <div class="bl_list_item_right">
+ <input type="number" @click.stop v-model="item.num" placeholder="0" />
+ </div>
+ </div>
+ </view>
+ <view class="flex ap tc bottom-view">
+ <view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view>
+ </view>
+ </view>
+ </u-popup>
+ </view>
+</template>
+
+<script>
+ import workOrderInfo from '@/components/workOrderInfo.vue'
+ export default {
+ components: {
+ workOrderInfo
+ },
+ data() {
+ return {
+ cate: [{
+ name: '鐢熶骇'
+ },
+ {
+ name: '鐐规'
+ }
+ ],
+ form: {
+ time: '',
+ efective: [],
+ defectiveName: '',
+ durationName: '0灏忔椂0鍒嗛挓',
+ duration: 0,
+ type: 0,
+ index: 0
+ },
+ TimeShow: false,
+ badShow: false,
+ typeView: 0,
+ feedingData: [{
+ id: 0,
+ materialName: '澧欎綋鐮�',
+ procedureName: '鍘嬪埗',
+ qualityType: 1,
+ locationName: 'CP-01',
+ batch: '20230713',
+ num: 2,
+ maxNum: 10,
+ unitAttribute: 1,
+ unitName: '鍧�'
+ }],
+ options: [{
+ text: '鍒犻櫎',
+ style: {
+ backgroundColor: 'red',
+ }
+ }],
+ arrType: [{
+ name: '璁℃椂',
+ type: 1,
+ salary: 1000,
+ },
+ {
+ name: '璁′欢',
+ type: 0,
+ salary: 100
+ },
+ ],
+ // 浜у嚭鍚堟牸/涓嶈壇
+ produceFrom: {
+ qualifiedId: '',
+ qualified: '', // 鍚堟牸
+ undesirableId: '',
+ undesirable: 5 // 涓嶈壇
+ },
+ djData: [{
+ attrName: '鍑烘按鏃堕棿',
+ val: '2022-05-28 16:3',
+ userName: '寮犱笁 ',
+ createTime: '2022-05-28 16:32:'
+ }],
+ cateList: [{
+ active: false,
+ name: '姣涘埡',
+ num: 0
+ }]
+ };
+ },
+ computed: {
+ expectedSalary() {
+ if (this.arrType.length === 0) return 0;
+ // 鎸変欢璁$畻
+ if (this.arrType[this.form.index].type == 0) {
+ if (!this.produceFrom.qualified) return 0
+ if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let total = Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)
+ return (total * (this.arrType[this.form.index].salary / 100)).toFixed(2) || 0
+ } else {
+ return (Number(this.produceFrom.qualified) * (this.arrType[this.form.index].salary / 100)).toFixed(
+ 2) || 0
+ }
+ } else {
+ if (!this.form.duration) return 0;
+ let h = (this.form.duration / 60 / 60).toFixed(2)
+ return (Number(h) * (this.arrType[this.form.index].salary / 10 / 10)).toFixed(2) || 0
+ }
+ },
+ complianceRate() {
+ if (this.arrType.length === 0) return 0;
+ if (!this.produceFrom.qualified && !this.produceFrom.undesirable) return 0;
+ if (!this.form.duration) return 0;
+ if (!this.arrType[this.form.index].num) return 0;
+ // 鎸変欢璁$畻
+ // if (infoBox.value.type == 0) {
+ if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let a = ((Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) / (this.form
+ .duration / 3600)).toFixed(2)
+ let b = (this.arrType[this.form.index].num / (this.arrType[form.index].times / 3600)).toFixed(2)
+ return ((Number(a) / Number(b)) * 100).toFixed(2)
+ // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
+ // return total * infoBox.value.salary;
+ } else {
+ let a = (this.produceFrom.qualified / (this.form.duration / 3600)).toFixed(2)
+ let b = (this.arrType[this.form.index].num / (this.arrType[this.form.index].times / 3600)).toFixed(2)
+ return ((Number(a) / Number(b)) * 100).toFixed(2)
+ // return Number(from.qualified) * infoBox.value.salary;
+ }
+ }
+ },
+ methods: {
+ click() {
+
+ },
+ clickIten(index) {
+ this.typeView = index
+ },
+ timeConfirm({
+ value
+ }) {
+ console.log(value)
+ let h = Number(value.substring(0, 2))
+ let m = Number(value.substring(3, 5))
+ let s = 0
+ if (h > 0) {
+ s += h * 60 * 60
+ }
+ if (m > 0) {
+ s += m * 60
+ }
+ this.form.duration = s
+ this.form.durationName = `${h}灏忔椂${m}鍒嗛挓`
+ this.TimeShow = false
+ },
+ // 缂栬緫鎶曟枡/浜у嚭
+ change(id, num, type, maxNum, item, unitAttribute) {
+ let obj = item
+ if (type === 'T') {
+ if (unitAttribute == 0 && num != '') {
+ if (!REGULAR.positiveInteger.test(num)) {
+ obj.num = obj.ynum
+ Toast({
+ message: '鍙兘杈撳叆姝f暣鏁�'
+ })
+ return
+ }
+ }
+ if (unitAttribute == 1 && num != '') {
+ if (!REGULAR.number.test(num)) {
+ Toast({
+ message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級'
+ })
+ obj.num = obj.ynum
+ return
+ }
+ }
+ if (num > maxNum) {
+ obj.num = obj.ynum
+ Toast.fail({
+ message: '瓒呭嚭宸ヨ鎬绘暟'
+ })
+ return
+ }
+ } else if (type === 'C' && num > info.value.planNum) {
+ obj.num = obj.ynum
+ Toast.fail({
+ message: '浜у嚭鏁伴噺涓嶈兘瓒呰繃璁″垝鏁伴噺'
+ })
+ return
+ }
+ // updateById({ id, num }).then(res => {
+ // if (res.code === 200 && type === 'T') {
+ // getOrocessRecords()
+ // } else if (res.code === 200 && type === 'C') {
+ // // getOrocessRecordCC()
+ // }
+ // })
+ },
+ clickPerformanceType(item, index) {
+ this.form.index = index
+ this.form.type = item.type
+ },
+ submit() {},
+ jumpdj() {},
+ pageDJs() {},
+ dele(id) {
+ // deletedj(id)
+ // .then(res => {
+ // if (res.code === 200) {
+ // djData.value = []
+ // finished.value = false
+ // page.page = 1
+ // djData.value = []
+ // pageDJs()
+ // }
+ // })
+ },
+ confirm() {
+ // console.log('confirm');
+ this.badShow = false
+ },
+ changeChecked(i) {
+ this.cateList[i].active = !this.cateList[i].active
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .bg_cate {
+ width: 100%;
+ height: 88rpx;
+ background: #FFFFFF;
+ display: flex;
+ align-items: center;
+
+ .active {
+ box-sizing: border-box;
+ color: #305ED5 !important;
+ font-weight: 500;
+ border-bottom: 3rpx solid #305ED5;
+ }
+
+ .bg_cate_item {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #555555;
+ }
+ }
+
+ .bg_list {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ margin-top: 30rpx;
+
+ .bg_list_item {
+ display: flex;
+ flex-direction: column;
+ // margin-bottom: 40rpx;
+ border-bottom: 40rpx #f7f7f7 solid;
+
+ .kong {
+ text-align: center;
+ padding: 30rpx 0;
+ background: #ffffff;
+ font-size: 25rpx;
+
+ span {
+ color: #474747;
+ }
+ }
+
+ .bg_list_item_top {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-left: 30rpx;
+ padding-right: 30rpx;
+ margin-bottom: 30rpx;
+
+ .bg_list_item_top_left {
+ display: flex;
+ align-items: center;
+
+ .left {
+ margin-left: 12rpx;
+ font-size: 28rpx;
+ }
+
+ .warning {
+ width: 8rpx;
+ height: 30rpx;
+ border-radius: 2rpx;
+ margin-right: 12rpx;
+ // background: $nav-stateColor5 !important;
+ }
+
+ .error {
+ width: 8rpx;
+ height: 30rpx;
+ border-radius: 2rpx;
+ margin-right: 12rpx;
+ // background: $nav-stateColor4 !important;
+ }
+
+ .bg_list_item_top_left_x {
+ width: 8rpx;
+ height: 30rpx;
+ // background: $nav-color;
+ border-radius: 2rpx;
+ margin-right: 12rpx;
+ }
+
+ span {
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #222222;
+ display: flex;
+ align-items: center;
+ }
+ }
+
+ .bg_list_item_top_right {
+ display: flex;
+ align-items: center;
+
+ image {
+ width: 28rpx;
+ height: 28rpx;
+ margin-right: 12rpx;
+ }
+
+ span {
+ font-size: 28rpx;
+ font-weight: 400;
+ }
+ }
+ }
+
+ .bg_list_item_h {
+ width: 100%;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ background: white;
+
+ .bg_list_item_num {
+ width: 100%;
+ min-height: 98rpx;
+ background: white;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-bottom: 1rpx solid #E5E5E5;
+
+ &:last-child {
+ border: none !important;
+ }
+
+ .kong {
+ text-align: center;
+ font-size: 25rpx;
+ padding: 30rpx 0;
+ background: #ffffff;
+ }
+
+ .bg_list_item_num_item {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ // height: 118rpx;
+ padding: 15rpx 0;
+ box-sizing: border-box;
+ justify-content: space-between;
+ border-bottom: 1rpx solid #E5E5E5;
+
+ &:last-child {
+ border: none;
+ }
+
+ .bg_list_item_num_item_list {
+ display: flex;
+ align-items: center;
+
+ .active {
+ background: #305ED5 !important;
+ color: #FFFFFF !important;
+ }
+
+ .bg_list_item_num_item_list_item {
+ width: 116rpx;
+ height: 62rpx;
+ line-height: 62rpx;
+ text-align: center;
+ background: #F2F2F2;
+ border-radius: 8rpx;
+ font-size: 26rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #333333;
+ margin-right: 20rpx;
+
+ &:last-child {
+ margin: 0 !important;
+ }
+ }
+ }
+
+ .bg_list_item_num_item_wl {
+ flex-shrink: 0;
+ display: flex;
+ flex-direction: column;
+ font-size: 34rpx;
+ color: #222222;
+
+ .bg_list_item_num_item_wl_lx {
+ margin-top: 10rpx;
+ color: #222222;
+ font-size: 28rpx;
+ }
+ }
+
+ // .warning {
+ // color: $nav-stateColor5 !important;
+ // }
+
+ // .err {
+ // color: $nav-stateColor4 !important;
+ // }
+
+ img {
+ width: 12rpx;
+ height: 24rpx;
+ margin-left: 20rpx;
+ }
+
+ span {
+ flex-shrink: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+
+ b {
+ font-size: 30rpx;
+ color: red;
+ margin-right: 5rpx;
+ }
+
+ // .warning {
+ // color: $nav-stateColor5 !important;
+ // margin-right: 5rpx;
+ // }
+
+ // .err {
+ // color: $nav-stateColor4 !important;
+ // margin-right: 5rpx;
+ // }
+
+ &:nth-child(1) {
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+
+ &:nth-child(2) {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #333333;
+ flex-shrink: 0;
+ }
+ }
+
+ .bg_list_item_num_item_sr {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+
+ .color1 {
+ font-size: 28rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #333333;
+ }
+
+ input::-webkit-input-placeholder {
+ font-size: 28rpx;
+ }
+
+ input {
+ text-align: right;
+ width: 180rpx;
+ height: 60rpx;
+ border-radius: 8rpx;
+ border: 1rpx solid #E5E5E5;
+ margin-right: 20rpx;
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #333333;
+ padding: 0 30rpx
+ }
+
+ .wulll {
+ width: 400rpx;
+ text-align: right;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+
+ span {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #999999;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .bg_plan {
+ width: 100%;
+ // height: 98px;
+ padding: 30rpx;
+ box-sizing: border-box;
+ background: #FFFFFF;
+ margin-bottom: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ span {
+ font-size: 30rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #222222;
+
+ b {
+ color: red;
+ }
+ }
+
+ .bg_plan_nr {
+ display: flex;
+ flex-direction: column;
+
+ span {
+ font-size: 24rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #666666;
+ margin-top: 20rpx;
+
+ &:first-child {
+ font-size: 32rpx;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ margin-top: 0 !important;
+ }
+ }
+ }
+
+ .bg_plan_label_val {
+ display: flex;
+ align-items: center;
+
+ span {
+ font-size: 28rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999999;
+ }
+
+
+ }
+ }
+
+ .img_ar {
+ width: 12rpx;
+ height: 24rpx;
+ margin-left: 20rpx;
+ }
+
+ .bh_zw {
+ height: 160rpx;
+ }
+
+ .bg_footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ padding: 30rpx 30rpx 60rpx 30rpx;
+ box-sizing: border-box;
+
+ .bg_footer_submit1 {
+ width: 690rpx;
+ height: 76rpx;
+ background: #FFFFFF;
+ border-radius: 36rpx;
+ border: 1rpx solid #E5E5E5;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .fornt-img {
+ width: 28rpx;
+ height: 28rpx;
+ margin-right: 12rpx;
+ }
+
+ span {
+ font-size: 26rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #305ED5;
+ }
+ }
+
+ .bg_footer_submit {
+ width: 690rpx;
+ height: 88rpx;
+ box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8rpx;
+ font-size: 30rpx;
+ font-weight: 500;
+ color: #FFFFFF;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+
+ .details_dj {
+ display: flex;
+ flex-direction: column;
+
+ .details_dj_list {
+ width: 100%;
+ box-sizing: border-box;
+ background: #ffffff;
+ display: flex;
+ flex-direction: column;
+
+ .details_dj_list_item {
+ display: flex;
+ flex-direction: column;
+ border-bottom: 1rpx solid #E5E5E5;
+ padding: 30rpx;
+ line-height: 42rpx;
+
+ span {
+ &:nth-child(1) {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+
+ &:nth-child(2) {
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #999999;
+ }
+ }
+ }
+ }
+
+ .details_dj_title {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 30rpx 30rpx;
+ box-sizing: border-box;
+
+ .details_dj_title_left {
+ display: flex;
+ align-items: center;
+
+ span {
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #222222;
+ }
+ }
+
+ }
+ }
+
+ .contanir {
+ height: calc(env(safe-area-inset-bottom) + 720rpx);
+
+ .content {
+ margin-top: 20rpx;
+
+ .type-style {
+ width: 325rpx;
+ margin-bottom: 20rpx;
+ }
+ }
+ }
+
+ .bottom-view {
+ left: 40rpx;
+ right: 40rpx;
+ bottom: 0
+ }
+
+ .bl_list {
+ width: 100%;
+ height: calc(100% - 168rpx);
+ overflow-y: scroll;
+ margin-top: 30rpx;
+
+ .bl_list_item {
+ width: 100%;
+ height: 96rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border-bottom: 1rPX solid #E5E5E5;
+
+ &:last-child {
+ border: none !important;
+ }
+
+ .bl_list_item_left {
+ flex: 1;
+ display: flex;
+ align-items: center;
+
+ input {
+ width: 30rpx;
+ height: 30rpx;
+ border: 1rpX solid #CCCCCC;
+ margin: 0 !important;
+ }
+
+ span {
+ font-size: 30rpx;
+ color: #222222;
+ margin-left: 10rpx;
+ }
+ }
+
+ .bl_list_item_right {
+ flex: 1;
+ height: 50rpx;
+ text-align: right;
+
+ input {
+ padding-left: 5rpx;
+ width: 160rpx;
+ height: 100%;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ text-align: right;
+ font-size: 28rpx;
+ color: #333333;
+ border-radius: 10rpx;
+ border: 1rPX solid #CCCCCC;
+
+ &::-webkit-input-placeholder {
+ font-size: 28rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999999;
+ }
+ }
+ }
+ }
+ }
+</style>
diff --git a/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue b/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
new file mode 100644
index 0000000..82a4bb2
--- /dev/null
+++ b/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
@@ -0,0 +1,317 @@
+<template>
+ <view class="tl">
+ <workOrderInfo :orederMessage="{proUserList:[]}" />
+ <div class="tl_title">
+ <div class="tl_title_left">
+ <div class="tl_title_left_x"></div>
+ <span>鎶曟枡淇℃伅</span>
+ <!-- <span>{{total == 0 ? '' : total}}{{formList[formList.length - 1].dw ? formList[formList.length - 1].dw : ''}}</span> -->
+ <!-- <span>{{total == 0 ? '' : total}}{{formList[formList.length - 1].dw ? formList[formList.length - 1].dw : ''}}</span> -->
+ </div>
+ <div class="tl_title_right" @click="add">
+ <image src="../../static/gongdan_ic_shoudong@2x.png" class="add-img" mode=""></image>
+ <span>澧炲姞鎶曟枡</span>
+ </div>
+ </div>
+ <u-swipe-action>
+ <u-swipe-action-item v-for="(item, index) in materialList" :key="index" :options="options"
+ @click="deleItem(index)">
+ <div class="tl_list">
+ <div class="tl_list_item" @click="open1(index)">
+ <div class="tl_list_item_label">閫夋嫨鐗╂枡</div>
+ <div class="tl_list_item_go" v-if="!item.materialName">
+ <span>鐐瑰嚮璺宠浆鍒扮墿鏂欏垪琛�</span>
+ <u-icon name="arrow-right"></u-icon>
+ </div>
+ <div class="tl_list_item_wl" v-else>
+ <div class="tl_list_item_wl_top">
+ <span>{{ item.materialName }}</span>
+ <span> | {{ item.materialCode }}</span>
+ </div>
+ <div class="tl_list_item_wl_bottom">
+ <span class="green" v-if="item.qualityType == 0">鍚堟牸</span>
+ <span class="yellow" v-else-if="item.qualityType == 1">涓嶈壇</span>
+ <span class="red" v-else-if="item.qualityType == 2">鎶ュ簾</span>
+ <span>{{ item.procedureName ? ` / ${item.procedureName}` : ' / -' }}</span>
+ <span>{{ item.locationName ? ` / ${item.locationName}` : ' / -' }}</span>
+ <span>{{ item.batch ? ` / ${item.batch}` : ' / -' }}</span>
+ </div>
+ </div>
+ </div>
+ <div class="tl_list_item">
+ <div class="tl_list_item_label">鎶曟枡鏁伴噺{{ item.unitAttribute }}</div>
+ <div class="tl_list_item_go">
+ <input type="text" @blur="changeNumber(item.num, index, item.unitAttribute)"
+ v-model="item.num" />
+ </div>
+ </div>
+ </div>
+ </u-swipe-action-item>
+ </u-swipe-action>
+ <SelectMaterial ref="selectMaterial" />
+ </view>
+</template>
+
+<script>
+ import workOrderInfo from '@/components/workOrderInfo.vue'
+ import SelectMaterial from '@/components/selectMaterial.vue'
+
+ import {
+ positiveInteger,
+ number
+ } from '@/common/config'
+ export default {
+ components: {
+ workOrderInfo,
+ SelectMaterial
+ },
+ data() {
+ return {
+ // formList: [{
+ // id: Date.now(),
+ // toolingTypeId: '', // 宸ヨ绫诲瀷
+ // toolingTypeName: '', // 宸ヨ绫诲瀷鍚嶇О
+ // workClothesId: '', // 宸ヨ
+ // workClothesName: '', // 宸ヨ鍚嶇О
+ // num: '', // 鏁伴噺
+ // attribute: '', // 宸ヨ灞炴��
+ // attributeType: '', // 宸ヨ灞炴�х被鍨�
+ // dw: '', // 鐗╂枡鍗曚綅
+ // unitAttribute: ''
+ // }],
+ materialList: [{
+ id: '',
+ materialName: '',
+ materialCode: '',
+ qualityType: '',
+ procedureName: '',
+ locationName: '',
+ batch: '',
+ num: '',
+ unitAttribute: ''
+ }],
+ options: [{
+ text: '鍒犻櫎',
+ style: {
+ backgroundColor: 'red',
+ }
+ }],
+ };
+ },
+ methods: {
+ open1(index) {
+ this.$refs.selectMaterial.open({})
+ },
+ deleItem(index) {
+ if (this.materialList.length === 1) {
+ uni.$u.toast('鑷冲皯淇濈暀涓�鏉℃姇鏂欎俊鎭�')
+ return
+ }
+ this.materialList.splice(index, 1)
+ },
+ add() {
+ this.total += 1
+ this.materialList.unshift({
+ id: '',
+ materialName: '',
+ materialCode: '',
+ qualityType: '',
+ procedureName: '',
+ locationName: '',
+ batch: '',
+ num: '',
+ unitAttribute: ''
+ })
+ },
+ changeNumber(num, index, unitAttribute) {
+ if (unitAttribute === 0 && num !== '') {
+ if (!positiveInteger.test(num)) {
+ uni.$u.toast({
+ message: '鍙兘杈撳叆姝f暣鏁�'
+ })
+ this.materialList[index].num = ''
+ }
+ } else if (unitAttribute === 1 && num !== '') {
+ if (!number.test(num)) {
+ uni.$u.toast({
+ message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級'
+ })
+ this.materialList[index].num = ''
+ }
+ }
+ if (num <= 0) {
+ uni.$u.toast({
+ message: '鎶曟枡鏁伴噺涓嶈兘灏忎簬绛変簬0'
+ })
+ this.materialList[index].num = ''
+ }
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ .tl {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ background: #F7F7F7;
+
+ .tl_title {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 30rpx;
+
+ .tl_title_left {
+ display: flex;
+ align-items: center;
+
+ .tl_title_left_x {
+ width: 8rpx;
+ height: 30rpx;
+ background: $nav-color;
+ border-radius: 2rpx;
+ margin-right: 12rpx;
+ }
+
+ span {
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #222222;
+
+ &:nth-child(3) {
+ font-size: 28rpx;
+ font-weight: 500;
+ color: $nav-color;
+ margin-left: 10rpx;
+ }
+ }
+ }
+
+ .tl_title_right {
+ display: flex;
+ align-items: center;
+
+ .add-img {
+ width: 28rpx;
+ height: 28rpx;
+ margin-right: 12rpx;
+ }
+
+ span {
+ font-size: 28rpx;
+ font-weight: 400;
+ // color: $nav-color;
+ }
+ }
+ }
+
+ .tl_list {
+ display: flex;
+ flex-direction: column;
+ background: white;
+ padding: 0 30rpx;
+ margin-bottom: 20rpx;
+
+ .tl_list_item {
+ min-height: 98rpx;
+ // padding: 20rpx 0;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border-bottom: 1rpx solid #E5E5E5;
+
+ &:last-child {
+ border: none !important;
+ }
+
+ .tl_list_item_label {
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+
+ .tl_list_item_wl {
+ display: flex;
+ flex-direction: column;
+ align-items: end;
+
+ .tl_list_item_wl_top {
+ display: flex;
+ align-items: center;
+
+ span {
+ font-size: 28rpx;
+ color: #222222;
+ }
+ }
+
+ .tl_list_item_wl_bottom {
+ display: flex;
+ align-items: center;
+
+ span {
+ font-size: 28rpx;
+ color: #222222;
+ }
+ }
+ }
+
+ .tl_list_item_go {
+ display: flex;
+ align-items: center;
+
+ input {
+ text-align: right;
+ width: 180rpx;
+ height: 60rpx;
+ border-radius: 8rpx;
+ border: 1rpx solid #E5E5E5;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #333333;
+ }
+
+ span {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #999999;
+ margin-right: 10rpx;
+ }
+ }
+ }
+ }
+
+ .tl_zw {
+ height: 160rpx;
+ }
+
+ .tl_footer {
+ width: 100%;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ padding: 0 30rpx 68rpx 30rpx;
+ box-sizing: border-box;
+
+ .tl_footer_submit {
+ width: 690rpx;
+ height: 88rpx;
+ border: none;
+ background: #4275FC;
+ box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8rpx;
+ font-size: 30rpx;
+ font-weight: 500;
+ color: #FFFFFF;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+ }
+</style>
diff --git a/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue b/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
new file mode 100644
index 0000000..85ca4fc
--- /dev/null
+++ b/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
@@ -0,0 +1,996 @@
+<template>
+ <view>
+ <view class="tips-label">褰撳墠浠诲姟闇�瑕佽川妫�锛涗骇鍑哄悗锛岃鑰愬績绛夊緟璐ㄦ鍛樻楠岋紝骞舵牴鎹楠岀粨鏋滆皟鏁翠骇鍑烘暟鎹悗鍐嶆姤宸ャ��</view>
+ <workOrderInfo :orederMessage="{proUserList:[]}" />
+ <!-- <u-tabs :list="tab" lineColor="#305ED5" :activeStyle="{color:'#305ED5'}" lineWidth="50%" :itemStyle="{width: '50%', boxSizing: 'border-box', height: '88rpx'}" @click="click"></u-tabs> -->
+ <view class="bg_cate">
+ <view @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'"
+ v-for="(item, index) in cate" :key="index">{{ item.name }}</view>
+ </view>
+ <div class="bg_list" v-if="typeView === 0">
+ <div class="bg_list_item">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x bg_m"></div>
+ <span>鎶曟枡鏄庣粏</span>
+ </div>
+ <div class="bg_list_item_top_right" @click="jumpTL">
+ <!-- v-if="proxy.$auth('h5:workorderinput:create') && (info.bomType !== 1 || info.bomType == 0 || !info.bomType)" -->
+ <!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" /> -->
+ <!-- <img src="@/static/gongdan_ic_shoudong@2x.ong" alt="" /> -->
+ <image src="../../static/gongdan_ic_shoudong@2x.png" class="img28" mode=""></image>
+ <span class="cm">鎵嬪姩褰曞叆</span>
+ </div>
+ </div>
+
+ <template v-if="feedingData && feedingData.length > 0">
+ <u-swipe-action>
+ <u-swipe-action-item v-for="(item, index) in feedingData" :key="index" :options="options"
+ @click="deleItem(item.id, 'T')">
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <!-- <span>{{item.code}}</span> -->
+ <div class="bg_list_item_num_item_wl">
+ <span> {{ item.materialName || '澧欎綋鐮�' }}{{ item.procedureName ? ` | ${item.procedureName}` : ''
+ }}</span>
+ <div class="bg_list_item_num_item_wl_lx">
+ <span class="green" v-if="item.qualityType == 0">鍚堟牸 / </span>
+ <span class="orange" v-if="item.qualityType == 1">涓嶈壇 / </span>
+ <span class="red" v-if="item.qualityType == 2">鎶ュ簾 / </span>
+ <span>{{ item.locationName }}</span>
+ <span>{{ item.batch ? ` / ${item.batch}` : '' }}</span>
+ </div>
+ </div>
+ <div class="bg_list_item_num_item_sr">
+ <!-- :disabled="!proxy.$auth('h5:workorderinput:update')" -->
+ <input v-model="item.num"
+ @blur="change(item.id, item.num, 'T', item.maxNum, item, item.unitAttribute)"
+ type="number" />
+ <span>{{ item.unitName }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </u-swipe-action-item>
+ </u-swipe-action>
+
+ </template>
+ <template v-else>
+ <div class="kong">
+ <span>鏆傛棤鏁版嵁</span>
+ </div>
+ </template>
+ </div>
+ <div class="bg_list_item">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x bg_m"></div>
+ <span>浜у嚭鏄庣粏</span>
+ </div>
+ </div>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>鑹搧鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
+ <div class="bg_list_item_num_item_sr">
+ <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <input type="number" v-model="produceFrom.qualified"
+ @blur="changeCC('0', produceFrom.qualified, produceFrom.qualifiedId)"
+ placeholder="璇疯緭鍏�" />
+ <span v-if="info.umodel">{{ info.umodel.name }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <div class="bg_list_item_num_item">
+ <span>涓嶈壇鏁皗{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
+ <div class="bg_list_item_num_item_sr">
+ <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
+ <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
+ <input type="number" v-model="produceFrom.undesirable"
+ @blur="changeCC('1', produceFrom.undesirable, produceFrom.undesirableId)"
+ placeholder="璇疯緭鍏�" />
+ <span v-if="info.umodel">{{ info.umodel.name }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_h" v-if="produceFrom.undesirable > 0">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item" @click="badShow = true">
+ <span>涓嶈壇椤�</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="wulll" :style="{ color: form.defectiveName ? '#305ED5' : '' }">{{ form.defectiveName ?
+ form.defectiveName : '璁剧疆' }}</span>
+ <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="bg_plan" @click="TimeShow = true">
+ <div class="bg_plan_label">
+ <span>鎶ュ伐鏃堕暱</span>
+ </div>
+ <div class="bg_plan_label_val">
+ <span
+ :style="{ color: form.durationName ? '#333' : '' }">{{ form.durationName ? form.durationName : '璇烽�夋嫨' }}</span>
+ <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
+ </div>
+ </div>
+ <div class="bg_list_item" v-if="arrType && arrType.length > 0">
+ <div class="bg_list_item_top">
+ <div class="bg_list_item_top_left">
+ <div class="bg_list_item_top_left_x bg_m"></div>
+ <span>宸ヨ祫缁╂晥</span>
+ </div>
+ </div>
+ <div class="bg_list_item_h">
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>璁′欢鏂瑰紡</span>
+ <div class="bg_list_item_num_item_list">
+ <div :class="form.index == index ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'"
+ v-for="(item, index) in arrType" :key="index"
+ @click="clickPerformanceType(item, index)">
+ {{ item.name }}
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>宸ヨ祫鍗曚环</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ (arrType[form.index].salary / 10 / 10).toFixed(2) }}鍏�/{{ arrType[form.index].type ==
+ 0 ? '浠�' : '鏃�' }}</span>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>棰勮宸ヨ祫</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ expectedSalary }}鍏�</span>
+ </div>
+ </div>
+ </div>
+ <div class="bg_list_item_num">
+ <div class="bg_list_item_num_item">
+ <span>杈炬爣鐜�</span>
+ <div class="bg_list_item_num_item_sr">
+ <span class="color1">{{ complianceRate }}%</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ <div class="details_dj" v-if="typeView === 1">
+
+ <div class="details_dj_list">
+ <u-swipe-action>
+ <u-swipe-action-item v-for="(item, index) in djData" :key="index" :options="options"
+ @click="dele(item.id)">
+ <div class="details_dj_list_item">
+ <span>{{ item.attrName }}锛歿{ item.val }}</span>
+ <span>{{ item.userName }} {{ item.createTime }}</span>
+ </div>
+ </u-swipe-action-item>
+ </u-swipe-action>
+ </div>
+ </div>
+ <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
+ <template>
+ <div class="bh_zw"></div>
+ <div class="bg_footer bg_f7">
+ <div class="bg_footer_submit bg_m" v-if="typeView == 0" @click="submit">纭鎶ュ伐</div>
+ <!-- proxy.$auth('h5:workorder:processRecord') && -->
+ <div class="bg_footer_submit1" @click="jumpdj" v-if="typeView == 1">
+ <image src="../../../static/gongdan_ic_shoudong@2x.png" class="fornt-img" mode=""></image>
+ <span>鏂板鐐规</span>
+ </div>
+ </div>
+ </template>
+ <u-datetime-picker :show="TimeShow" @cancel="TimeShow=false" @confirm="timeConfirm" v-model="form.time"
+ mode="time"></u-datetime-picker>
+ <u-popup :show="badShow" @close="badShow=false" :round="8" closeable zIndex="20000">
+ <view class="rp p40 contanir">
+ <view class="c2 b tc">涓嶈壇椤�</view>
+ <view class="content bl_list">
+ <div class="bl_list_item" v-for="(item, i) in cateList" :key="i" @click="changeChecked(i)">
+ <div class="bl_list_item_left">
+ <u-checkbox-group>
+ <u-checkbox :key="index" :checked="item.active" :label="item.name"
+ :name="item.name">
+ </u-checkbox>
+ </u-checkbox-group>
+ </div>
+ <div class="bl_list_item_right">
+ <input type="number" @click.stop v-model="item.num" placeholder="0" />
+ </div>
+ </div>
+ </view>
+ <view class="flex ap tc bottom-view">
+ <view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view>
+ </view>
+ </view>
+ </u-popup>
+ </view>
+</template>
+
+<script>
+ import workOrderInfo from '@/components/workOrderInfo.vue'
+ export default {
+ components: {
+ workOrderInfo
+ },
+ data() {
+ return {
+ cate: [{
+ name: '鐢熶骇'
+ },
+ {
+ name: '鐐规'
+ }
+ ],
+ form: {
+ time: '',
+ efective: [],
+ defectiveName: '',
+ durationName: '0灏忔椂0鍒嗛挓',
+ duration: 0,
+ type: 0,
+ index: 0
+ },
+ TimeShow: false,
+ badShow: false,
+ typeView: 0,
+ feedingData: [{
+ id: 0,
+ materialName: '澧欎綋鐮�',
+ procedureName: '鍘嬪埗',
+ qualityType: 1,
+ locationName: 'CP-01',
+ batch: '20230713',
+ num: 2,
+ maxNum: 10,
+ unitAttribute: 1,
+ unitName: '鍧�'
+ }],
+ options: [{
+ text: '鍒犻櫎',
+ style: {
+ backgroundColor: 'red',
+ }
+ }],
+ arrType: [{
+ name: '璁℃椂',
+ type: 1,
+ salary: 1000,
+ },
+ {
+ name: '璁′欢',
+ type: 0,
+ salary: 100
+ },
+ ],
+ // 浜у嚭鍚堟牸/涓嶈壇
+ produceFrom: {
+ qualifiedId: '',
+ qualified: '', // 鍚堟牸
+ undesirableId: '',
+ undesirable: 5 // 涓嶈壇
+ },
+ djData: [{
+ attrName: '鍑烘按鏃堕棿',
+ val: '2022-05-28 16:3',
+ userName: '寮犱笁 ',
+ createTime: '2022-05-28 16:32:'
+ }],
+ cateList: [{
+ active: false,
+ name: '姣涘埡',
+ num: 0
+ }]
+ };
+ },
+ computed: {
+ expectedSalary() {
+ if (this.arrType.length === 0) return 0;
+ // 鎸変欢璁$畻
+ if (this.arrType[this.form.index].type == 0) {
+ if (!this.produceFrom.qualified) return 0
+ if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let total = Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)
+ return (total * (this.arrType[this.form.index].salary / 100)).toFixed(2) || 0
+ } else {
+ return (Number(this.produceFrom.qualified) * (this.arrType[this.form.index].salary / 100)).toFixed(
+ 2) || 0
+ }
+ } else {
+ if (!this.form.duration) return 0;
+ let h = (this.form.duration / 60 / 60).toFixed(2)
+ return (Number(h) * (this.arrType[this.form.index].salary / 10 / 10)).toFixed(2) || 0
+ }
+ },
+ complianceRate() {
+ if (this.arrType.length === 0) return 0;
+ if (!this.produceFrom.qualified && !this.produceFrom.undesirable) return 0;
+ if (!this.form.duration) return 0;
+ if (!this.arrType[this.form.index].num) return 0;
+ // 鎸変欢璁$畻
+ // if (infoBox.value.type == 0) {
+ if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+ let a = ((Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) / (this.form
+ .duration / 3600)).toFixed(2)
+ let b = (this.arrType[this.form.index].num / (this.arrType[form.index].times / 3600)).toFixed(2)
+ return ((Number(a) / Number(b)) * 100).toFixed(2)
+ // let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
+ // return total * infoBox.value.salary;
+ } else {
+ let a = (this.produceFrom.qualified / (this.form.duration / 3600)).toFixed(2)
+ let b = (this.arrType[this.form.index].num / (this.arrType[this.form.index].times / 3600)).toFixed(2)
+ return ((Number(a) / Number(b)) * 100).toFixed(2)
+ // return Number(from.qualified) * infoBox.value.salary;
+ }
+ }
+ },
+ methods: {
+ click() {
+
+ },
+ clickIten(index) {
+ this.typeView = index
+ },
+ timeConfirm({
+ value
+ }) {
+ console.log(value)
+ let h = Number(value.substring(0, 2))
+ let m = Number(value.substring(3, 5))
+ let s = 0
+ if (h > 0) {
+ s += h * 60 * 60
+ }
+ if (m > 0) {
+ s += m * 60
+ }
+ this.form.duration = s
+ this.form.durationName = `${h}灏忔椂${m}鍒嗛挓`
+ this.TimeShow = false
+ },
+ // 缂栬緫鎶曟枡/浜у嚭
+ change(id, num, type, maxNum, item, unitAttribute) {
+ let obj = item
+ if (type === 'T') {
+ if (unitAttribute == 0 && num != '') {
+ if (!REGULAR.positiveInteger.test(num)) {
+ obj.num = obj.ynum
+ Toast({
+ message: '鍙兘杈撳叆姝f暣鏁�'
+ })
+ return
+ }
+ }
+ if (unitAttribute == 1 && num != '') {
+ if (!REGULAR.number.test(num)) {
+ Toast({
+ message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級'
+ })
+ obj.num = obj.ynum
+ return
+ }
+ }
+ if (num > maxNum) {
+ obj.num = obj.ynum
+ Toast.fail({
+ message: '瓒呭嚭宸ヨ鎬绘暟'
+ })
+ return
+ }
+ } else if (type === 'C' && num > info.value.planNum) {
+ obj.num = obj.ynum
+ Toast.fail({
+ message: '浜у嚭鏁伴噺涓嶈兘瓒呰繃璁″垝鏁伴噺'
+ })
+ return
+ }
+ // updateById({ id, num }).then(res => {
+ // if (res.code === 200 && type === 'T') {
+ // getOrocessRecords()
+ // } else if (res.code === 200 && type === 'C') {
+ // // getOrocessRecordCC()
+ // }
+ // })
+ },
+ clickPerformanceType(item, index) {
+ this.form.index = index
+ this.form.type = item.type
+ },
+ submit() {},
+ jumpdj() {},
+ pageDJs() {},
+ dele(id) {
+ // deletedj(id)
+ // .then(res => {
+ // if (res.code === 200) {
+ // djData.value = []
+ // finished.value = false
+ // page.page = 1
+ // djData.value = []
+ // pageDJs()
+ // }
+ // })
+ },
+ confirm() {
+ // console.log('confirm');
+ this.badShow = false
+ },
+ changeChecked(i) {
+ this.cateList[i].active = !this.cateList[i].active
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .bg_cate {
+ width: 100%;
+ height: 88rpx;
+ background: #FFFFFF;
+ display: flex;
+ align-items: center;
+
+ .active {
+ box-sizing: border-box;
+ color: #305ED5 !important;
+ font-weight: 500;
+ border-bottom: 3rpx solid #305ED5;
+ }
+
+ .bg_cate_item {
+ flex: 1;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #555555;
+ }
+ }
+
+ .bg_list {
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ margin-top: 30rpx;
+
+ .bg_list_item {
+ display: flex;
+ flex-direction: column;
+ // margin-bottom: 40rpx;
+ border-bottom: 40rpx #f7f7f7 solid;
+
+ .kong {
+ text-align: center;
+ padding: 30rpx 0;
+ background: #ffffff;
+ font-size: 25rpx;
+
+ span {
+ color: #474747;
+ }
+ }
+
+ .bg_list_item_top {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding-left: 30rpx;
+ padding-right: 30rpx;
+ margin-bottom: 30rpx;
+
+ .bg_list_item_top_left {
+ display: flex;
+ align-items: center;
+
+ .left {
+ margin-left: 12rpx;
+ font-size: 28rpx;
+ }
+
+ .warning {
+ width: 8rpx;
+ height: 30rpx;
+ border-radius: 2rpx;
+ margin-right: 12rpx;
+ // background: $nav-stateColor5 !important;
+ }
+
+ .error {
+ width: 8rpx;
+ height: 30rpx;
+ border-radius: 2rpx;
+ margin-right: 12rpx;
+ // background: $nav-stateColor4 !important;
+ }
+
+ .bg_list_item_top_left_x {
+ width: 8rpx;
+ height: 30rpx;
+ // background: $nav-color;
+ border-radius: 2rpx;
+ margin-right: 12rpx;
+ }
+
+ span {
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #222222;
+ display: flex;
+ align-items: center;
+ }
+ }
+
+ .bg_list_item_top_right {
+ display: flex;
+ align-items: center;
+
+ image {
+ width: 28rpx;
+ height: 28rpx;
+ margin-right: 12rpx;
+ }
+
+ span {
+ font-size: 28rpx;
+ font-weight: 400;
+ }
+ }
+ }
+
+ .bg_list_item_h {
+ width: 100%;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ background: white;
+
+ .bg_list_item_num {
+ width: 100%;
+ min-height: 98rpx;
+ background: white;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-bottom: 1rpx solid #E5E5E5;
+
+ &:last-child {
+ border: none !important;
+ }
+
+ .kong {
+ text-align: center;
+ font-size: 25rpx;
+ padding: 30rpx 0;
+ background: #ffffff;
+ }
+
+ .bg_list_item_num_item {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ // height: 118rpx;
+ padding: 15rpx 0;
+ box-sizing: border-box;
+ justify-content: space-between;
+ border-bottom: 1rpx solid #E5E5E5;
+
+ &:last-child {
+ border: none;
+ }
+
+ .bg_list_item_num_item_list {
+ display: flex;
+ align-items: center;
+
+ .active {
+ background: #305ED5 !important;
+ color: #FFFFFF !important;
+ }
+
+ .bg_list_item_num_item_list_item {
+ width: 116rpx;
+ height: 62rpx;
+ line-height: 62rpx;
+ text-align: center;
+ background: #F2F2F2;
+ border-radius: 8rpx;
+ font-size: 26rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #333333;
+ margin-right: 20rpx;
+
+ &:last-child {
+ margin: 0 !important;
+ }
+ }
+ }
+
+ .bg_list_item_num_item_wl {
+ flex-shrink: 0;
+ display: flex;
+ flex-direction: column;
+ font-size: 34rpx;
+ color: #222222;
+
+ .bg_list_item_num_item_wl_lx {
+ margin-top: 10rpx;
+ color: #222222;
+ font-size: 28rpx;
+ }
+ }
+
+ // .warning {
+ // color: $nav-stateColor5 !important;
+ // }
+
+ // .err {
+ // color: $nav-stateColor4 !important;
+ // }
+
+ img {
+ width: 12rpx;
+ height: 24rpx;
+ margin-left: 20rpx;
+ }
+
+ span {
+ flex-shrink: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+
+ b {
+ font-size: 30rpx;
+ color: red;
+ margin-right: 5rpx;
+ }
+
+ // .warning {
+ // color: $nav-stateColor5 !important;
+ // margin-right: 5rpx;
+ // }
+
+ // .err {
+ // color: $nav-stateColor4 !important;
+ // margin-right: 5rpx;
+ // }
+
+ &:nth-child(1) {
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+
+ &:nth-child(2) {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #333333;
+ flex-shrink: 0;
+ }
+ }
+
+ .bg_list_item_num_item_sr {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+
+ .color1 {
+ font-size: 28rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #333333;
+ }
+
+ input::-webkit-input-placeholder {
+ font-size: 28rpx;
+ }
+
+ input {
+ text-align: right;
+ width: 180rpx;
+ height: 60rpx;
+ border-radius: 8rpx;
+ border: 1rpx solid #E5E5E5;
+ margin-right: 20rpx;
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #333333;
+ padding: 0 30rpx
+ }
+
+ .wulll {
+ width: 400rpx;
+ text-align: right;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+
+ span {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #999999;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .bg_plan {
+ width: 100%;
+ // height: 98px;
+ padding: 30rpx;
+ box-sizing: border-box;
+ background: #FFFFFF;
+ margin-bottom: 40rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ span {
+ font-size: 30rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #222222;
+
+ b {
+ color: red;
+ }
+ }
+
+ .bg_plan_nr {
+ display: flex;
+ flex-direction: column;
+
+ span {
+ font-size: 24rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #666666;
+ margin-top: 20rpx;
+
+ &:first-child {
+ font-size: 32rpx;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 500;
+ color: #333333;
+ margin-top: 0 !important;
+ }
+ }
+ }
+
+ .bg_plan_label_val {
+ display: flex;
+ align-items: center;
+
+ span {
+ font-size: 28rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999999;
+ }
+
+
+ }
+ }
+
+ .img_ar {
+ width: 12rpx;
+ height: 24rpx;
+ margin-left: 20rpx;
+ }
+
+ .bh_zw {
+ height: 160rpx;
+ }
+
+ .bg_footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ padding: 30rpx 30rpx 60rpx 30rpx;
+ box-sizing: border-box;
+
+ .bg_footer_submit1 {
+ width: 690rpx;
+ height: 76rpx;
+ background: #FFFFFF;
+ border-radius: 36rpx;
+ border: 1rpx solid #E5E5E5;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ .fornt-img {
+ width: 28rpx;
+ height: 28rpx;
+ margin-right: 12rpx;
+ }
+
+ span {
+ font-size: 26rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #305ED5;
+ }
+ }
+
+ .bg_footer_submit {
+ width: 690rpx;
+ height: 88rpx;
+ box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
+ border-radius: 8rpx;
+ font-size: 30rpx;
+ font-weight: 500;
+ color: #FFFFFF;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+
+ .details_dj {
+ display: flex;
+ flex-direction: column;
+
+ .details_dj_list {
+ width: 100%;
+ box-sizing: border-box;
+ background: #ffffff;
+ display: flex;
+ flex-direction: column;
+
+ .details_dj_list_item {
+ display: flex;
+ flex-direction: column;
+ border-bottom: 1rpx solid #E5E5E5;
+ padding: 30rpx;
+ line-height: 42rpx;
+
+ span {
+ &:nth-child(1) {
+ font-size: 28rpx;
+ font-weight: 400;
+ color: #222222;
+ }
+
+ &:nth-child(2) {
+ font-size: 24rpx;
+ font-weight: 400;
+ color: #999999;
+ }
+ }
+ }
+ }
+
+ .details_dj_title {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 30rpx 30rpx;
+ box-sizing: border-box;
+
+ .details_dj_title_left {
+ display: flex;
+ align-items: center;
+
+ span {
+ font-size: 32rpx;
+ font-weight: 500;
+ color: #222222;
+ }
+ }
+
+ }
+ }
+
+ .contanir {
+ height: calc(env(safe-area-inset-bottom) + 720rpx);
+
+ .content {
+ margin-top: 20rpx;
+
+ .type-style {
+ width: 325rpx;
+ margin-bottom: 20rpx;
+ }
+ }
+ }
+
+ .bottom-view {
+ left: 40rpx;
+ right: 40rpx;
+ bottom: 0
+ }
+
+ .bl_list {
+ width: 100%;
+ height: calc(100% - 168rpx);
+ overflow-y: scroll;
+ margin-top: 30rpx;
+
+ .bl_list_item {
+ width: 100%;
+ height: 96rpx;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ border-bottom: 1rPX solid #E5E5E5;
+
+ &:last-child {
+ border: none !important;
+ }
+
+ .bl_list_item_left {
+ flex: 1;
+ display: flex;
+ align-items: center;
+
+ input {
+ width: 30rpx;
+ height: 30rpx;
+ border: 1rpX solid #CCCCCC;
+ margin: 0 !important;
+ }
+
+ span {
+ font-size: 30rpx;
+ color: #222222;
+ margin-left: 10rpx;
+ }
+ }
+
+ .bl_list_item_right {
+ flex: 1;
+ height: 50rpx;
+ text-align: right;
+
+ input {
+ padding-left: 5rpx;
+ width: 160rpx;
+ height: 100%;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ text-align: right;
+ font-size: 28rpx;
+ color: #333333;
+ border-radius: 10rpx;
+ border: 1rPX solid #CCCCCC;
+
+ &::-webkit-input-placeholder {
+ font-size: 28rpx;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999999;
+ }
+ }
+ }
+ }
+ }
+</style>
diff --git a/minipro_standard/static/ic_edit@2x.png b/minipro_standard/static/ic_edit@2x.png
new file mode 100644
index 0000000..d7048cf
--- /dev/null
+++ b/minipro_standard/static/ic_edit@2x.png
Binary files differ
diff --git a/minipro_standard/util/request/index.js b/minipro_standard/util/request/index.js
index 8cc78b7..eb2f57a 100644
--- a/minipro_standard/util/request/index.js
+++ b/minipro_standard/util/request/index.js
@@ -1,13 +1,13 @@
// 寮曞叆閰嶇疆
-import config from '@/common/config'
+import { baseUrl } from '@/common/config'
// 鍒濆鍖栬姹傞厤缃�
uni.$u.http.setConfig((defaultConfig) => {
/* defaultConfig 涓洪粯璁ゅ叏灞�閰嶇疆 */
- defaultConfig.baseURL = config.baseUrl /* 鏍瑰煙鍚� */
- config.header = {
+ defaultConfig.baseURL = baseUrl /* 鏍瑰煙鍚� */
+ defaultConfig.header = {
'content-type': 'application/x-www-form-urlencoded;charset=utf-8',
}
- config.dataType = 'json'
+ defaultConfig.dataType = 'json'
return defaultConfig
})
--
Gitblit v1.9.3