.vscode/launch.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
H5/IPQC_SJ/Add.aspx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
H5/IPQC_SJ/Add.aspx.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
H5/IPQC_SJ/List.aspx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
H5/IPQC_SJ/List.aspx.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
H5/Js/IPQC_SJ/Add.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
H5/Js/IPQC_SJ/List.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
H5/Js/IPQC_SJ/detail.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
H5/LLJ/Add.aspx | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
.vscode/launch.json
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,15 @@ { // ä½¿ç¨ IntelliSense äºè§£ç¸å ³å±æ§ã // æ¬å以æ¥çç°æå±æ§çæè¿°ã // 欲äºè§£æ´å¤ä¿¡æ¯ï¼è¯·è®¿é®: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "msedge", "request": "launch", "name": "Open Add.aspx", "file": "e:\\01GIT_NEW\\04ç¥ç¦§\\PDAåå°\\QXPDA\\H5\\IPQC_SJ\\Add.aspx" } ] } H5/IPQC_SJ/Add.aspx
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,358 @@ <%@ Page Title="" Language="C#" MasterPageFile="~/Mst.master" AutoEventWireup="true" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> <style> .bg-info { background-color: #fff; } .custom-title { margin-right: 4px; vertical-align: middle; } .si-status__right-btns { flex: 1; display: flex; align-items: center; padding-left: 0.16rem; background: #e3edf7; align-items: center; width: 100%; gap: 10px; /* æé®é´è· */ padding: 0 8px; /* å·¦å³å è¾¹è· */ } /* æé®æ ·å¼ */ .status-btn { flex: 1; /* çåå©ä½ç©ºé´ */ min-width: 0; /* 鲿¢å å®¹æº¢åº */ font-size: 0.25rem; border-radius: 4px; } </style> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server"> <%-- <van-nav-bar :title=formData.releaseNo left-text="è¿å" left-arrow @click-left="GetBack1()" ></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 v-if="formData.fcheckResu === 'ä¸åæ ¼'" type="danger">ä¸åæ ¼</van-tag> <van-tag round plain v-else-if="formData.fcheckResu === 'æ£éªä¸'" type="warning">æ£éªä¸</van-tag> <van-tag round plain v-else-if="formData.fcheckResu === 'æªæ£éª'" type="warning">æªæ£éª</van-tag> <van-tag round plain v-else-if="formData.fcheckResu === ''" type="warning">æªæ£éª</van-tag> <van-tag round plain v-else-if="formData.fcheckResu === 'åæ ¼'" type="warning">åæ ¼</van-tag> <van-tag round plain v-else type="danger">å¼å¸¸ç¶æ</van-tag> <%-- <van-tag round plain :type="formData.fcheckResu === 'ä¸åæ ¼' ? 'danger' : formData.fcheckResu === 'æ£éªä¸' ? 'warning' : formData.fcheckResu === 'æªæ£éª' ? 'warning' : formData.fcheckResu === 'åæ ¼' ? 'success' :'danger'" 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" readonly> <template #input> <div class="checkbox-container"> æ¥æ<van-checkbox v-model="formData.urgentFlag" disabled></van-checkbox> </div> </template> </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 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 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> <!-- æ¹å¼ --> <div class="uploader-container"> <!-- ä½¿ç¨ field æ ·å¼å 裹 --> <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" @delete="handleDelete" /> </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" 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="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 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 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> <van-popup v-model="show" closeable 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"> <van-tabs v-model="tabActive" sticky color="#000" round ellipsis="false" @click="handleTabClick"> <van-tab v-for="(itm,index) in tableData" round :key="index" :name="index" > <template #title > {{itm.fcheckItem}} <van-icon v-if="itm.fenterQty >=itm.checkQyt" name="success" color="#1989fa" class="badge-icon" ></van-icon></template> <template> <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.fcheckTool" readonly ></van-field> <van-field label="æ£éªæ°" colon="true" v-model="jymxData.checkQyt" 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="REæ°" colon="true" v-model="jymxData.freQty" readonly ></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="请è¾å ¥OK-æ°åæNG-æ°å"></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> <template> <!-- è¾å ¥æ¡ --> <div v-if="jymxData.fdownAllow !== '' && jymxData.fupAllow !== ''" class="si-input-box"> <div class="si-input__left"> <span class="si-input__label">æ£éªå¼è¾å ¥</span> </div> <div v-if="jymxData.fdownAllow !== '' && jymxData.fupAllow !== ''" 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> <!-- è¾å ¥æ¡ --> <div v-else class="si-input-box"> <div class="si-input__left"> <span class="si-input__label">æ£éªå¼è¾å ¥</span> </div> <div class="si-status__right-btns"> <!-- ä¿®æ¹å®¹å¨ç±»å --> <van-button type="primary" size="small" class="status-btn" @click="handleQualified(true)" > åæ ¼ </van-button> <van-button type="danger" size="small" class="status-btn" @click="handleQualified(false)" > ä¸åæ ¼ </van-button> </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> </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/IPQC_SJ/Add.js?<%=11 %>"></script> </asp:Content> H5/IPQC_SJ/Add.aspx.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class H5_Scbl : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } H5/IPQC_SJ/List.aspx
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,136 @@ <%@ Page Title="" Language="C#" MasterPageFile="~/Mst.master" AutoEventWireup="true" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> <style> .bg-info { background-color: #fff; } .van-search { padding: 10px; background: #f7f8fa; } .van-search__action { color: #1989fa; /* 设置åä½é¢è²ä¸ºèè² */ } .van-cell__title { text-align: left; } </style> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server"> <van-nav-bar title="é¦ä»¶æ£éª" left-text="è¿å" left-arrow @click-left="GoBack()" ></van-nav-bar> <van-search v-model="searchKeyword" placeholder="è¾å ¥æ£éªåå·/ç©æ/å·¥åçæç´¢" show-action @search="handleSearch" > <template #action> <%--<van-tag plain round type="primary" @click="handleSearch">æç´¢</van-tag>--%> <div @click="handleSearch">æç´¢</div> </template> </van-search> <div class ="content-wrapper"> <%-- <van-tabs v-model="current" @click="onClickTab"> <van-tab title="æªæ£éª">--%> <van-pull-refresh v-model="refreshing" @refresh="onRefresh"> <van-list v-model="loading" :finished="finished" finished-text="æ²¡ææ´å¤äº" @load="onLoad"> <van-cell v-for="item in data" :key="item"> <div> <van-cell-group> <van-cell :title="item.releaseNo" is-link :url="'Add.aspx?id='+item.guid+'&lotNo='+item.lotNo+'&releaseNo='+item.releaseNo" ></van-cell> <van-field label="æä»¤å·¥å" colon="true" v-model="item.lotNo" readonly ></van-field> <!-- èªå®ä¹å段ç¨äºæ¾ç¤ºä¸¤ä¸ªæ è¯ --> <van-field label="æ è¯" colon="true" readonly > <template #input> <div class="checkbox-container"> æ¥æ<van-checkbox v-model="item.urgentFlag" disabled></van-checkbox> </div> </template> </van-field> <%-- <van-checkbox v-model="item.ftype" disabled>å§å¤</van-checkbox> <van-checkbox v-model="item.urgentFlag == 1" disabled>æ¥ææ è¯</van-checkbox>--%> <%--<van-field label="å建æ¶é´" colon="true" v-model="item.createDate" readonly ></van-field> <van-field label="å建人" colon="true" v-model="item.createBy" readonly ></van-field>--%> <van-field label="ç©æç¼ç " colon="true" v-model="item.itemNo" readonly ></van-field> <van-field label="ç©æåç§°" colon="true" v-model="item.itemName" readonly ></van-field> <%--<van-field label="è§æ ¼åå·" colon="true" v-model="item.itemModel" readonly ></van-field>--%> <van-field label="ç产车é´" colon="true" v-model="item.fbatchQty" readonly ></van-field> <van-field label="ç产线å«" colon="true" v-model="item.suppName" readonly ></van-field> <%--<van-field label="æ£éªäºº" colon="true" v-model="item.fcheckBy" readonly ></van-field>--%> <van-field label="æ£æµç»æ" colon="true" readonly > <template #input> <van-tag round plain v-if="item.fcheckResu === 'ä¸åæ ¼'" type="danger">ä¸åæ ¼</van-tag> <van-tag round plain v-else-if="item.fcheckResu === 'æ£éªä¸'" type="warning">æ£éªä¸</van-tag> <van-tag round plain v-else-if="item.fcheckResu === 'æªæ£éª'" type="warning">æªæ£éª</van-tag> <van-tag round plain v-else-if="item.fcheckResu === ''" type="warning">æªæ£éª</van-tag> <van-tag round plain v-else-if="item.fcheckResu === 'åæ ¼'" type="warning">åæ ¼</van-tag> <van-tag round plain v-else type="danger">å¼å¸¸ç¶æ</van-tag> </template> </van-field> </van-cell-group> </div> </van-cell> </van-list> </van-pull-refresh> <%-- </van-tab> <van-tab title="å·²æ£éª">--%> <%--<van-pull-refresh v-model="refreshing" @refresh="onRefresh"> <van-list v-model="loading" :finished="finished" finished-text="æ²¡ææ´å¤äº" @load="onLoad"> <van-cell v-for="item in data" :key="item"> <div> <van-cell-group> <van-cell :title="item.releaseNo" is-link :url="'Add.aspx?id='+item.guid+'&lotNo='+item.lotNo+'&releaseNo='+item.releaseNo" ></van-cell> <van-field label="å°è´§åå·" colon="true" v-model="item.lotNo" readonly ></van-field> <van-field label="æ è¯" colon="true" readonly> <template #input> <div class="checkbox-container"> å§å¤<van-checkbox v-model="item.ftype" disabled></van-checkbox> æ¥æ<van-checkbox v-model="item.urgentFlag" disabled></van-checkbox> </div> </template> </van-field>--%> <%--<van-checkbox v-model="item.ftype" disabled>å§å¤</van-checkbox> <van-checkbox v-model="item.urgentFlag == 1" disabled>æ¥ææ è¯</van-checkbox>--%> <%-- <van-field label="å建æ¶é´" colon="true" v-model="item.createDate" readonly ></van-field> <van-field label="å建人" colon="true" v-model="item.createBy" readonly ></van-field> <van-field label="ç©æç¼ç " colon="true" v-model="item.itemNo" readonly ></van-field> <van-field label="ç©æåç§°" colon="true" v-model="item.itemName" readonly ></van-field> <van-field label="è§æ ¼åå·" colon="true" v-model="item.itemModel" readonly ></van-field> <van-field label="æ°é" colon="true" v-model="item.fcovertQty" readonly ></van-field> <van-field label="ä¾åºå" colon="true" v-model="item.suppName" readonly ></van-field> <van-field label="æ£éªäºº" colon="true" v-model="item.fcheckBy" readonly ></van-field> <van-field label="æ£æµç»æ" colon="true" v-model="item.fcheckResu" readonly ></van-field> </van-cell-group> </div> </van-cell> </van-list> </van-pull-refresh>--%> <%-- </van-tab> </van-tabs>--%> </div> </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/IPQC_SJ/List.js?<%=116 %>"></script> </asp:Content> H5/IPQC_SJ/List.aspx.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class H5_Scbl : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } H5/Js/IPQC_SJ/Add.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,519 @@ var vm = new Vue({ el: '#app', data: function () { return { isLoading: false, userInfo: { "loginGuid": '', "loginAccount": '', }, formData: { id: "", releaseNo: "", createBy: "", createDate: "", lotNo: "", itemNo: "", billNo: "", fcovertQty: "", detailMem: "", taskNo: "", fcheckResu: "", boardModel: "", planQty: "", mocode: "", boardStyle: "" }, isShowTable: false, tableData: [],//è¿åçæ£éªé¡¹ç® jymxData: [],//å±ç¤ºçæ£éªé¡¹ç® remarks:'',//ä¸åæ ¼æè¿° okNum:'',//åæ ¼æ° ngNum: '',//ä¸åæ ¼æ° ttrre: false, show: false,//æç»é¢æ¿ tableMxData: [], tabActive: 0, inputValue: '',//ç¹å¾å¼è¾å ¥ resultValue: '',//æ£éªç»æå½å ¥ showButton: false,//å³ä¸è§èå触å okValue: '',//OK-æ°é ngValue: '',//NG-æ°é showDialog: false,//ä¸è¯è¡¨è¿°è¾å ¥æ¡ //å¾çä¸ä¼ æ¡ fileList: [ //{ // url: 'https://img01.yzcdn.cn/vant/leaf.jpg', // status: 'uploading', // message: 'ä¸ä¼ ä¸...', //}, //{ // url: 'https://img01.yzcdn.cn/vant/tree.jpg', // status: 'failed', // message: 'ä¸ä¼ 失败', //}, ], } }, mounted() { var that = this; this.userInfo = { loginGuid: this.GetLoginInfor().loginGuid, loginAccount: this.GetLoginInfor().loginAccount, }; this.formData.id = this.Request("id"), this.formData.releaseNo = this.Request("releaseNo"); this.formData.lotNo = this.Request("lotNo"); this.init(); }, methods: { // è¾å ¥è¿æ»¤ handleNumberInput1(value) { // å»é¤éæ°åå¹¶ç¡®ä¿é¦ä½ä¸ä¸º0ï¼é¤éæ¯åç¬ç0ï¼ this.okValue = value.replace(/[^\d]/g, '') // å»é¤éæ°åå符 .replace(/^0+(?!$)/, ''); // å»é¤å¼å¤´ç0ï¼é¤éæ´ä¸ªå符串æ¯0 }, handleNumberInput2(value) { // å»é¤éæ°åå¹¶ç¡®ä¿é¦ä½ä¸ä¸º0ï¼é¤éæ¯åç¬ç0ï¼ this.ngValue = value.replace(/[^\d]/g, '') // å»é¤éæ°åå符 .replace(/^0+(?!$)/, ''); // å»é¤å¼å¤´ç0ï¼é¤éæ´ä¸ªå符串æ¯0 }, handleNumberInput3(value) { this.inputValue = value.replace(/[^\d.]/g, '') // 1. å»é¤éæ°ååå°æ°ç¹ .replace(/(\..*)\./g, '$1') // 2. ç¦æ¢å¤ä¸ªå°æ°ç¹ .replace(/^\./g, ''); }, //é对没æä¸ä¸éå¼çæ°æ®ï¼åªééæ©åæ ¼æä¸åæ ¼.æé®è§¦å handleQualified(isQualified) { if (isQualified) { console.log('åæ ¼æä½'); // æ§è¡åæ ¼ç¸å ³é»è¾ } else { console.log('ä¸åæ ¼æä½'); // æ§è¡ä¸åæ ¼ç¸å ³é»è¾ } }, togglePopup(index) { // 忢æå®ç´¢å¼ç popup ç¶æ var that = this; this.show = true; console.log(index); console.log(that.tableData[index].guid); var mxguid = that.tableData[index].guid; that.jymxData = that.tableData[index]; that.tabActive = index; that.AxiosHttp("post", 'MesQaItemsDetect01Manager/GetModel12', { parentGuid : "", guid : mxguid , }, true, 1).then(function (res1) { if (res1.rtnCode == 1) { that.tableMxData = res1.rtnData; // ç»è®¡åæ ¼æ°åä¸åæ ¼æ° const list = res1.rtnData?.list || []; // ç¡®ä¿ list æ¯æ°ç»ï¼é¿å undefined é误 const okNum = list.filter(item => item.fstand === 'â').length; const ngNum = list.length - okNum; // å°ç»æä¿åå°æå®åéï¼å¦ that çæå屿§ï¼ that.okNum = okNum; that.ngNum = ngNum; } else { that.$toast.fail(res1.rtnMsg); } }).catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); console.log(error); }); }, getInputOK() { var that = this; var jys = that.tableData[that.tabActive].checkQyt;//æ£éªé¡¹ç®çæ£éªæ° if (!that.okValue) { this.$toast.fail("OKæ°ä¸è½ä¸ºç©º"); that.isLoading = false; return; } if (jys < that.okValue) { that.$toast.fail("å½å ¥æ°éä¸è½å¤§äºæ£éªæ°ï¼"); that.okValue = null; //that.$refs.okValue.focus(); return; } // 忢æå®ç´¢å¼ç popup ç¶æ var resultValue = "OK-" + this.okValue; this.getInput(resultValue); that.okValue = null; }, getInputNG() { var that = this; var jys = that.tableData[that.tabActive].checkQyt;//æ£éªé¡¹ç®çæ£éªæ° if (!that.ngValue) { this.$toast.fail("NGæ°ä¸è½ä¸ºç©º"); that.isLoading = false; return; } if (jys < that.ngValue) { that.$toast.fail("å½å ¥æ°éä¸è½å¤§äºæ£éªæ°ï¼"); that.ngValue = null; //that.$refs.ngValue.focus(); return; } // 忢æå®ç´¢å¼ç popup ç¶æ var resultValue = "NG-" + this.ngValue; this.getInput(resultValue); that.ngValue = null; }, getInput(resultValue) { // 忢æå®ç´¢å¼ç popup ç¶æ var that = this; var guid1 = that.formData.guid;//主表id var mxguid = that.tableData[that.tabActive].guid;//æ£éªé¡¹ç®çguid that.isLoading = true; console.log(that.formData); var input = resultValue;//æ¼æ¥æ£éªå¼ that.AxiosHttp("post", 'MesQaItemsDetect01Manager/EdtModel12', { inOrderGuid1: guid1, inOrderGuid5: mxguid, inP1: input,//æè 0k-19,æè ng-19 }, true, 1).then(function (res1) { if (res1.rtnCode == 1) { that.$notify({ type: 'success', message: res1.rtnMsg }); that.refreshJYItem();//å·æ°æ£éªé¡¹ç® //that.tableData = null; //that.$refs.inputValue.focus(); } else { that.$toast.fail(res1.rtnMsg); } that.isLoading = false; }).catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); that.isLoading = false; }); }, getInputTZZ() { // 忢æå®ç´¢å¼ç popup ç¶æ var that = this; if (!that.inputValue) { this.$toast.fail("ç¹å¾å¼ä¸è½ä¸ºç©º"); that.isLoading = false; return; } var mxguid = that.tableData[that.tabActive].guid;//æ£éªé¡¹ç®çguid var input = that.inputValue; that.isLoading = true; that.AxiosHttp("post", 'MesQaItemsDetect01Manager/EditYangLi', { dt05Guid: mxguid, fSeq : "pda", fVal : input, }, true, 1).then(function (res1) { if (res1.rtnData.outSum == 1) { that.$notify({ type: 'success', message: res1.rtnMsg }); that.okValue = null; that.refreshJYItem();//å·æ°æ£éªé¡¹ç® //that.handleTabClick();//å·æ°æ£éªæç»é¢æ¿ //that.$refs.inputValue.focus(); that.inputValue = null; } else { that.$toast.fail(res1.rtnMsg); that.inputValue = null; } that.isLoading = false; }).catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); that.inputValue = null; that.isLoading = false; }); }, handleTabClick() { console.log(this.tabActive) this.togglePopup(this.tabActive); }, //æ£éªæç»å·æ° refreshJYItem() { const that = this; return that.AxiosHttp("post", 'LLJ/getJYItem', { releaseNo: that.formData.releaseNo }, false).then(res1 => { const tableData = res1.data.tbBillList || []; that.tableData = tableData; that.handleTabClick();//å·æ°æ£éªæç»é¢æ¿ }).catch(error => { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); console.error('Refresh error:', error); }); }, //主页é¢å è½½ init() { //alert(this.Request("id")); var that = this; that.showButton = false; that.AxiosHttp("post", 'LLJ/getPage', { id: that.Request("id"), pageIndex: 1, limit: 1, }, false) .then(function (res) { let data = res.data.tbBillList[0]; if (data) { that.formData = data; that.remarks = that.formData.remarks; that.AxiosHttp("post", 'LLJ/getJYItem', { //id: that.formData.guid, releaseNo: that.formData.releaseNo }, false).then(function (res1) { let tableData = res1.data.tbBillList //å½å·²æ£éªä¸ªæ°é½ä¸ä¸ºç©ºæ¶æç §æ£æµç»ææåº tableData.sort((a, b) => { if (a.result === 'æªå®æ' && b.result === 'åæ ¼') { return -1; } else if (a.result === 'åæ ¼' && b.result === 'æªå®æ') { return 1; } else { return 0; } }); that.tableData = tableData; that.GetImageFileByGid(); //if (that.tableData.length === 0) { // that.isShowTable = true; //} }).catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); console.log(error); }); } }) .catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); console.log(error); }); }, submit() { var that = this; that.ttrre = true; that.AxiosHttp("post", 'MesQaItemsDetect01Manager/EditModelSubmit', { guid: that.formData.guid }, true, 1).then(function (res1) { if (res1.rtnData.outSum == 1) { that.$notify({ type: 'success', message: 'æäº¤æå' }); that.init(); } else { that.$toast.fail(res1.rtnData.outMsg); } that.ttrre = false }).catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); that.ttrre = false console.log(error); }); }, removeXJ() { const that = this; // æ·»å ç¡®è®¤å¼¹çª that.$dialog.confirm({ message: '确认è¦éæ°å è½½æ£éªé¡¹ç®åï¼', confirmButtonText: '确认', cancelButtonText: 'åæ¶' }).then(() => { // 确认åè° that.isLoading = true; that.AxiosHttp("post", 'MesQaItemsDetect01Manager/ReloadModel5', { guid: that.formData.guid }, true, 1).then(res1 => { if (res1.rtnCode == 1) { that.$notify({ type: 'success', message: 'éæ°å è½½æå' }); that.init(); } else { that.$toast.fail(res1.rtnMsg); } that.isLoading = false; }).catch(error => { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); that.isLoading = false; }); }).catch(() => { // åæ¶åè° that.$toast('已忶æä½'); }); }, GetBack1() { window.history.back(); }, onClickRight() { }, updateRemarks(guid) { this.showDialog= true }, deleteDetail13(guid13) { const that = this; // æ·»å ç¡®è®¤å¼¹çª that.$dialog.confirm({ message: '确认è¦å é¤è¯¥æ ·æ¬å¼è®°å½åï¼', confirmButtonText: '确认', cancelButtonText: 'åæ¶' }).then(() => { // 确认åè° that.isLoading = true; that.AxiosHttp("post", 'Llj/deleteDetail13', { id13: guid13 }, true, 0).then(res1 => { if (res1.status == 0) { that.$notify({ type: 'success', message: 'å 餿å' }); that.refreshJYItem();//å·æ°æ£éªé¡¹ç® } else { that.$toast.fail(res1.rtnMsg); } that.isLoading = false; }).catch(error => { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); that.isLoading = false; }); }).catch(() => { // åæ¶åè° that.$toast('已忶æä½'); that.isLoading = false; }); }, remarksConfirm() { const that = this; that.isLoading = true; var guid = that.formData.guid; that.AxiosHttp("post", 'Llj/updateRemarks', { gid: guid, Remarks: that.remarks }, true, 0).then(res1 => { if (res1.status == 0) { that.$notify({ type: 'success', message: 'è¾å ¥æå' }); that.init();//å·æ°æ£éªé¡¹ç® } else { that.$toast.fail(res1.rtnMsg); } that.isLoading = false; }).catch(error => { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); that.isLoading = false; }); }, async afterRead(file) { try { //alert(APIURL_IMAGE); // 1. æ¾ç¤ºä¸ä¼ ä¸ç¶æ file.status = 'uploading'; file.message = 'ä¸ä¼ ä¸...'; // 2. å建 FormDataï¼å ³é®ï¼å段åå¿ é¡»ååç«¯åæ°åä¸è´ï¼ const formData = new FormData(); // 3. æé æä»¶åï¼æ ¹æ®åç«¯è¦æ±ç¨ ~ åå²ï¼ // å设éè¦ parentGuidï¼è¿éä»ç»ä»¶æ°æ®è·å const parentGuid = this.formData.guid; // æ ¹æ®ä½ çå®é æ°æ®æºè°æ´ const customFileName = `${parentGuid}~${file.file.name}`; // 4. æ·»å æä»¶ï¼ç¬¬äºä¸ªåæ°å¿ é¡»ä½¿ç¨ new File å è£ ï¼ formData.append('file', new File([file.file], customFileName, { type: file.file.type })); // 5. è°ç¨ç»ä¸å°è£ ç Axios æ¹æ³ const res = await this.AxiosHttp( 'post', 'MesFile/UploadFile', // æ ¹æ®å®é æ¥å£è·¯å¾è°æ´ formData, true, // æ¾ç¤ºå è½½ç¶æ 1 // è¶ æ¶æ¶é´ ); // 6. å¤çååº if (res.rtnCode === 1) { file.status = 'done'; file.message = 'ä¸ä¼ æå'; file.urlPath = res.rtnData.urlPath; // ä¿åè¿åçæä»¶è·¯å¾ file.id = res.rtnData.id; // ä¿åè¿åçæä»¶id // å¯éï¼ä¸ä¼ æååå·æ°æä»¶å表 // await this.loadFileList(); } else { file.status = 'failed'; file.message = res.rtnMsg || 'ä¸ä¼ 失败'; this.$toast.fail(res.rtnMsg); } } catch (error) { // 7. å¼å¸¸å¤ç file.status = 'failed'; file.message = 'ä¸ä¼ å¼å¸¸'; this.$toast.fail('ç½ç»é误ï¼è¯·éè¯'); console.error('ä¸ä¼ é误:', error); } finally { // 8. å¼ºå¶æ´æ°è§å¾ï¼Vant 3+ å¯è½éè¦ï¼ this.$nextTick(); } }, //è·åå¾çä¿¡æ¯ GetImageFileByGid() { const that = this; that.AxiosHttp("post", 'MesImage/getImage', { parentId: that.formData.guid, }, true, 0).then(res1 => { if (res1.status === 0) { // å ³é®è½¬æ¢ï¼å°åç«¯æ°æ®è½¬æ¢ä¸º van-uploader éè¦çæ ¼å¼ that.fileList = res1.data.tbBillList.map(item => ({ url: `${APIURL_IMAGE}/${item.urlPath}`, // æ¼æ¥å®æ´è®¿é®è·¯å¾ status: 'done', // æ 记为已ä¸ä¼ æå name: item.fileTitle, // å¯éæ¾ç¤ºæä»¶å message: 'å·²ä¸ä¼ ', // å¯éç¶ææå // ä¿çåå§æ°æ®ï¼æéï¼ id: item.guid })); } else { that.$toast.fail(res1.rtnMsg); } }).catch(error => { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); }); }, handleDelete(file, { index }) { var that = this; that.$dialog.confirm({ title: '确认å é¤', message: 'ç¡®å®è¦å é¤è¿å¼ å¾çåï¼' }).then(() => { // 确认å é¤é»è¾ console.log(file); that.AxiosHttp("post", 'MesImage/deleteImage', { id: file.id, }, true, 0).then(res1 => { if (res1.status === 0) { that.$notify({ type: 'success', message: 'å 餿å' }); that.init();//å·æ°æ£éªé¡¹ç® } else { that.$toast.fail(res1.rtnMsg); } }).catch(error => { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); }); }).catch(() => { // åæ¶æä½ }) }, } }) H5/Js/IPQC_SJ/List.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,120 @@ var vm = new Vue({ el: '#app', data: function () { return { isLoading: false, userInfo: { "loginGuid": '', "loginAccount": '', }, data: [], loading: false, finished: false, refreshing: false, current: 0, pageIndex: 0, limit: 20, totalPage: 0, totalCount: 0, checked: true, id: '', searchKeyword: '', // æç´¢å ³é®è¯ originalData: [], // ä¿ååå§æ°æ® } }, mounted() { var that = this; this.userInfo = { loginGuid: this.GetLoginInfor().loginGuid, loginAccount: this.GetLoginInfor().loginAccount, }; this.onLoad(); }, methods: { // æ°å¢æç´¢å¤çæ¹æ³ handleSearch() { this.pageIndex = 0; this.data = []; this.finished = false; this.isSearching = true; this.onLoad(); }, onLoad() { if (this.refreshing) { this.data = []; this.refreshing = false; } let result = "æªå®æ"; if (this.current === 1) { result = "已宿"; } this.pageIndex++; var that = this; that.AxiosHttp("post", 'LLJ/getPage', { pageIndex: that.pageIndex, limit: that.limit, createUser: that.userInfo.loginAccount, result: result, keyword: that.searchKeyword.trim(), // æ°å¢æç´¢åæ° }, false) .then(function (res) { var json = res; if (json.status == 0) { //this.$notify({ type: 'success', message: json.data.tbBillList }); if (that.pageIndex === 1) { // 妿æ¯ç¬¬ä¸é¡µï¼ç´æ¥è¦çåæ°æ® that.data = json.data.tbBillList; } else { if (json.data.tbBillList.length > 0) { // 妿æ¯ä¸ä¸é¡µï¼è¿½å æ°æ°æ® let thisData = that.data; that.data = [...thisData, ...json.data.tbBillList]; } } that.totalCount = json.totalCount; that.totalPage = Math.ceil(that.totalCount / that.limit); that.loading = false; if (that.pageIndex >= that.totalPage) { that.finished = true; } } else { that.$toast.fail(json.message); } }) .catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); console.log(error); }); }, onRefresh() { // æ¸ ç©ºåè¡¨æ°æ® this.finished = false; // éæ°å è½½æ°æ® // å° loading 设置为 trueï¼è¡¨ç¤ºå¤äºå è½½ç¶æ this.loading = true; this.pageIndex = 0; this.onLoad(); }, onClickTab(name, title) { this.current = name; this.pageIndex = 0; this.onLoad(); } } }) H5/Js/IPQC_SJ/detail.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,242 @@ var vm = new Vue({ el: '#app', data: function () { return { isLoading: false, userInfo: { "loginGuid": '', "loginAccount": '', }, formData: {}, isNumber: false, checkItem: "", id: 0, gid: 0, itemInId: 0, billNo: "", showPopup: false, editData: {}, tableData: [], isShowImg: false, base64Image: "", remarks: "", remarksPopup: false, fcheckResu: null, fsubmit:1 } }, mounted() { var that = this; this.userInfo = { loginGuid: this.GetLoginInfor().loginGuid, loginAccount: this.GetLoginInfor().loginAccount, }; this.id = this.Request("id"); this.gid = this.Request("gid"); this.fsubmit = this.Request("fsubmit"); this.refreshResult(); }, methods: { refreshResult() { var that = this; that.AxiosHttp("post", 'LLJ/getXjDetail02ById', { id: this.id }, false) .then(function (res) { that.formData = res.data.tbBillList.itemXj01; that.tableData = res.data.tbBillList.itemXj02s; //if (this.formData.imageData) { // this.isShowImg = true; // this.base64Image = 'data:image/jpeg;base64,' + this.formData.imageData; //} //fupAllow fdownAllow standardValue if (that.formData.fupAllow && that.formData.fdownAllow && that.formData.fstand) { that.isNumber = true; } }) .catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); console.log(error); }); }, submit() { let count = this.formData.checkQyt; let fstand = "â"; //ææå¤§å¼åæå°å¼å°±æ ¹æ®æ¯å¦ç¬¦åæ å弿´æ°å¤å®ç»æï¼æ²¡ææå¤§å¼åæå°å¼å°±æ ¹æ®æ¯å¦éè¿æ£éªå¤å®ç»æ if (this.formData.fupAllow && this.formData.fdownAllow) { if (!this.formData.fcheckResu) { this.$toast.fail("请è¾å ¥æ£éªå¼"); return; } let max = Number(this.formData.fupAllow); let min = Number(this.formData.fdownAllow); if (this.formData.fcheckResu >= min && this.formData.fcheckResu <= max) { fstand = "â" } else { fstand = "Ã"; } count = 1; } else { if (!this.formData.fcheckResu) { this.formData.fcheckResu = 1 } if (this.formData.fcheckResu == 0 || this.formData.fcheckResu == 1) { this.formData.isPass = this.formData.fcheckResu } else { this.$toast.fail("æ æ å弿¶ï¼æ£éªç»æåªè½ä¸º0æ1!"); return; } count = count - this.tableData.length; } this.formData.updater = this.userInfo.loginAccount; var that = this; that.AxiosHttp("post", 'LLJ/SetQSItemDetail', { parentGuid: that.id, grandpaGuid: that.gid, fstand: fstand, fcheckItem: that.formData.fcheckItem, fcheckResu: that.formData.fcheckResu, lastupdateBy: that.formData.updater, count: count }, false) .then(function (res) { that.formData.fcheckResu = null; that.$notify({ type: 'success', message: 'ä¿åæå' }); that.refreshResult(); }) .catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); console.log(error); }); }, toDetail(item) { this.showPopup = !this.showPopup; this.editData = item; }, editResult(fcheckResu) { if (fcheckResu == 'OK') { return "æ¹ä¸ºä¸åæ ¼"; } else { return "æ¹ä¸ºåæ ¼"; } }, numberEdit(item) { let fstand = "â"; let fcheckResu = "OK"; if (item.fcheckResu == 'OK') { fstand = "Ã"; fcheckResu = "NG"; } var that = this; that.AxiosHttp("post", 'LLJ/UpdateQSItemDetail', { guid: item.guid, parentGuid: item.parentGuid, grandpaGuid: item.grandpaGuid, fstand: fstand, fcheckResu: fcheckResu, lastupdateBy: that.userInfo.loginAccount, }, false) .then(function (res) { that.$notify({ type: 'success', message: 'ä¿®æ¹æå' }); that.refreshResult(); }) .catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); console.log(error); }); }, eidt() { if (!this.editData.fcheckResu) { this.$toast.fail("请è¾å ¥æ£éªç»æ"); } if (this.formData.fcheckResu == this.editData.fcheckResu) { this.$notify({ type: 'success', message: 'ä¿®æ¹æå' }); return; } let fstand = "â"; if (this.formData.fupAllow && this.formData.fdownAllow) { if (!this.editData.fcheckResu) { this.$toast.fail("请è¾å ¥æ£éªå¼"); return; } let max = Number(this.formData.fupAllow); let min = Number(this.formData.fdownAllow); if (this.editData.fcheckResu >= min && this.editData.fcheckResu <= max) { this.editData.isPass = 1 } else { this.editData.isPass = 0 fstand = "Ã"; } } else { if (!this.editData.fcheckResu) { this.editData.fcheckResu = 1 } if (this.editData.fcheckResu == 0 || this.editData.fcheckResu == 1) { if (this.editData.fcheckResu == 0) { fstand = "Ã"; } } else { this.$toast.fail("æ æ å弿¶ï¼æ£éªç»æåªè½ä¸º0æ1!"); return; } } this.editData.updater = this.userInfo.loginAccount; var that = this; that.AxiosHttp("post", 'LLJ/UpdateQSItemDetail', { guid: that.editData.guid, parentGuid: that.editData.parentGuid, grandpaGuid: that.editData.grandpaGuid, fstand: fstand, fcheckResu: that.editData.fcheckResu, lastupdateBy: that.userInfo.loginAccount, }, false) .then(function (res) { if (res.status == 0) { that.$notify({ type: 'success', message: 'ä¿®æ¹æå' }); that.showPopup = false; that.refreshResult(); } else { that.$toast.fail(res.message); that.editData.fcheckResu = that.fcheckResu; } }) .catch(function (error) { that.$toast.fail("ç½ç»é误ï¼è¯·éè¯ï¼"); console.log(error); }); }, GoBack1() { window.history.back(); } } }) H5/LLJ/Add.aspx
@@ -134,10 +134,6 @@ </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">