From daede3be8445e09aa261e1362b5a88bf7bb9d5ec Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期五, 21 三月 2025 17:33:31 +0800 Subject: [PATCH] 1.新增照片上传功能 2.新增图片配置 --- H5/LLJ/Add.aspx | 565 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 522 insertions(+), 43 deletions(-) diff --git a/H5/LLJ/Add.aspx b/H5/LLJ/Add.aspx index 27d6478..6e29016 100644 --- a/H5/LLJ/Add.aspx +++ b/H5/LLJ/Add.aspx @@ -13,7 +13,7 @@ .van-popup__close-icon--top-right { top: .25rem; - right: -.01rem; + right: -.00rem; } .content-wrapper-jymx { @@ -24,19 +24,269 @@ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); } + .van-cell__value--alone { + color: #323233; + text-align: center; + } + + .si-container { +/* padding: 0.16rem;*/ + padding: 8px 12px; + height: 0.6rem; + } + + /* 鐘舵�佹樉绀虹粍 */ + .si-status-group { + display: flex; + gap: 0.08rem; + margin-bottom: 0.16rem; + } + + .si-status-box { + flex: 1; + height: 0.6rem; + border-radius: 0.08rem; + display: flex; + overflow: hidden; + } + + /* 宸︿晶鐘舵�佹爣绛� */ + .si-status__left { + width: 1.2rem; + display: flex; + align-items: center; + justify-content: center; + position: relative; + } + + .si-status__left::after { + content: ''; + position: absolute; + right: -0.13rem; + width: 0.27rem; + height: 100%; + transform: skewX(-10deg); + z-index: 1; + } + + /* 鍙充晶鏁板�兼樉绀� */ + .si-status__right { + flex: 1; + display: flex; + align-items: center; + padding-left: 0.16rem; + background: #fff; + //font-weight: bold; + } + + /* 鐘舵�佺被鍨嬩慨楗扮 */ + .si-status--ok .si-status__left { + background: #07c160; + } + + .si-status--ok .si-status__left::after { + background: #07c160; + } + + .si-status--error .si-status__left { + background: #ee0a24; + } + + .si-status--error .si-status__left::after { + background: #ee0a24; + } + + /* 杈撳叆妗嗘牱寮� */ + .si-input-box { + height: 0.6rem; + border-radius: 0.08rem; + display: flex; + overflow: hidden; + background: #fff; + box-shadow: 0 0.02rem 0.04rem rgba(0,0,0,0.05); + padding: 8px 12px; + } + + .si-input__left { + width: 1.2rem; + display: flex; + align-items: center; + justify-content: center; + background: #e6f7ff; + position: relative; + } + + .si-input__left::after { + content: ''; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + width: 0.01rem; + height: 50%; + background: #d9d9d9; + } + + /* 缁熶竴鏂囧瓧鏍峰紡 */ + .si-status__label, + .si-input__label, + .si-status__right { + font-size: 0.20rem; + line-height: 0.23rem; + } + + .si-input__label { + color: #1890ff; + } + + .si-status__label{ + color: #ffffff; + } + + .si-status__right{ + justify-content: center; /* 鏂板灞呬腑 */ + background: #e3edf7; + padding-right: 0.16rem; + padding: 8px 12px; + } + + /* Vant杈撳叆妗嗘繁搴﹀畾鍒� */ + /*:deep(.si-input-field .van-field__control) { + height: 0.6rem !important; + font-size: 0.20rem !important; + line-height: 0.23rem !important; + color: #333; + }*/ + + .van-icon-popup { + font-size: 0.5rem; + } + + .inline-title { + display: flex; + align-items: center; + gap: 8px; /* 闂磋窛鎺у埗 */ + max-width: 80vw; + } + + .release-no { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .status-tag { + flex-shrink: 0; /* 闃叉琚帇缂� */ + font-size: 12px; + padding: 2px 6px; + } + + /* 瑕嗙洊瀵艰埅鏍忛粯璁ゆ牱寮� */ + :deep(.van-nav-bar__title) { + max-width: none !important; + } + + + /* 娣卞害瑕嗙洊vant鏍峰紡,鎹㈣ */ + :deep(.wrap-field .van-field__control) { + white-space: pre-wrap !important; + word-break: break-all !important; + line-height: 1.5; + min-height: 24px; /* 鏈�灏忛珮搴︿繚闅� */ + padding: 4px 0; /* 澧炲姞鍨傜洿闂磋窛 */ + } + + /* 涓撶敤鍐呭瀹瑰櫒,鎹㈣ */ + .wrap-content { + width: 100%; + display: block; + } + + +/* .si-input-box { + display: flex; + align-items: center; + padding: 12px 16px; + }*/ + + .input-container { + flex: 1; + display: flex; + gap: 2px; /* 鎺у埗涓や釜杈撳叆缁勪箣闂寸殑闂磋窛 */ + align-items: center; + background: #e3edf7; + } + + .input-group { + display: flex; + align-items: center; + gap: 8px; + flex: 1; /* 浣夸袱涓緭鍏ョ粍鍧囧垎鍓╀綑绌洪棿 */ + padding: 8px 12px; + } + + .si-input-field { + flex: 1; /* 杈撳叆妗嗗崰鎹墿浣欑┖闂� */ + width: 100%; /* 鎺у埗鏈�澶у搴� */ + background: #f7f8fa; + border-radius: 4px; + padding: 8px 12px; + } + + /* 鍥剧墖涓婁紶澶у皬 */ + .van-uploader__preview-image { + width: 80px; + height: 80px; + object-fit: cover; + } + .van-uploader__upload{ + width: 80px; + height: 80px; + } + .uploader-container { + height: auto; + overflow-y: auto; + -webkit-overflow-scrolling: touch; /* 娴佺晠婊氬姩锛坕OS锛� */ + } + .van-uploader__preview-delete-icon{ + font-size: 1.8em; + } + </style> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server"> - <van-nav-bar - title="鏉ユ枡妫�楠屾槑缁�" +<%-- <van-nav-bar + :title=formData.releaseNo left-text="杩斿洖" left-arrow @click-left="GetBack1()" - ></van-nav-bar> + ></van-nav-bar>--%> + <van-nav-bar + left-text="杩斿洖" + left-arrow + @click-left="GetBack1" + @click-right="showButton = true" + > + <template #title> + <div class="inline-title"> + <span class="release-no">{{ formData.releaseNo }}</span> + <van-tag round plain + :type="formData.fcheckResu === '涓嶅悎鏍�' ? 'danger' : + formData.fcheckResu === '妫�楠屼腑' ? 'warning' : 'success'" + class="status-tag" + > + {{ formData.fcheckResu || '鍚堟牸' }} + </van-tag> + </div> + </template> + <template #right> + <van-icon name="ellipsis" /> + </template> + </van-nav-bar> <div class="content-wrapper"> - <van-cell-group> - <van-field label="妫�楠屽崟鍙�" colon="true" v-model="formData.releaseNo" readonly ></van-field> - <van-field label="鍒拌揣鍗曞彿" colon="true" v-model="formData.lotNo" readonly ></van-field> + <van-cell-group > +<%-- <van-field label="妫�楠屽崟鍙�" colon="true" v-model="formData.releaseNo" readonly ></van-field>--%> + <!-- 鑷畾涔夊瓧娈电敤浜庢樉绀轰袱涓爣璇� --> <van-field label="鏍囪瘑" colon="true" readonly> @@ -47,47 +297,115 @@ </div> </template> </van-field> - <van-field label="鍒涘缓鏃堕棿" colon="true" v-model="formData.createDate" readonly ></van-field> - <van-field label="鍒涘缓浜�" colon="true" v-model="formData.createBy" readonly ></van-field> + <van-field label="鍒拌揣鍗曞彿" colon="true" v-model="formData.lotNo" readonly ></van-field> +<%-- <van-field label="鍒涘缓鏃堕棿" colon="true" v-model="formData.createDate" readonly ></van-field> + <van-field label="鍒涘缓浜�" colon="true" v-model="formData.createBy" readonly ></van-field>--%> <van-field label="鐗╂枡缂栫爜" colon="true" v-model="formData.itemNo" readonly ></van-field> <van-field label="鐗╂枡鍚嶇О" colon="true" v-model="formData.itemName" readonly ></van-field> - <van-field label="瑙勬牸鍨嬪彿" colon="true" v-model="formData.itemModel" readonly ></van-field> + <%--<van-field label="瑙勬牸鍨嬪彿" colon="true" v-model="formData.itemModel" readonly ></van-field>--%> + <van-field + label="瑙勬牸鍨嬪彿" + colon + v-model="formData.itemModel" + readonly + class="wrap-field" + > + <template #input> + <div class="wrap-content">{{ formData.itemModel }}</div> + </template> + </van-field> <van-field label="鏁伴噺" colon="true" v-model="formData.fcovertQty" readonly ></van-field> - <van-field label="涓嶅悎鏍兼弿杩�" v-if='formData.fcheckResu == "涓嶅悎鏍�"' colon="true" v-model="formData.remarks" ></van-field> - <van-field label="妫�娴嬬粨鏋�" colon="true" v-model="formData.fcheckResu" readonly ></van-field> + <van-field label="涓嶅悎鏍兼弿杩�" v-if='formData.fcheckResu == "涓嶅悎鏍�"' colon v-model="remarks" readonly class="wrap-field"> + <template #input> + <div class="wrap-content">{{ remarks }}</div> + </template> + <template #button> + <van-tag type="primary" style="font-size:15px" @click="updateRemarks(formData.guid)">杈撳叆</van-tag> + </template> + </van-field> +<%-- <van-field + v-if='formData.fcheckResu == "涓嶅悎鏍�"' colon="true" + v-model="formData.remarks" + rows="2" + autosize + label="涓嶅悎鏍兼弿杩�" + type="textarea" + maxlength="50" + placeholder="璇疯緭鍏ヤ笉鍚堟牸鎻忚堪" + show-word-limit + />--%> + <!-- 涓嶅悎鏍艰〃杩拌緭鍏� --> + <van-dialog v-model="showDialog" title="涓嶅悎鏍兼弿杩�" :show-cancel-button="false" @confirm="remarksConfirm"> + <van-field + v-model="remarks" + rows="5" + autosize + type="textarea" + maxlength="500" + placeholder="璇疯緭鍏ヤ笉鍚堟牸鎻忚堪" + show-word-limit + /> + </van-dialog> </van-cell-group> </div> - <van-button :loading="ttrre" type="info" loading-text="鍔犺浇涓�..." v-if="!isShowTable && formData.fsubmit == 0" @click="submit">妫�楠屾彁浜�</van-button> - <van-button type="danger" v-if="!isShowTable && formData.fsubmit == 0" @click="removeXJ">閲嶆柊鍔犺浇椤圭洰</van-button> - <van-tabs color="#000" title-active-color="#0283EF" style="padding-bottom: 120px;"> + <!-- 鏂瑰紡 --> + <div class="uploader-container"> + <!-- 浣跨敤 field 鏍峰紡鍖呰9 --> + <div class="van-cell van-field" style="padding: 10px 16px"> + <!-- 宸︿晶鏍囩 --> + <div class="van-field__label" style="width: 90px">鍥剧墖涓婁紶</div> + + <!-- 鍙充晶涓婁紶鍖哄煙 --> + <div class="van-field__body" style="flex: 1"> + <van-uploader + v-model="fileList" + :after-read="afterRead" + style="padding: 8px 0" + /> + </div> + </div> +</div> +<%-- <van-button :loading="ttrre" type="info" loading-text="鍔犺浇涓�..." v-if="!isShowTable && formData.fsubmit == 0" @click="submit">妫�楠屾彁浜�</van-button> + <van-button type="danger" v-if="!isShowTable && formData.fsubmit == 0" @click="removeXJ">閲嶆柊鍔犺浇椤圭洰</van-button>--%> +<%-- <van-button :loading="ttrre" type="info" loading-text="鍔犺浇涓�..." @click="submit">妫�楠屾彁浜�</van-button> + <van-button type="danger" @click="removeXJ">鍒锋柊閲嶅仛</van-button>--%> + <van-tabs color="#000" title-active-color="#0283EF" style="padding-bottom: 120px;"> <van-tab title="妫�楠岄」鐩�" class="mySolid font"> <van-row type="flex" justify="center"> - <van-col span="10">妫�楠岄」鐩�</van-col> - <van-col span="6">鏄惁鍚堟牸</van-col> - <van-col span="8">璁板綍(鐐瑰嚮)</van-col> + <van-col span="10" center class="text-left padding-left">妫�楠岄」鐩�</van-col> + <van-col span="4">宸叉鏁�/鎶芥鏁�</van-col> + <van-col span="4">鐗瑰緛鍊�</van-col> + <van-col span="6">妫�楠岀粨鏋�</van-col> </van-row> - <van-row v-for="(item,index) in tableData" :key="index" type="flex" justify="center"> + <van-row v-for="(item,index) in tableData" :key="index" type="flex" justify="left"> <van-col span="10" center class="text-left padding-left" > <van-cell center center :title="item.fcheckItem" @click="togglePopup(index)"></van-cell> </van-col> - <van-col center span="6"> + <van-col span="4" > + <van-cell center + center :title="item.fenterQty + '/' + item.checkQyt" @click="togglePopup(index)"></van-cell> + </van-col> + <van-col span="4" > + <van-cell center + center :title="item.fenterQty + '/' + item.checkQyt" @click="togglePopup(index)"></van-cell> + </van-col> + <van-col center span="6" > <van-cell center - center :title="item.fcheckResu"></van-cell> - </van-col> - <van-col span="8"> - <van-cell center :url="'detail.aspx?id='+ item.guid + '&gid=' + formData.guid+'&fsubmit='+formData.fsubmit" - v-if="item.fenterQty >=item.checkQyt" - center :title="item.checkQyt + '/' + item.fenterQty"></van-cell> - <van-cell v-else center is-link :url="'detail.aspx?id='+ item.guid + '&gid=' + formData.guid+'&fsubmit='+formData.fsubmit"> - <!-- 浣跨敤 title 鎻掓Ы鏉ヨ嚜瀹氫箟鏍囬 --> - <template #title> - <span class="custom-title">{{item.checkQyt + '/' + item.fenterQty}}</span> - <van-tag type="danger" style="font-size:15px">鏈畬鎴�</van-tag> - </template> + center v-if="item.fcheckResu === '鍚堟牸'"> + <van-tag round plain type="success" style="font-size:15px" @click="togglePopup(index)">鍚堟牸</van-tag> </van-cell> + <van-cell center + center v-else-if="item.fcheckResu === '涓嶅悎鏍�'"> + <van-tag round plain type="danger" style="font-size:15px" @click="togglePopup(index)">涓嶅悎鏍�</van-tag> + </van-cell> + <van-cell center + center v-else > + <van-tag round plain type="warning" style="font-size:15px" @click="togglePopup(index)">妫�楠屼腑</van-tag> + </van-cell> </van-col> + </van-row> </van-tab> </van-tabs> @@ -98,11 +416,13 @@ overlay ="true" round close-icon="close" + class="van-icon-popup" position="right" :style="{ width: '100%', height: '100%' , boxShadow: '-2px 0 12px rgba(0, 0, 0, 0.1)' }" + @click-close-icon ="init" > <!-- 寮瑰嚭鍐呭 --> <div class="content-wrapper-jymx"> @@ -113,32 +433,191 @@ <van-cell-group> <van-field label="椤圭洰鍚嶇О" colon="true" v-model="jymxData.fcheckItem" readonly ></van-field> <van-field label="瑙勬牸瑕佹眰" colon="true" v-model="jymxData.fspecRequ" readonly ></van-field> - <van-field label="妫�楠屾柟娉�" colon="true" v-model="jymxData.inspectionMethod" readonly ></van-field> <van-field label="妫�楠屽伐鍏�" colon="true" v-model="jymxData.fcheckTool" readonly ></van-field> <van-field label="妫�楠屾暟" colon="true" v-model="jymxData.checkQyt" readonly ></van-field> - <van-field label="妫�楠屾爣鍑嗙紪鐮�" colon="true" v-model="jymxData.sampleSizeNo" readonly ></van-field> - <van-field label="妫�楠屾按骞�" colon="true" v-model="jymxData.fcheckLevel" readonly ></van-field> - <van-field label="鎺ユ敹姘村钩" colon="true" v-model="jymxData.facLevel" readonly ></van-field> <van-field label="涓嬮檺" colon="true" v-model="jymxData.fdownAllow" readonly ></van-field> <van-field label="鏍囧噯鍊�" colon="true" v-model="jymxData.fstand" readonly ></van-field> <van-field label="涓婇檺" colon="true" v-model="jymxData.fupAllow" readonly ></van-field> - <van-field label="AC鏁�" colon="true" v-model="jymxData.facQty" readonly ></van-field> + <%--<van-field label="AC鏁�" colon="true" v-model="jymxData.facQty" readonly ></van-field>--%> <van-field label="RE鏁�" colon="true" v-model="jymxData.freQty" readonly ></van-field> - <van-field label="涓嶅悎鏍兼暟" colon="true" v-model="jymxData.fngQty" readonly ></van-field> - <van-field label="棰勮缁撴灉" colon="true" v-model="jymxData.result" readonly ></van-field> - <van-field label="涓嶅悎鏍兼弿杩�" colon="true" v-model="jymxData.remarks" readonly ></van-field> - <van-field label="妫�娴嬬粨鏋�" colon="true" v-model="jymxData.fcheckResu" placeholder="娌℃湁鏈�澶у�煎拰鏈�灏忓�兼椂濉啓0锛堟湭閫氳繃妫�楠岋級鎴�1锛堥�氳繃妫�楠岋級" ></van-field + <van-field label="鏍锋湰鏁�" colon="true" v-model="jymxData.ybsl" readonly ></van-field> + <%--<van-field label="棰勮缁撴灉" colon="true" v-model="jymxData.result" readonly ></van-field>--%> + <%--<van-field label="缁撴灉褰曞叆" colon="true" v-model="resultValue" placeholder="璇疯緭鍏K-鏁板瓧鎴朜G-鏁板瓧"></van-field>--%> + + <van-field label="妫�娴嬬粨鏋�" colon="true" readonly > + <template #input> + <van-tag round plain v-if="jymxData.fcheckResu === '鍚堟牸'" type="success">鍚堟牸</van-tag> + <van-tag round plain v-else-if="jymxData.fcheckResu === '涓嶅悎鏍�'" type="danger">涓嶅悎鏍�</van-tag> + <van-tag round plain v-else type="warning">妫�楠屼腑</van-tag> + </template> + </van-field> + <template> + <div class="si-input-box"> + <!-- 宸︿晶鏍囬 --> + <div class="si-input__left"> + <span class="si-input__label">缁撴灉褰曞叆</span> + </div> + + <!-- 姘村钩鎺掑垪鐨勮緭鍏ュ鍣� --> + <div class="input-container"> + <!-- OK杈撳叆缁� --> + <div class="input-group"> + <van-tag + left + round + plain + type="success" + class="input-tag" + >OK</van-tag> + <van-field + :ref="'okValue_' + tabActive" + v-model="okValue" + class="si-input-field" + placeholder="杈撳叆OK鏁�" + :border="false" + @keyup.enter.native="getInputOK" + @input="handleNumberInput1" + /> + </div> + + <!-- NG杈撳叆缁� --> + <div class="input-group"> + <van-tag + left + round + plain + type="danger" + class="input-tag" + >NG</van-tag> + <van-field + :ref="'ngValue_' + tabActive" + v-model="ngValue" + class="si-input-field" + placeholder="杈撳叆NG鏁�" + :border="false" + @keyup.enter.native="getInputNG" + @input="handleNumberInput2" + /> + </div> + </div> + </div> + </template> + </van-cell-group> </template> + <!-- StatsInput.vue --> + <template> + <div class="si-container"> + <!-- 鐘舵�佹樉绀鸿 --> + <div class="si-status-group"> + <div class="si-status-box si-status--ok"> + <div class="si-status__left"> + <span class="si-status__label">鍚堟牸鏁�</span> + </div> + <div class="si-status__right">{{okNum}}</div> + </div> + + <div class="si-status-box si-status--error"> + <div class="si-status__left"> + <span class="si-status__label">涓嶅悎鏍兼暟</span> + </div> + <div class="si-status__right">{{ngNum}}</div> + </div> + </div> + </div> + </template> + <template> + <!-- 杈撳叆妗� --> + <div class="si-input-box"> + <div class="si-input__left"> + <span class="si-input__label">鐗瑰緛鍊艰緭鍏�</span> + </div> + <div class="si-status__right"> + <van-field + :ref="'inputValue' + tabActive" + v-model="inputValue" + placeholder="璇疯緭鍏ョ壒寰佸��" + :border="false" + class="si-input-field" + @input="handleNumberInput3" + @keyup.enter.native="getInputTZZ" + /> + </div> + </div> + </template> + <van-row type="flex" justify="center"> + <van-col span="6">鏍锋湰闆�</van-col> + <van-col span="6">鏍锋湰鍊�</van-col> + <van-col span="6">鍒ゅ畾鏍囧織</van-col> + <van-col span="6">鎿嶄綔</van-col> + </van-row> + <van-row v-for="(item,index) in tableMxData.list2" :key="index" type="flex" justify="left"> + + <van-col span="6" > + <van-cell center + center :title="item.fcheckItem" @click="togglePopup(index)"></van-cell> + </van-col> + <van-col span="6" > + <van-cell center + center :title="item.fcheckResu"></van-cell> + </van-col> + <van-col center span="6" > + <van-cell center + center v-if="item.fstand === '鈭�'"> + <van-tag round plain type="success" style="font-size:15px">鍚堟牸</van-tag> + </van-cell> + <van-cell center + center v-else-if="item.fstand === '脳'"> + <van-tag round plain type="danger" style="font-size:15px">涓嶅悎鏍�</van-tag> + </van-cell> + <van-cell center + center v-else > + <van-tag round plain type="warning" style="font-size:15px">妫�楠屼腑</van-tag> + </van-cell> + </van-col> + <van-col center span="6" > + <van-tag type="danger" style="font-size:15px" @click="deleteDetail13(item.guid)">鍒犻櫎</van-tag> + </van-col> + </van-row> + </van-tab> - </van-tabs + </van-tabs> </div> </van-popup> + + + + <!-- 寮瑰嚭鑿滃崟 --> + <van-popup + v-model="showButton" + position="bottom" + :style="{ width: '100%' }" + > + <div style="padding: 12px;"> + <van-button + block + type="info" + @click="submit" + :loading="ttrre" + loading-text="鍔犺浇涓�..." + >妫�楠屾彁浜�</van-button> + + <van-button + block + type="danger" + @click="removeXJ" + style="margin-top: 8px;" + >鍒锋柊閲嶅仛</van-button> + </div> + </van-popup> + + + </asp:Content> <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder3" Runat="Server"> <comloading v-if="isLoading"></comloading> <%--<comback ></comback>--%> </asp:Content> <asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder4" Runat="Server"> - <script src="../Js/LLJ/Add.js?<%=116 %>"></script> + <script src="../Js/LLJ/Add.js?<%=119993 %>"></script> </asp:Content> -- Gitblit v1.9.3