From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期三, 28 五月 2025 16:48:52 +0800 Subject: [PATCH] 初始化项目 --- pages/daily/common/work-reporting-detail.vue | 710 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 710 insertions(+), 0 deletions(-) diff --git a/pages/daily/common/work-reporting-detail.vue b/pages/daily/common/work-reporting-detail.vue new file mode 100644 index 0000000..606eb74 --- /dev/null +++ b/pages/daily/common/work-reporting-detail.vue @@ -0,0 +1,710 @@ +<template> + <view class="work-reporting"> + <u-navbar title="鎶ュ伐璇︽儏" :border-bottom="false" :background="background" :title-size="40" :title-bold="true" + title-color="#FFFFFF" back-icon-color="#fff"> + <view class="navbar-right" slot="right" @click="searchDevice"> + 鎼滅储璁惧 + </view> + </u-navbar> + <scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y"> + <view class="form"> + <h3 class="form-title">鎶ュ伐淇℃伅</h3> + <u-icon class="icon_report" size="170rpx" /> + <u-form :model="form" ref="uForm"> + <!--鍙版暟--> + <u-form-item label="鍙版暟" prop="qty" required :label-width="180"> + <u-input v-model="form.qty" placeholder="璇疯緭鍏�" /> + </u-form-item> + <!--浜у嚭绫诲埆--> + <u-form-item label="浜у嚭绫诲埆" prop="outputCategoryLabel" required :label-width="180"> + <u-input v-model="form.outputCategoryLabel" placeholder="璇烽�夋嫨" /> + </u-form-item> + <!--鐗囧--> + <u-form-item label="鐗囧" prop="sliceWidth" required + :label-width="180"> + <u-input v-model="form.sliceWidth" placeholder="璇烽�夋嫨" /> + </u-form-item> + <!--鐗囨枡鏁伴噺--> + <u-form-item label="鐗囨枡鏁伴噺" prop="sliceQty" required :label-width="180"> + <u-input v-model="form.sliceQty" placeholder="璇疯緭鍏�" /> + </u-form-item> + </u-form> + </view> + <view class="scan-code-feeding"> + <h3 class="form-title">鎵爜鎶曟枡</h3> + <view class="infoform" v-for="(item,index) in infoFormList" :key="'item'+index"> + <p> + <u-icon class="icon_zl" size="24rpx" /> + <span style="margin-right: 18rpx">鍓╀綑閲嶉噺:</span> + <u-input :border="true" v-model="item.qtyRequired" label="鍓╀綑閲嶉噺" + style="width: 450rpx;height: 56rpx;display: inline-flex;background: #F6FAFF;border-radius: 8rpx;border: 1px solid #214DED;align-items: center;"></u-input> + </p> + <p> + <u-icon class="icon_7" size="24rpx" /> + <span>鎵规鍙�:{{item.lotBatchNo}}</span> + </p> + <p> + <u-icon class="icon_6" size="24rpx" /> + <span>闆朵欢鍚嶇О锛歿{item.partName}}</span> + </p> + <u-divider :use-slot="false" half-width="640"></u-divider> + <view class="buttonFlex"> + <button class="primary-button" type="primary" + plain="true" @click="printQrCode(item)"> + <u-icon class="icon_dy" size="32rpx" /> + 鏍囩鎵撳嵃 + </button> + </view> + </view> + </view> + </scroll-view> + <u-toast ref="uToast" /> + <view v-if="maskShow" class="uni-mask" @touchmove.stop.prevent="moveHandle" @click="maskclose"> + <scroll-view class="uni-scroll_box" scroll-y @touchmove.stop.prevent="moveHandle" @click.stop="moveHandle"> + <view class="uni-list-box" v-for="(item, index) in listDevice" :key="index" @click="tapQuery(item)"> + <view> + <view class="uni-list_name">鍚嶇О锛歿{ item.name }}</view> + <view class="uni-list_item">UUID:{{ item.address }}</view> + </view> + </view> + </scroll-view> + </view> + </view> +</template> + +<script> + import UIcon from "../../../uview-ui/components/u-icon/u-icon.vue"; + import { + dateFormat + } from "../../../utils/date" + + const jcapi = uni.requireNativePlugin("JCSDK-JCApiModule"); + + // 浜岀淮鐮佺被鍨� + const QrCodeType = { + QrCode: 31, + PDF417: 32, + DataMatrix: 33, + AZTEC: 34 + } + // 绾挎潯绫诲瀷 + const LineType = { + Solid: 1, // 瀹炵嚎 + Dotted: 2, // 铏氱嚎锛堥粯璁よ櫄瀹�1:1鐩搁棿锛� + } + // 鎹㈣鏂瑰紡 + const LineModeType = { + Justified: 1, // 瀹介珮鍥哄畾锛屽唴瀹硅嚜閫傚簲锛堝瓧鍙�/瀛楅棿璺�/琛岄棿璺濇寜姣斾緥缂╂斁锛� + AutoHeight: 2, // 瀹藉害鍥哄畾锛岄珮搴﹁嚜閫傚簲 + Fixed: 4, // 瀹介珮鍥哄畾锛岃秴鍑洪儴鍒嗚鍓� + Adapt: 6, // 瀹介珮鍥哄畾锛屽唴瀹硅秴杩囨椂棰勮瀹介珮鑷姩缂╁皬 + } + + export default { + name: "work-reporting", + // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� + components: { + UIcon + }, + data() { + // 杩欓噷瀛樻斁鏁版嵁 + return { + background: { + backgroundColor: '#214DED', + }, + scrollTop: 0, + form: { + clazzType: '', // 鐝 + dutyNo: '', // 鐝缂栧彿 + locationId: '', // 搴撲綅id + operationTaskId: '', // 宸ュ崟id + reportTime: '', // 鎻愪氦鏃堕棿 + labelNo: '', // 鏉$爜缂栧彿 + qty: '', // 鍙版暟 + drawNo: '', // 鍥惧彿 + finishQty: '', // 瀹屾垚鏁伴噺 + identifyingQr: '', // 绾垮湀杞﹂棿-杩囪处-鎵爜缁撴灉 + type: '', // 绫诲瀷閫夋嫨鍣細value + typeLabel: '', // 绫诲瀷閫夋嫨鍣細label + operationType: '', // 宸ュ簭绫诲瀷閫夋嫨鍣細value + operationTypeLabel: '', // 宸ュ簭绫诲瀷閫夋嫨鍣細label + outputCategory: '', // 浜у嚭绫诲埆锛歷alue + outputCategoryLabel: '', // 浜у嚭绫诲埆锛歭abel + length: '', // 闀垮害, + siliconSteelCode: '', // 鎵爜鑾峰彇鍘傚淇℃伅鏉ユ枡妫�淇℃伅 + sliceWidth: '', // 鐗囧 + sliceQty: '', // 鐗囨枡鏁伴噺 + clampOtherWeight: '', // 澶逛欢鍙婂叾浠栭噸閲� + }, + num: '', + rules: { + labelNo: [{ + required: true, + message: '璇烽�夋嫨鎵爜鎴栬緭鍏ョ紪鍙�', + trigger: ['blur'], + }], + typeLabel: [ // 绫诲瀷 + { + required: true, + message: '璇烽�夋嫨绫诲瀷', + trigger: ['change'], + } + ], + qty: [ // 鍙版暟 + { + required: true, + message: '璇峰~鍐欏彴鏁�', + trigger: ['blur'], + }, + // 姝e垯鍒ゆ柇鍙兘涓烘暟瀛� + { + validator: (rule, value, callback) => { + return this.$u.test.number(value); + }, + message: '鍙兘涓烘暟鍊�', + trigger: ['blur'], + }, + ], + operationTypeLabel: [ // 宸ュ簭绫诲瀷 + { + required: true, + message: '璇烽�夋嫨宸ュ簭绫诲瀷', + trigger: ['change'], + } + ], + finishQty: [ // 瀹屾垚鏁伴噺 + { + required: true, + message: '璇峰~鍐欏畬鎴愭暟閲�', + trigger: ['blur'], + }, + // 姝e垯鍒ゆ柇鍙兘涓烘暟瀛� + { + validator: (rule, value, callback) => { + return this.$u.test.number(value); + }, + message: '鍙兘涓烘暟鍊�', + trigger: ['blur'], + }, + ], + length: [ // 闀垮害, + { + required: true, + message: '璇峰~鍐欓暱搴�', + trigger: ['blur'], + }, + // 姝e垯鍒ゆ柇鍙兘涓烘暟瀛� + { + validator: (rule, value, callback) => { + return this.$u.test.number(value); + }, + message: '鍙兘涓烘暟鍊�', + trigger: ['blur'], + }, + ], + outputCategoryLabel: [ // 鐗囧 + { + required: true, + message: '璇峰~鍐欑墖瀹�', + trigger: ['change'], + } + ], + sliceQty: [ // 鐗囨枡鏁伴噺 + { + required: true, + message: '璇峰~鍐欑墖鏂欐暟閲�', + trigger: ['blur'], + }, + // 姝e垯鍒ゆ柇鍙兘涓烘暟瀛� + { + validator: (rule, value, callback) => { + return this.$u.test.number(value); + }, + message: '鍙兘涓烘暟鍊�', + trigger: ['blur'], + }, + ], + clampOtherWeight: [ // 澶逛欢鍙婂叾浠栭噸閲� + { + required: true, + message: '璇峰~鍐欏す浠跺強鍏朵粬閲嶉噺', + trigger: ['blur'], + }, + // 姝e垯鍒ゆ柇鍙兘涓烘暟瀛� + { + validator: (rule, value, callback) => { + return this.$u.test.number(value); + }, + message: '鍙兘涓烘暟鍊�', + trigger: ['blur'], + }, + ], + prodWeight: [ // 鎴愬搧閲嶉噺 + { + required: true, + message: '璇峰~鍐欐垚鍝侀噸閲�', + trigger: ['blur'], + }, + // 姝e垯鍒ゆ柇鍙兘涓烘暟瀛� + { + validator: (rule, value, callback) => { + return this.$u.test.number(value); + }, + message: '鍙兘涓烘暟鍊�', + trigger: ['blur'], + }, + ] + }, + showTypeSelect: false, + workTypeSelect: false, + operationTypeSelect: false, + showOutputCategory: false, + infoFormList: [], + hvCoilFormList: [], //绠变綋楂樺帇 + lvCoilFormList: [], //绠变綋浣庡帇 + workOrder: '', + id: '', + isSubmit: false, + show: false, + deleteIndex: '', + workTypeList: [], // 绫诲瀷list + operationTypeList: [], // 宸ュ簭绫诲瀷list + outputCategoryList: [], // 浜у嚭绫诲埆 + maskShow: false, + listDevice: [], //钃濈墮璁惧鏁版嵁 + isFanAssembly: false, // 鏄惁涓洪鏈鸿閰� + isOilChange: false, // 闆朵欢鍚嶇О鍖呭惈娌瑰彉 + } + }, + // 鏂规硶闆嗗悎 + methods: { + moveHandle() { + + }, + maskclose() { + + }, + //鎵撳嵃浜岀淮鐮� + async printQrCode(item) { + const params = { + rwMatlBindId: item.id + } + let res = await this.$u.api.dailyPaper.zongjianLabelInfo(params) + if (!res.data) { + this.$refs.uToast.show({ + title: '鏈煡璇㈠埌璇ユ爣绛句俊鎭紒', + type: 'warning ' + }) + return + } + // 鍒濆鍖栫敾鏉� + jcapi.initDrawingBoard({ + width: 50, + height: 100, + rotate: 0 + }); + + // // 缁樺埗浜岀淮鐮� + jcapi.drawLabelQrCode({ + x: 14.5, + y: 74, + width: 20, + height: 20, + value: jsonString, + rotate: 0, + codeType: QrCodeType.QrCode, + }); + // 缁樺埗妯嚎 瀹炵嚎8鏉� + let sum = 4; + for (let i = 1; i < 13; i++) { + this.getDrawLabelLine(4, sum, 46, 0.5, 0, LineType.Solid) // 瀹炵嚎 + sum = (i * 6) + 4 + } + // 浜岀淮鐮佸ぇ妗� + this.getDrawLabelLine(4, 97, 46, 0.5, 0, LineType.Solid) // 瀹炵嚎9 + + //缁樺埗绔栫嚎 + this.getDrawLabelLine(4, 4, 0.5, 97, 0, LineType.Solid) // 绔栫嚎1 + this.getDrawLabelLine(20, 4, 0.5, 66, 0, LineType.Solid) // 绔栫嚎2 + this.getDrawLabelLine(44.5, 4, 0.5, 97, 0, LineType.Solid) // 绔栫嚎2 + + // 濉啿鏂囧瓧鏍囬 + this.getDrawLabelText(5, 5, 20, 20, '缂� 鍙�:', 3.6, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + this.getDrawLabelText(5, 11, 20, 20, '宸ュ崟鍙�:', 3.6, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + this.getDrawLabelText(5, 17, 20, 20, '鐗� 鍙�:', 3.6, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + this.getDrawLabelText(5, 23, 20, 20, '鐗囧锛坢m锛�:', 3.6, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + this.getDrawLabelText(5, 29, 20, 20, '鍘氬害锛坢m锛�:', 3.6, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + this.getDrawLabelText(5, 35, 20, 20, '閲嶉噺锛圞G锛�:', 3.6, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + this.getDrawLabelText(5, 41, 20, 20, '闀垮害锛坢锛�:', 3.6, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + this.getDrawLabelText(5, 47, 20, 20, '鐢熶骇浜�:', 3.6, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + this.getDrawLabelText(5, 53, 20, 20, '鐢熶骇鏃堕棿:', 3.4, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + this.getDrawLabelText(5, 59, 20, 20, '鍘傚:', 3.4, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + this.getDrawLabelText(5, 65, 20, 20, '閾佹崯:', 3.4, 0, LineModeType.AutoHeight, 0, 0, 0, 1) + + // // 濉啿鍙傛暟鍊� + this.getDrawLabelText(22, 5, 35, 12, labelNo, 3, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + this.getDrawLabelText(22, 11, 35, 12, optaskNo, 3, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + this.getDrawLabelText(22, 17, 35, 12, grade, 3, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + this.getDrawLabelText(22, 23, 35, 12, sliceWidth, 3, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + this.getDrawLabelText(22, 29, 35, 12, thickness, 3, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + this.getDrawLabelText(22, 35, 35, 12, wweight, 3, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + this.getDrawLabelText(22, 41, 35, 12, llength, 3, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + this.getDrawLabelText(22, 47, 35, 12, reportName, 2, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + this.getDrawLabelText(22, 53, 35, 12, reportTime, 3, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + this.getDrawLabelText(22, 59, 35, 12, supplierVenderName, 3, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + this.getDrawLabelText(22, 65, 35, 12, ironLoss, 3, 0, LineModeType.AutoHeight, 0, 0, 0, 0) + + // 鐢熸垚鎵撳嵃鏁版嵁 + let imageJsonObj = jcapi.generateLabelJson() + // 璁剧疆鎵撳嵃浠诲姟 + jcapi.startJob({ + totalCount: 1, + density: this.printDensity, + labelType: this.labelType, + printMode: this.printMode, + }, function(r) { + if (r.code == 0) { + // 鎵撳嵃鏁版嵁 + jcapi.printData(imageJsonObj, { + "printQuantity": 1, + }, function(r) { + if (r.code == 0) { + console.log("鎵撳嵃鎴愬姛") + } else { + console.log("鎵撳嵃澶辫触") + } + }) + } else { + console.log("璁剧疆鎵撳嵃浠诲姟澶辫触") + } + }) + }, + tapQuery(item) { + this.maskShow = false + // 杩炴帴鎵撳嵃鏈� + let _this = this; + console.log(item) + jcapi.openPrinterByDevice({ + address: item.address, + name: item.name, + deviceType: item.deviceType // 璁惧绫诲瀷锛�0-钃濈墮锛�1-缃戠粶 + }, function(r) { + uni.showToast({ + title: (r.code == 0) ? "杩炴帴鎴愬姛" : "杩炴帴澶辫触", + duration: 2 * 1000 + }) + if (r.code == 0) { + _this.connectedDevice = item + } + }) + }, + //鎵撳嵃鐩稿叧 + searchDevice() { + let _this = this + uni.openBluetoothAdapter({ // 纭钃濈墮鏄惁鎵撳紑 + success(r) { + uni.showLoading({ + title: "鎼滅储涓�..." + }) + // 鏈巿浜堣摑鐗欑浉鍏虫潈闄愬拰鏈墦寮�鎵嬫満瀹氫綅浼氭悳绱笉鍒拌澶� + jcapi.getBluetoothDevices(function(r) { + console.log("device:" + JSON.stringify(r)) + // 鎼滅储鍒拌澶囧洖璋� + uni.hideLoading() + _this.listDevice = r; + _this.maskShow = true + }) + }, + fail(e) { + uni.showModal({ + confirmText: "鎵撳紑钃濈墮澶辫触" + }) + console.log("寮�鍚摑鐗欒澶囧け璐�" + e) + } + }) + } + }, + onLoad(options) { + // 鍒濆鍖朣DK + jcapi.initSDK() + // 鐩戝惉椤电爜鍥炶皟 + jcapi.didReadPrintCountInfo(function(r) { + console.log(r) + }) + + // 鐩戝惉閿欒鍥炶皟 + jcapi.didReadPrintErrorInfo(function(r) { + console.log(r) + if (r.code == 23) { + // 鎵撳嵃鏈烘柇寮�杩炴帴 + _this.connectedDevice = null + } + uni.showToast({ + icon: 'none', + title: JSON.stringify(r), + duration: 2 * 1000 + }) + }) + this.workOrder = JSON.parse(decodeURIComponent(options.info)) + console.log(this.workOrder) + this.$u.api.dailyPaper.productReportDetail({ + id: this.workOrder.id, + type:"" + }).then((res) => { + console.log(res) + }) + + }, + onReady() { + this.$refs.uForm.setRules(this.rules); + } + } +</script> + +<style scoped lang="scss"> + .uni-list_name { + font-size: 30rpx; + color: #333; + } + + .uni-list_item { + font-size: 24rpx; + color: #555; + line-height: 1.5; + } + + .uni-list-box { + margin: 0 20rpx; + padding: 15rpx 0; + border-bottom: 1px #f5f5f5 solid; + box-sizing: border-box; + } + + .uni-scroll_box { + height: 70%; + background: #fff; + border-radius: 20rpx; + } + + .uni-mask { + position: fixed; + top: 0; + left: 0; + bottom: 0; + display: flex; + align-items: center; + width: 100%; + background: rgba(0, 0, 0, 0.6); + padding: 0 30rpx; + box-sizing: border-box; + } + + .work-reporting { + background-color: #e6f0ff; + width: 100%; + height: 100vh; + box-sizing: border-box; + + ::v-deep.navbar-right { + font-weight: 500; + font-size: 28rpx; + color: #FFFFFF; + line-height: 36rpx; + margin-right: 32rpx; + } + + .scroll-Y { + width: 100%; + height: calc(100vh - 270rpx); + + .form { + background: linear-gradient(180deg, #D8E8FF 0%, #FFFFFF 100%); + border-radius: 10rpx; + margin: 68rpx 30rpx 0; + padding: 36rpx 26rpx 0; + position: relative; + + .form-title { + font-weight: 800; + font-size: 34rpx; + color: #1D2541; + margin-bottom: 30rpx; + } + + .icon_report { + background-image: url('~@/static/custom/daily/icon_report.png'); + background-repeat: no-repeat; + background-size: cover; + height: 170rpx; + width: 170rpx; + position: absolute; + top: -64rpx; + right: -30rpx; + } + } + + .scan-code-feeding { + background: linear-gradient(180deg, #D8E8FF 0%, #F3F8FF 100%); + border-radius: 10rpx; + margin: 20rpx 30rpx 68rpx; + padding: 36rpx 16rpx 58rpx; + position: relative; + + .form-title { + font-weight: 800; + font-size: 34rpx; + color: #1D2541; + padding-left: 10rpx; + margin-bottom: 30rpx; + } + + .icon_camera { + background-image: url('~@/static/custom/daily/icon_camera.png'); + background-repeat: no-repeat; + background-size: cover; + height: 82rpx; + width: 82rpx; + position: absolute; + top: 18rpx; + right: 28rpx; + } + + .infoform { + background: #FFFFFF; + border-radius: 10rpx; + border: 1px solid #EAF2FF; + box-sizing: border-box; + padding: 30rpx 24rpx; + margin-top: 20rpx; + + p { + font-weight: 500; + font-size: 26rpx; + color: #333333; + margin-bottom: 24rpx; + + .icon_zl { + background-image: url('~@/static/custom/daily/icon_zl.png'); + background-repeat: no-repeat; + background-size: cover; + height: 24rpx; + width: 24rpx; + margin-right: 6rpx; + margin-bottom: 6rpx; + vertical-align: middle; + position: relative; + } + + .icon_7 { + background-image: url('~@/static/custom/daily/icon_7.png'); + background-repeat: no-repeat; + background-size: cover; + height: 24rpx; + width: 24rpx; + margin-right: 6rpx; + margin-bottom: 6rpx; + vertical-align: middle; + position: relative; + } + + .icon_6 { + background-image: url('~@/static/custom/daily/icon_6.png'); + background-repeat: no-repeat; + background-size: cover; + height: 24rpx; + width: 24rpx; + margin-right: 6rpx; + margin-bottom: 6rpx; + vertical-align: middle; + position: relative; + } + } + + .buttonFlex { + display: flex; + justify-content: flex-end; + flex-direction: row; + + .delete-button { + height: 66rpx; + background: #FFFFFF; + border-radius: 8rpx; + border: 1px solid #D6655C; + font-weight: 500; + font-size: 28rpx; + color: #D6655C; + margin: 24rpx 24rpx 0 206rpx; + line-height: 66rpx; + + .icon_del { + background-image: url('~@/static/custom/daily/icon_del.png'); + background-repeat: no-repeat; + background-size: cover; + height: 32rpx; + width: 32rpx; + margin-right: 8rpx; + margin-bottom: 8rpx; + vertical-align: middle; + position: relative; + } + } + + .primary-button { + height: 66rpx; + background: #FFFFFF; + border-radius: 8rpx; + border: 1px solid #214DED; + font-weight: 500; + font-size: 28rpx; + color: #214DED; + line-height: 66rpx; + margin: 24rpx 0 0 0; + + .icon_dy { + background-image: url('~@/static/custom/daily/icon_dy.png'); + background-repeat: no-repeat; + background-size: cover; + height: 32rpx; + width: 32rpx; + margin-right: 8rpx; + margin-bottom: 8rpx; + vertical-align: middle; + position: relative; + } + } + } + } + } + } + + .bottom { + width: 100vw; + position: fixed; + bottom: 60rpx; + + .u-button { + width: 690rpx; + height: 80rpx; + background: #214DED; + border-radius: 8rpx; + font-weight: 500; + font-size: 34rpx; + color: #FFFFFF; + z-index: 99; + } + } + } + + ::v-deep.u-form-item--left__content__label { + padding-left: 26rpx; + font-weight: 500; + font-size: 30rpx; + color: #4F4F4F; + line-height: 80rpx; + } + + ::v-deep.u-form-item--left__content--required { + left: 8rpx; + top: 0; + } +</style> \ No newline at end of file -- Gitblit v1.9.3