From 6215c8a4bd76c888328dd6695013bf09d20bd026 Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期六, 02 八月 2025 07:44:53 +0800 Subject: [PATCH] 调整报工详细页面字体大小 --- pages/product/report/index.vue | 215 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 173 insertions(+), 42 deletions(-) diff --git a/pages/product/report/index.vue b/pages/product/report/index.vue index ad3137a..9cc7a83 100644 --- a/pages/product/report/index.vue +++ b/pages/product/report/index.vue @@ -8,13 +8,13 @@ :rules="rules" :error-type="['toast']" > - <u-form-item label="杞﹂棿" :border-bottom="false" prop="work"> + <u-form-item label="杞﹂棿" :border-bottom="false" prop="work" style="font-size:small"> <u-radio-group v-model="form.work" :disabled="subdisabled"> - <u-radio name="dt">瀵间綋</u-radio> - <u-radio name="tg">閾滄潌</u-radio> + <u-radio name="dt"><span style="font-size:small">瀵间綋</span></u-radio> + <u-radio name="tg"><span style="fongt-size:small">閾滄潌</span></u-radio> </u-radio-group> </u-form-item> - <u-form-item label="鎶ュ伐鍗曞彿" :border-bottom="false" prop="taskNo"> + <u-form-item label="鎶ュ伐鍗曞彿" :border-bottom="false" prop="taskNo" style="font-size:small"> <u-input v-model="form.taskNo" type="select" @@ -22,14 +22,14 @@ @click="open" /> </u-form-item> - <u-form-item label="宸ュ簭" :border-bottom="false" prop="name"> + <u-form-item label="宸ュ簭" :border-bottom="false" prop="name" style="font-size:small"> <u-input v-model="form.name" type="select" placeholder="璇锋壂鎻忔姤宸ュ崟鍙�" /> </u-form-item> - <u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="moOn"> + <u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="moOn" style="font-size:small"> <u-input v-model="form.moOn" type="select" @@ -37,64 +37,61 @@ @click="openList" /> </u-form-item> - <u-form-item label="闆朵欢鍙�" :border-bottom="false" prop="partNo"> + <u-form-item label="闆朵欢鍙�" :border-bottom="false" prop="partNo" style="font-size:small"> <u-input v-model="form.partNo" placeholder="" disabled /> </u-form-item> - <u-form-item label="闆朵欢鎻忚堪" :border-bottom="false" prop="partName"> + <u-form-item label="闆朵欢鎻忚堪" :border-bottom="false" prop="partName" style="font-size:small"> <u-input v-model="form.partName" placeholder="" disabled /> </u-form-item> - <u-form-item label="鎵归噺澶у皬" :border-bottom="false" prop="qtyRequired"> + <u-form-item label="鎵归噺澶у皬" :border-bottom="false" prop="qtyRequired" style="font-size:small"> <u-input v-model="form.qtyRequired" placeholder="" disabled /> </u-form-item> <u-form-item label="鍓╀綑鏁伴噺" :border-bottom="false" prop="Jianqtyfinished" + style="font-size:small" > <u-input v-model="form.Jianqtyfinished" placeholder="" disabled /> </u-form-item> - <u-form-item label="搴撲綅" :border-bottom="false" prop="proposedLocation"> + <u-form-item label="搴撲綅" :border-bottom="false" prop="proposedLocation" style="font-size:small"> <u-input v-model="form.proposedLocation" placeholder="" disabled /> </u-form-item> - <u-form-item label="鎶ュ伐绫诲瀷" prop="productType"> + <u-form-item label="鎶ュ伐绫诲瀷" label-width="90px" prop="productType" style="font-size:small"> <u-radio-group v-model="form.productType" :disabled="subdisabled"> - <u-radio name="dep">涓嬫満鎶ュ伐</u-radio> - <u-radio name="ndep">鏈笅鏈烘姤宸�</u-radio> + <u-radio name="dep"><span style="font-size:small">涓嬫満鎶ュ伐</span></u-radio> + <u-radio name="ndep"><span style="font-size:small">鏈笅鏈烘姤宸�</span></u-radio> </u-radio-group> </u-form-item> - <u-form-item label="鎺ユ敹闆朵欢" prop="receive"> + <u-form-item label="鎺ユ敹闆朵欢" label-width="90px" prop="receive" style="font-size:small"> <u-radio-group v-model="form.receive" :disabled="subdisabled"> - <u-radio name="mo">杞﹂棿璁㈠崟</u-radio> - <u-radio name="part">鏇夸唬闆朵欢</u-radio> + <u-radio name="mo"><span style="font-size:small">杞﹂棿璁㈠崟</span></u-radio> + <u-radio name="part"><span style="font-size:small">鏇夸唬闆朵欢</span></u-radio> </u-radio-group> </u-form-item> - <u-form-item label="鐗╂枡" prop="materialCost"> + <u-form-item label="鐗╂枡" label-width="90px" prop="materialCost" style="font-size:small"> <u-radio-group v-model="form.materialCost" :disabled="true"> - <u-radio name="鍊掑啿">鍊掑啿</u-radio> - <u-radio name="鎶曟枡">鎶曟枡</u-radio> + <u-radio name="鍊掑啿"><span style="font-size:small">鍊掑啿</span></u-radio> + <u-radio name="鎶曟枡"><span style="font-size:small">鎶曟枡</span></u-radio> </u-radio-group> </u-form-item> - <u-form-item label="绠�鍖栫墿鏂欐鏌�" prop="simplifyMaterials"> + <u-form-item label="绠�鍖栫墿鏂欐鏌�" label-width="90px" prop="simplifyMaterials" style="font-size:small"> <u-radio-group v-model="form.simplifyMaterials" :disabled="subdisabled || simplifyDisabled" @change="radioChange"> - <u-radio name="true">鏄�</u-radio> - <u-radio name="false">鍚�</u-radio> + <u-radio name="true"><span style="font-size:small">鏄�</span></u-radio> + <u-radio name="false"><span style="font-size:small">鍚�</span></u-radio> </u-radio-group> </u-form-item> -<!-- <u-form-item label="宸ュ簭"> - <u-checkbox-group> - <u-checkbox - :name="item.name" - v-for="(item, index) in checkboxList" - :key="index" - v-model="item.value" - @change="changeCheckbox" - :disabled="subdisabled || item.disabled" - > - {{ item.name }} - </u-checkbox> - </u-checkbox-group> - </u-form-item> --> - <u-form-item label="浜у嚭鍒楄〃" :border-bottom="false"></u-form-item> + <u-form-item label="鎶ュ伐鏂瑰紡" label-width="90px" prop="status" style="font-size:small"> + <u-radio-group v-model="form.status" :disabled="subdisabled" @change="handleReportTypeChange"> + <u-radio name="false"><span style="font-size:small">鎸夌彮缁勬姤宸�</span></u-radio> + <u-radio name="true"><span style="font-size:small">鎸変汉鍛樻姤宸�</span></u-radio> + </u-radio-group> + </u-form-item> + <u-form-item label="浜哄憳鍚嶇О" label-width="90px" :border-bottom="false" prop="Persons" style="font-size:small"> + <u-input v-model="form.Persons" type="select" placeholder="璇烽�夋嫨" + @click="openselectedPersons" :disabled="!canSelectPerson || subdisabled"/> + </u-form-item> + <u-form-item label="浜у嚭鍒楄〃" :border-bottom="false" style="font-size:small"></u-form-item> </u-form> <view class="wrap"> <scroll-view class="packing-registration-scroll-list" scroll-y="true"> @@ -110,7 +107,7 @@ @click="cancelReport(item)" > <view class="content-header"> - <view class="content-header-title">{{ index + 1 }}</view> + <view class="content-header-title" style="font-size:small">{{ index + 1 }}</view> </view> <view class="content-body"> <view class="row-list"> @@ -149,12 +146,14 @@ label="鎶ュ伐鍗曞彿" placeholder="璇疯緭鍏�" :border-bottom="false" + style="font-size:small" > </u-field> </modalBg> <saveForm ref="saveForm" :operationTaskList="this.form" + :dutyId="dutyId" @update="handleUpdate" /> <u-modal @@ -205,6 +204,21 @@ </view> </view> </u-modal> + <u-modal v-model="personShowModal" title="" :show-cancel-button="true" :show-confirm-button="true" + @confirm="confirmSelection" @cancel="cancelSelection"> + <view class="popup-content"> + <scroll-view scroll-y="true" style="height: 100%; transform: translateZ(0); -webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;"> + <view class="popup-header"> + <checkbox-group @change="checkboxChange"> + <label class="checkbox-item" v-for="(item, index) in selectedPersons" :key="index"> + <checkbox :value="item.staffId" :checked="item.checked" /> + <text class="label">{{ item.staffName }}</text> + </label> + </checkbox-group> + </view> + </scroll-view> + </view> + </u-modal> <scan></scan> </div> </template> @@ -235,6 +249,7 @@ // }, // ], InventoryReceiptList: [], + selectedPersons: [], form: { workstationId: "", work: "", @@ -251,7 +266,13 @@ materialCost: "", // autoReport: false, simplifyMaterials: 'false', + status: 'false', + Persons: '', + productStaffIds: [], + productStaffs:[] }, + personList: [], + canSelectPerson: false, rules: { work: [ { @@ -295,6 +316,20 @@ trigger: ["change"], }, ], + status: [ + { + required: true, + message: "璇烽�夋嫨鎶ュ伐鏂瑰紡", + trigger: ["change"], + }, + ], + Persons: [ + { + required: true, + message: "璇烽�夋嫨浜哄憳", + trigger: ["change"], + }, + ], }, showSave: false, operationTaskId: "", @@ -302,6 +337,8 @@ codeInfoId: "", detailedList: {}, showModal: false, + personShowModal: false, + checkboxList: [], }; }, // 鐐瑰嚮鎻愪氦鎸夐挳鐨勪簨浠跺鐞嗗嚱鏁� @@ -354,11 +391,72 @@ watch: { "form.taskNo": function (newVal, oldVal) { this.subdisabled = false; - this.checkboxList[1].value = false; - this.checkboxList[0].value = false; }, + 'form.status'(newVal) { + this.selectedPersons = this.selectedPersons.map(item => ({ + ...item, + checked: newVal === 'false' + })); + } }, methods: { + // 澶勭悊鎶ュ伐鏂瑰紡鍙樻洿 + handleReportTypeChange() { + // 鍒囨崲鎶ュ伐鏂瑰紡鏃舵竻绌轰汉鍛樺悕绉� + this.form.Persons = ''; + this.form.productStaffs = []; + this.form.productStaffIds = []; + }, + // 浜哄憳鍚嶇О + openselectedPersons() { + this.personShowModal = true; + }, + // 澶嶉�夋鍙樺寲浜嬩欢 + checkboxChange(e) { + console.log('e',e) + const values = e.target.value || []; + if (this.form.status === 'true') { + // 鍗曢�夋ā寮忥紝鍙厑璁搁�夋嫨涓�涓汉 + const previouslySelected = this.selectedPersons.find(item => item.checked); + const newlySelected = values.length > 0 ? values[values.length - 1] : null; + if (previouslySelected && newlySelected && previouslySelected.staffId !== newlySelected) { + // 宸叉湁閫変腑椤逛笖閫夋嫨浜嗘柊鐨勯」锛屾彁绀哄彧鑳介�夋嫨涓�涓汉 + this.$u.toast('鎸変汉鍛樻姤宸ユ椂鍙兘閫夋嫨涓�浣嶄汉鍛�'); + // 淇濇寔鍘熼�夋嫨 + this.selectedPersons = this.selectedPersons.map(item => ({ + ...item, + checked: item.staffId === previouslySelected.staffId + })); + + } else { + // 棣栨閫夋嫨鎴栧彇娑堥�夋嫨 + this.selectedPersons = this.selectedPersons.map(item => ({ + ...item, + checked: newlySelected ? item.staffId === newlySelected : false + })); + + } + } else { + // 澶氶�夋ā寮� + this.selectedPersons = this.selectedPersons.map(item => ({ + ...item, + checked: values.includes(item.staffId) + })); + } + }, + // 纭閫夋嫨 + confirmSelection() { + const selected = this.selectedPersons.filter(item => item.checked); + // 鏍规嵁鎶ュ伐鏂瑰紡璁剧疆浜哄憳鍚嶇О + if (this.form.status === 'true' && selected.length > 0) { + this.form.Persons = selected[0].staffName; + } else { + this.form.Persons = selected.map(item => item.staffName).join(','); + } + this.form.productStaffs = selected.map(item => item.staffNo); + this.form.productStaffIds = selected.map(item => item.staffId); + }, + cancelSelection(){}, // 閾滄潌鎶ュ伐 CopperReportingWork(val) { const copperList = {}; @@ -370,6 +468,10 @@ copperList.specificationType = val.ST copperList.grossWeight = val.TR copperList.operationTaskId = this.form.id + copperList.status = this.form.status; + copperList.Persons = this.form.Persons; + copperList.productStaffIds = this.form.productStaffIds; + copperList.productStaffs = this.form.productStaffs; this.form.productOutputList = []; this.form.operationTaskId = this.form.id; this.form.productOutputList.push(copperList); @@ -381,12 +483,36 @@ }); }, // 鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰� + radioChange() { + // 澶勭悊鍗曢�夋鍙樺寲浜嬩欢 + }, + // 鑾峰彇浜哄憳鍒楄〃 + getPersonList(dutyId) { + console.log('111111') + try { + this.$u.api.workReporting.getPersonByDutyRecordId({ id: dutyId }).then((res) => { + this.selectedPersons = res.data.map(item => ({ + ...item, + checked: this.form.status === 'false' + })); + }) + .catch(err => { + console.log(err) + }) + } catch (err) { + console.log(err) + + } + + }, + confirmModle() { console.log("鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰�"); // 澶勭悊纭閫昏緫 this.$u.api.cancelReporting .cancelDTAOfWorkApplication({ outBatchNo: this.detailedList.outBatchNo, + outputId: this.detailedList.id }) .then((res) => { console.log("res", res); @@ -480,12 +606,17 @@ materialCost: val.materialCost, // autoReport: false, simplifyMaterials: 'false', + status: 'false', + Persons:'', }; - this.checkboxList[1].value = false; - this.checkboxList[0].value = false; if (this.form.materialCost == "鍊掑啿") { this.simplifyDisabled = true; } + // 濡傛灉鏈塪utyNo锛岃幏鍙栦汉鍛樺垪琛� + if (val.dutyId) { + this.dutyId = val.dutyId; + this.getPersonList(val.dutyId); + } }, }, }; -- Gitblit v1.9.3