From 00c9c554fcfbb1755af6c41f19dc5ae6f8294075 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 18 七月 2024 18:05:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/do/b1-ins-order/add.vue | 2 src/components/tool/value-table.vue | 51 +++++ src/components/view/b2-standard-template.vue | 4 src/components/view/b1-inspect-order-plan.vue | 10 src/assets/api/controller.js | 2 src/components/view/b1-report-preparation.vue | 22 +- src/main.js | 6 src/components/do/b1-inspect-order-plan/Inspection.vue | 265 ++++++++++++++++++++++---------- src/components/do/b3-work-time-management/work-time-management.vue | 29 +- src/components/do/b3-work-time-management/work-time-statistics.vue | 4 src/components/do/b1-ins-order/fiberoptic-config.vue | 12 + src/components/view/b1-inspection-order.vue | 13 src/components/view/b1-expenses.vue | 2 13 files changed, 285 insertions(+), 137 deletions(-) diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index 00ab72b..4a53106 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -151,6 +151,8 @@ saveDataAcquisitionConfiguration: "/deviceScope/saveDataAcquisitionConfiguration", // 缁存姢鏁伴噰閰嶇疆 queryDataAcquisitionConfiguration: "/deviceScope/queryDataAcquisitionConfiguration", // 鏌ヨ鏁伴噰閰嶇疆 deleteDataAcquisitionConfiguration: "/deviceScope/deleteDataAcquisitionConfiguration", // 鍒犻櫎鏁伴噰閰嶇疆 + determineWhetherToCollectData: "/deviceScope/determineWhetherToCollectData", // 鍒ゆ柇璇ヨ澶囨槸鍚﹀彲浠ユ暟閲� + dataCollection: "/deviceScope/dataCollection", // 鏁伴噰-鏁版嵁閲囬泦 } const insOrder = { diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue index 623669a..17c467f 100644 --- a/src/components/do/b1-ins-order/add.vue +++ b/src/components/do/b1-ins-order/add.vue @@ -2655,6 +2655,7 @@ getTotal() { this.totalArr = [] this.total = 0; + console.log(this.sampleList) this.sampleList.forEach(item => { if (item.insProduct && item.insProduct.length > 0) { item.insProduct.forEach(a => { @@ -2700,6 +2701,7 @@ if (item.manHourGroup === '' || !item.manHourGroup) { return true } else { + console.log(item) mySet.add(item.manHourGroup) let num2 = mySet.size if (num2 > num1) { diff --git a/src/components/do/b1-ins-order/fiberoptic-config.vue b/src/components/do/b1-ins-order/fiberoptic-config.vue index 8255f67..94f73f9 100644 --- a/src/components/do/b1-ins-order/fiberoptic-config.vue +++ b/src/components/do/b1-ins-order/fiberoptic-config.vue @@ -107,8 +107,8 @@ <el-col :span="12" v-if="packageInfo.ismiers"> <div class="grid-content"> <h5>鍏夌氦甯� - <el-button size="mini" type="primary" class="btns" @click="addFibers" - :disabled="miresModel===null||miresStandard===null" v-if="active==1">鐢熸垚鍏夌氦甯�</el-button> + <!-- <el-button size="mini" type="primary" class="btns" @click="addFibers" + :disabled="miresModel===null||miresStandard===null" v-if="active==1">鐢熸垚鍏夌氦甯�</el-button> --> <el-button size="mini" class="btns" @click="clearFibers" :disabled="selectBushing.length === 0" v-if="active==1">娓呴櫎</el-button> </h5> <div @@ -152,8 +152,10 @@ </el-col> <el-col :span="!packageInfo.ismiers?24:12"> <div class="grid-content"> - <h5>鍏夌氦<el-button size="mini" type="primary" class="btns" @click="addFiber" - :disabled="mireModel===null||mireStandard===null" v-if="active==1">鍏夌氦閰嶈壊</el-button></h5> + <h5>鍏夌氦 + <!-- <el-button size="mini" type="primary" class="btns" @click="addFiber" + :disabled="mireModel===null||mireStandard===null" v-if="active==1">鍏夌氦閰嶈壊</el-button> --> + </h5> <div style="display: flex;align-items: center;justify-content: space-between;margin: 4px 0 6px 0;padding: 0 12px;box-sizing: border-box;"> <div class="search-item" style="width: 50%;margin-right: 16px;"> @@ -544,6 +546,7 @@ this.productList.forEach(a => { if (a.state == 1) this.toggleSelection(a) }) + this.addFiber() }, 200) }) }, @@ -566,6 +569,7 @@ this.productList2.forEach(a => { if (a.state == 1) this.toggleSelection(a) }) + this.addFibers() }, 200) }) }, diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index ef99776..1d3b6c3 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -257,7 +257,7 @@ </el-form> </div> <div class="center"> - <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;overflow-x: auto;"> + <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;"> <div style="display: flex;align-items: center;"> <span v-if="tableList.length>0">妫�楠屾ā鏉匡細</span> <el-radio-group v-model="currentTable" size="small"> @@ -267,15 +267,35 @@ </div> <div style="display: flex;align-items: center;"> <span v-if="fibers.length>0"> 鍏夌氦甯︼細</span> - <el-radio-group v-model="currentTab" size="small" v-if="fibers.length>0" @input="m=>handleChange(m,1)"> + <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,1)" v-if="fibers.length>0" size="small"> + <el-option + v-for="item in fibers" + :key="item.value" + :label="item.code" + :value="item.id"> + <span style="float: left">{{ item.code}}</span> + <el-tag :type="item.state==1?'success':'danger'" style="float: right;margin-top: 5px;" size="small">{{ item.state==1?'宸叉':'鏈' }}</el-tag> + </el-option> + </el-select> + <!-- <el-radio-group v-model="currentTab" size="small" v-if="fibers.length>0" @input="m=>handleChange(m,1)"> <el-radio-button :label="item.id" v-for="(item,index) in fibers" :key="index" size="small">{{ item.code }}</el-radio-button> - </el-radio-group> + </el-radio-group> --> <span v-if="fiber.length>0"> 鍏夌氦锛�</span> - <el-radio-group v-model="currentTab" size="small" v-if="fiber.length>0" @input="m=>handleChange(m,2)"> + <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,2)" v-if="fiber.length>0" size="small"> + <el-option + v-for="item in fiber" + :label="item.bushColor+'-'+item.color" + :key="item.id" + :value="item.id"> + <span style="float: left">{{ item.bushColor+'-'+item.color }}</span> + <el-tag :type="item.state==1?'success':'danger'" style="float: right;margin-top: 5px;" size="small">{{ item.state==1?'宸叉':'鏈' }}</el-tag> + </el-option> + </el-select> + <!-- <el-radio-group v-model="currentTab" size="small" v-if="fiber.length>0" @input="m=>handleChange(m,2)"> <el-radio-button :label="item.id" v-for="(item,index) in fiber" :key="index" - size="small">{{ item.color }}</el-radio-button> - </el-radio-group> + size="small">{{ item.bushColor+'-'+item.color }}</el-radio-button> + </el-radio-group> --> <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;" v-if="PROJECT=='妫�娴嬩腑蹇�'"> <el-form-item label="娓╁害:" style="margin-bottom: 0;"> <el-input v-model="otherForm.temperature" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'temperature')"></el-input> @@ -286,6 +306,7 @@ <span style="margin-left: 4px;">%</span> </el-form-item> </el-form> + <el-button type="primary" size="small">缂栬緫鏁伴噰</el-button> </div> </div> <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'"> @@ -298,7 +319,7 @@ :style="`background:${n.v.bg?n.v.bg:''};color:${n.v.fc};font-size:${n.v.fs}px;width:${handleWidth(n)}px !important;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`"> <div class="content" :class="`content-h-${n.v.ht} content-v-${n.v.vt}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`"> - <template v-if="n.v.ps!=undefined && n.v.ps.value==='妫�楠屽��' && state==1"> + <template v-if="n.v.ps!=undefined && typeof n.v.ps.value ==='string'&& n.v.ps.value.includes('妫�楠屽��') && state==1"> <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" @input="handleInput(n)" @@ -336,6 +357,7 @@ <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" :value="item.value"> </el-option> </el-select> + <el-button type="primary" icon="el-icon-document-copy" size="small" circle title="鏁伴噰" v-if="n.isItADataAcquisitionDevice&&PROJECT=='妫�娴嬩腑蹇�'" @click="getDataAcquisitionDevice(n.v.v)"></el-button> </template> <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='瑕佹眰鍊�' && state==1"> <span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span> @@ -395,9 +417,9 @@ </tbody> </table> </div> - <div class="center-box" v-loading="tableLoading" v-else> + <div v-loading="tableLoading" v-else> <el-divider></el-divider> - <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;">娓╁害寰幆妫�楠屽師濮嬭褰�</h4> + <h4 style="margin-bottom: 20px;font-size: 24px;font-weight: 400;text-align: center;">娓╁害寰幆妫�楠屽師濮嬭褰�</h4> <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> <el-form-item label="鍨嬪彿:" style="margin-bottom: 0;"> <el-input clearable v-model="wareForm0.model" disabled size="small" placeholder=""></el-input> @@ -468,76 +490,92 @@ <el-table-column label="搴忓彿" type="index" - width="65" + width="60" align="center" > </el-table-column> <el-table-column prop="bushColor" label="绠¤壊鏍�" - width="120" + width="80" align="center"> </el-table-column> <el-table-column prop="code" label="鍏夌氦甯︾紪鍙�" - width="150" + width="110" align="center"> </el-table-column> <el-table-column prop="color" label="鍏夌氦鑹叉爣" align="center" - width="120"> + width="90"> </el-table-column> - <el-table-column - prop="inspectionItemClass" - label="鍏夌氦椤圭洰" - align="center" - width="130"> - </el-table-column> - <el-table-column - prop="value0" - label="澶栫" - align="center" - width="130"> - <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.value0" placeholder="" @change="m=>changeItem(scope.row)"></el-input> - </template> - </el-table-column> - <el-table-column - prop="value1" - label="鍐呯" - align="center" - width="130"> - <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.value1" placeholder="" @change="m=>changeItem(scope.row)"></el-input> - </template> - </el-table-column> - <el-table-column - prop="comValue" - align="center" - label="琛板噺绯绘暟" - min-width="150"> - </el-table-column> - <el-table-column - prop="resValue" - label="琛板噺宸�" - align="center" - v-if="wareForm.inspectionItemSubclass!='20(甯告俯)'" - min-width="150"> - </el-table-column> - <el-table-column - prop="insResult" - label="缁撹" - align="center" - min-width="150" v-if="wareForm.inspectionItemSubclass!='20(甯告俯)'"> - <template slot-scope="scope"> - <span v-if="scope.row.insResult===1" style="color: green;">鍚堟牸</span> - <span v-else-if="scope.row.insResult===0" style="color: red;">涓嶅悎鏍�</span> - <span v-else>寰呭畾</span> - </template> - </el-table-column> + <template v-for="(item,index) in wareLength"> + <el-table-column + prop="value0" + label="澶栫" + align="center" + width="80" :key="(new Date())+'1'"> + <template slot="header"> + {{ '澶栫'+(index+1) }} + </template> + <template slot-scope="scope"> + <el-input size="small" v-model="scope.row.arr[index].value0" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> + </template> + </el-table-column> + <el-table-column + prop="value1" + label="鍐呯" + align="center" + width="80" :key="(new Date())+'2'"> + <template slot="header"> + {{ '鍐呯'+(index+1) }} + </template> + <template slot-scope="scope"> + <el-input size="small" v-model="scope.row.arr[index].value1" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> + </template> + </el-table-column> + <el-table-column + prop="comValue" + align="center" + min-width="150" :key="(new Date())+'3'"> + <template slot="header"> + {{ '琛板噺绯绘暟'+item }} + </template> + <template slot-scope="scope"> + <span>{{ scope.row.arr[index].comValue }}</span> + </template> + </el-table-column> + <el-table-column + prop="resValue" + label="琛板噺宸�" + align="center" + v-if="wareForm.inspectionItemSubclass!='20(甯告俯)'" + min-width="90" :key="(new Date())+'4'"> + <template slot="header"> + {{ '琛板噺宸�'+(index+1) }} + </template> + <template slot-scope="scope"> + <span>{{ scope.row.arr[index].resValue }}</span> + </template> + </el-table-column> + <el-table-column + prop="insResult" + label="缁撹" + align="center" + min-width="70" v-if="wareForm.inspectionItemSubclass!='20(甯告俯)'" :key="(new Date())+'5'"> + <template slot="header"> + {{ '缁撹'+(index+1) }} + </template> + <template slot-scope="scope"> + <span v-if="scope.row.arr[index].insResult===1" style="color: green;">鍚堟牸</span> + <span v-else-if="scope.row.arr[index].insResult===0" style="color: red;">涓嶅悎鏍�</span> + <span v-else>寰呭畾</span> + </template> + </el-table-column> + </template> </el-table> </div> <el-upload :action="action" @@ -798,9 +836,7 @@ wareForm0:{}, numOptions:[], temperatureOptions:[], - wareTableData:[ - {} - ], + wareTableData:[], otherForm:{ humidity:null, temperature:null, @@ -813,6 +849,8 @@ }, result: null, worker: null, + dataAcquisitionBtn:{}, + wareLength:[] } }, computed: { @@ -957,6 +995,11 @@ this.stopWorker(); }, methods: { + getDataAcquisitionDevice(managementNumber){ + this.$axios.get(this.$api.deviceScope.dataCollection+'?managementNumber='+managementNumber+'&entrustCode='+this.insOrder.entrustCode+'&sampleCode='+this.currentSample.sampleCode).then(res=>{ + console.log(111,res) + }) + }, startWorker() { if (this.worker) { this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� @@ -997,7 +1040,7 @@ } }] if(this.wareForm.inspectionItemSubclass!='20(甯告俯)'){ - row.resValue = row.comValue?Math.abs(row.comValue-20).toFixed(3):'' + row.resValue = row.comValue?Math.abs(row.comValue-Number(row.insProduct.complue)).toFixed(3):'' this.param[row.id].resValue.v.v = row.resValue if(row.ask&&row.resValue){ if(row.ask.includes('<')){ @@ -1020,9 +1063,10 @@ this.saveInsContext() }, wareFormChange(m,type){ - if(this.PROJECT!='妫�娴嬩腑蹇�'){ + if(this.PROJECT!='妫�娴嬩腑蹇�'||!this.tableLists.find(m=>m.templateId==this.currentTable)||this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'){ return } + // this.$refs.wareTableData&&this.$refs.wareTableData.doLayout() if(m&&type){ this.wareForm[type] = m } @@ -1120,9 +1164,54 @@ } return obj }) - this.wareTableData = productVos + let arr = [] + let arr0 = [] + let mySet = new Set() + productVos.forEach((m,i)=>{ + let num0 = mySet.size + mySet.add(m.inspectionItemClass) + let num1 = mySet.size + if(num0!=num1){ + if(i>0){ + arr.push(arr0) + } + arr0 = [] + arr0.push(m) + }else{ + arr0.push(m) + } + }) + arr.push(arr0) + let arr1 = [] + this.wareLength = []; + for(let i=0;i<arr.length;i++){ + arr1.push([]) + this.wareLength.push(arr[i][0].inspectionItemClass) + } + arr.forEach((item,index)=>{ + item.forEach((m,i)=>{ + try { + arr1[i].push(m) + } catch (e) { + console.log(e) + } + }) + }) + let arr2 = [] + arr1.forEach(item=>{ + let obj = { + bushColor:item[0].bushColor, + code:item[0].code, + color:item[0].color, + arr:item + } + arr2.push(obj) + }) + console.log(arr2) + this.wareTableData = arr2 }) this.getEquipOptions(true,this.currentSample.insProduct[0].id) + // this.$refs.wareTableData&&this.$refs.wareTableData.doLayout() }, subOtherForm(m,type){ let ids = [] @@ -1279,6 +1368,7 @@ } }) this.getTableLists0(list) + this.getReportModel(this.currentSample.id) }else{ this.tableLists = [] this.tableList = [] @@ -1484,22 +1574,11 @@ count4 += 1 } } - // else if (c.v.ps != undefined && c.v.ps.value === '鍗曚綅'&&this.PROJECT=='妫�娴嬩腑蹇�'){ - // if(count4==1||count4==2){ - // str += c.v.v?c.v.v:'' - // console.log('str',str,c) - // count4 += 1 - // } - // } } }) if (str != '') { - console.log('str',str) let count2 = 0 for (let i in this.currentSample.insProduct) { - // (this.currentSample - // .insProduct[i].unit?this.currentSample - // .insProduct[i].unit:'') if (this.currentSample.insProduct[i].templateId === a.templateId && this.currentSample .insProduct[i].inspectionItem +(this.currentSample.insProduct[i].inspectionItemSubclass == null ? '' : this.currentSample.insProduct[i].inspectionItemSubclass)+(this.currentSample.insProduct[i].inspectionItemClass==null||this.PROJECT!='瑁呭鐢电紗'?'':this.currentSample.insProduct[i].inspectionItemClass) === str) { @@ -1568,7 +1647,7 @@ let finalList = []; //鏈�缁堝�煎垪琛� conclusionList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '缁撹') finalList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '鏈�缁堝��') - a.template.forEach(b => { + a.template.forEach( b => { if (b.v.ps != undefined && b.v.ps.value === '搴忓彿' && (b.v.mc == undefined || Object.keys(b.v.mc) .length === 4)) { count1++ @@ -1577,7 +1656,7 @@ if (b.v.ps != undefined && b.v.ps.value === '瑕佹眰鍊�') { b.v.v = this.getAsk(b.i) } - if (b.v.ps != undefined && b.v.ps.value === '妫�楠屽��') { + if (b.v.ps != undefined && typeof b.v.ps.value ==='string'&&b.v.ps.value.includes('妫�楠屽��')) { b.v.v = '' b.u = '' b.i && this.param[b.i].insValue.push(b) @@ -1639,7 +1718,7 @@ this.tableWidth += (a.style.columnlen[i] === undefined ? 100 : a.style.columnlen[i]) } }) - this.currentSample.insProduct.forEach(a => { + this.currentSample.insProduct.forEach(async a => { try { let comValue = JSON.parse(a.insProductResult.comValue) for (var i = 0; i < comValue.length; i++) { @@ -1648,9 +1727,14 @@ } catch (e) {} try { let insValue = JSON.parse(a.insProductResult.insValue) + console.log(2222,insValue) for (let i = 0; i < insValue.length; i++) { - this.param[a.id].insValue[i].v.v = insValue[i].v - this.param[a.id].insValue[i].u = insValue[i].u + if(this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r)){ + this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).v.v = insValue[i].v + this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).u = insValue[i].u + // this.param[a.id].insValue[i].v.v = insValue[i].v + // this.param[a.id].insValue[i].u = insValue[i].u + } } } catch (e) {} try { @@ -1661,6 +1745,12 @@ this.$set(this.equipForm,`code`+i,equipValue[i].v) }else{ this.param[a.id].equipValue[i].v.v = equipValue[i].v + if(equipValue[i].v){ + let isItADataAcquisitionDevice = await this.determineWhetherToCollectData(equipValue[i].v) + this.param[a.id].equipValue[i].isItADataAcquisitionDevice = isItADataAcquisitionDevice + }else{ + this.param[a.id].equipValue[i].isItADataAcquisitionDevice = false + } } } } catch (e) {} @@ -1728,6 +1818,7 @@ } } } + console.log(2222,this.param) this.saveInsContext() }) break; @@ -1744,6 +1835,10 @@ // this.stopWorker(); // 澶勭悊瀹屾垚鍚庡仠姝� Worker // } }; + }, + async determineWhetherToCollectData(managementNumber){ + let res = await this.$axios.get(this.$api.deviceScope.determineWhetherToCollectData+'?managementNumber='+managementNumber) + return res.data }, handleFraction(str){ if(str&&typeof(str)=='string'&&str.includes('/')){ @@ -1939,6 +2034,7 @@ this.equipOptions = res.data.map(m => { m.value = m.managementNumber m.label = m.deviceName + m.isItADataAcquisitionDevice = m.isItADataAcquisitionDevice return m }) } @@ -2096,8 +2192,9 @@ if (this.equipOptions[i].value === val) { for (let i1 in this.param[n.i].equipName) { if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) { + this.$set(this.param[n.i].equipValue[i1].v,'v',val) this.$set(this.param[n.i].equipName[i1].v,'v',this.equipOptions[i].label) - // this.param[n.i].equipName[i1].v.v = this.equipOptions[i].label + this.param[n.i].equipValue[i1].isItADataAcquisitionDevice = this.equipOptions[i].isItADataAcquisitionDevice } } } diff --git a/src/components/do/b3-work-time-management/work-time-management.vue b/src/components/do/b3-work-time-management/work-time-management.vue index b1a9914..eb464ac 100644 --- a/src/components/do/b3-work-time-management/work-time-management.vue +++ b/src/components/do/b3-work-time-management/work-time-management.vue @@ -27,8 +27,8 @@ size="small" type="daterange" range-separator="鑷�" - format="yyyy-MM-dd HH:mm:ss" - value-format="yyyy-MM-dd HH:mm:ss" + format="yyyy-MM-dd" + value-format="yyyy-MM-dd" start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" @change="refreshTable()" clearable> </el-date-picker> @@ -75,12 +75,11 @@ </div> <div class="table"> <ValueTable ref="ValueTable0" - v-if="currentTable == 'ValueTable0'" + v-if="currentTable == 'ValueTable0'" :isColumnWidth="true" :url="$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursDay" :delUrl="$api.auxiliaryWorkingHoursDay.deleteAuxiliaryWorkingHoursDay" :componentData="componentData" :key="upIndex" @delete="handleDelete" /> - <ValueTable ref="ValueTable1" - v-if="currentTable == 'ValueTable1'" + <ValueTable ref="ValueTable1" v-if="currentTable == 'ValueTable1'" :isColumnWidth="true" :url="$api.auxiliaryOutputWorkingHours.selectAuxiliaryOutputWorkingHours" :componentData="componentData1" :key="upIndex1" /> </div> <el-dialog :title="formData.id?'缂栬緫':'褰曞叆鏁版嵁'" :visible.sync="addVisible" width="600px" :before-close="handleClose"> @@ -502,8 +501,8 @@ let year = currentDate.getFullYear(); let month = String(currentDate.getMonth() + 1).padStart(2, '0'); let day = String(currentDate.getDate()).padStart(2, '0'); - let formattedDate1 = `${year}-${month}-${day} 00:00:00`; - let formattedDate2 = `${year}-${month}-${day} 23:59:59`; + let formattedDate1 = `${year}-${month}-${day}`; + let formattedDate2 = `${year}-${month}-${day}`; this.entity.dateTime.push(formattedDate1); this.entity.dateTime.push(formattedDate2); this.componentData1.entity.dateTime.push(formattedDate1); @@ -558,7 +557,7 @@ getYearAndMonthAndDays(date){ return getYearAndMonthAndDays(date) }, - refreshTable(){ + refreshTable(e){ let entity = {} if(this.entity.week1&&this.entity.week2){ entity.week = JSON.stringify([this.entity.week1,this.entity.week2]) @@ -575,10 +574,10 @@ if(this.currentTable=='ValueTable0'){ entity.state = this.entity.state this.componentData.entity = {...this.componentData.entity,...entity} - this.$refs['ValueTable0'].selectList() + this.$refs['ValueTable0'].selectList(e) }else{ this.componentData1.entity = {...this.componentData1.entity,...entity} - this.$refs['ValueTable1'].selectList() + this.$refs['ValueTable1'].selectList(e) } this.collectWorkingHours() }, @@ -647,7 +646,7 @@ this.formData.nonproductiveTime = '' this.formData.auxiliaryProject = '' // this.addVisible = false - this.refreshTable() + this.refreshTable('page') this.collectWorkingHours() }) }else{ @@ -668,7 +667,7 @@ this.formData.nonproductiveTime = '' this.formData.auxiliaryProject = '' // this.addVisible = false - this.refreshTable() + this.refreshTable('page') this.collectWorkingHours() }) } @@ -719,7 +718,7 @@ }, submitBatchCheckDialog () { this.batchCheckDialog = false - this.refreshTable() + this.refreshTable('page') this.collectWorkingHours() }, submitCheck(e){ @@ -758,7 +757,7 @@ if (res.code == 201) return this.$message.success('鎿嶄綔鎴愬姛') this.checkVisible = false - this.refreshTable() + this.refreshTable('page') this.collectWorkingHours() }) }else{ @@ -783,7 +782,7 @@ if (res.code == 201) return this.$message.success('鎿嶄綔鎴愬姛') this.checkVisible = false - this.refreshTable() + this.refreshTable('page') this.collectWorkingHours() }) } diff --git a/src/components/do/b3-work-time-management/work-time-statistics.vue b/src/components/do/b3-work-time-management/work-time-statistics.vue index 3b873af..cd0f643 100644 --- a/src/components/do/b3-work-time-management/work-time-statistics.vue +++ b/src/components/do/b3-work-time-management/work-time-statistics.vue @@ -56,11 +56,11 @@ </div> <div class="table"> <ValueTable ref="ValueTable0" - v-if="currentTable == 'value0'" + v-if="currentTable == 'value0'" :isColumnWidth="true" :url="$api.auxiliaryOriginalHours.selectAuxiliaryOriginalHours" :componentData="componentData" :key="upIndex" /> <ValueTable ref="ValueTable1" - v-if="currentTable == 'value1'" + v-if="currentTable == 'value1'" :isColumnWidth="true" :url="$api.auxiliaryCorrectionHours.selectAuxiliaryCorrectionHours" :inputUrl="$api.auxiliaryCorrectionHours.upload" :componentData="componentData0" diff --git a/src/components/tool/value-table.vue b/src/components/tool/value-table.vue index 8d20d12..cf0b8b7 100644 --- a/src/components/tool/value-table.vue +++ b/src/components/tool/value-table.vue @@ -115,12 +115,12 @@ :summary-method="getSummaries" :row-class-name="tableRowClassName" :row-key="record=>record.id" :current-row-key="data.currentId" :highlight-current-row="data.highlight===undefined||data.highlight" :span-method="spanMethod" :key="specialKey"> - <el-table-column type="selection" width="65" v-if="data.showSelect" :key="Math.random()"> + <el-table-column type="selection" :width="selectionWidth" v-if="data.showSelect" :key="Math.random()"> </el-table-column> - <el-table-column type="index" align="center" label="搴忓彿" width="65" v-if="data.isIndex" :key="Math.random()"> + <el-table-column type="index" align="center" label="搴忓彿" :width="selectionWidth" v-if="data.isIndex" :key="Math.random()"> </el-table-column> - <el-table-column :prop="a.label" :label="a.value" :sortable="data.sort==false?false:'custom'" - v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip min-width="155" v-if="!data.headNoShow||(data.headNoShow&&data.headNoShow.length==0)||(data.headNoShow&&data.headNoShow.length>0&&!data.headNoShow.find(d=>d==a.label))"> + <el-table-column :prop="a.label" :label="a.value" :sortable="data.sort==false?false:'custom'" :isColumnWidth="isColumnWidth" :width="a.width" + v-for="(a, ai) in tableHead" :key="ai" show-overflow-tooltip :min-width="columnMinWidth" v-if="!data.headNoShow||(data.headNoShow&&data.headNoShow.length==0)||(data.headNoShow&&data.headNoShow.length>0&&!data.headNoShow.find(d=>d==a.label))"> <template slot-scope="scope"> <div v-if="showType(a.label, data.tagField) != null"> <template v-if="typeof(scope.row[a.label]) == 'object'"> @@ -335,6 +335,18 @@ } from 'jquery'; export default { props: { + selectionWidth: { + type: String, + default: () => '65' + }, + columnMinWidth: { + type: String, + default: () => '155' + }, + isColumnWidth: { + type: Boolean, + default: () => false + }, tableRowClassName: { type: Function }, @@ -574,9 +586,14 @@ this.selectList('page') }, selectList(val) { + console.log('val---', val) + console.log('this.page---', this.page) this.loading = true if(val===undefined){ this.page.current = 1; + } + if (val === 'lastPage') { + this.page.current = this.page.current - 1 // 渚嬪鍒犻櫎鏈〉鏈�鍚庝竴鏉℃暟鎹紝灏嗗綋鍓嶉〉闈㈠畾涓轰笂涓�椤碉紝闄ょ涓�椤靛 } if (this.data.isPage != undefined && this.data.isPage != true) { this.page = { @@ -599,6 +616,26 @@ this.total = res.data.body.total this.tableHead = res.data.head this.tableData = res.data.body.records + if (this.tableData.length === 0 && this.page.current > 1) { + this.selectList('lastPage') + } + if (this.isColumnWidth) { + this.tableHead.forEach(item => { + if (item.value.length === 4) { + item.width = 120 + } else if (item.value.length === 3){ + item.width = 100 + } else if (item.value.length === 5){ + item.width = 130 + } else if (item.value.length === 7){ + item.width = 160 + } else if (item.value.length === 6){ + item.width = 150 + } else { + item.width = 86 + } + }) + } // console.log(JSON.stringify(this.tableHead)+"---------"+JSON.stringify(this.tableData)) for (var a in this.data.selectField) { if (this.data.selectField[a].choose == true) { @@ -766,7 +803,7 @@ return } this.$message.success('鍒犻櫎鎴愬姛') - this.selectList() + this.selectList('page') this.$emit('delete') }).catch(e => { this.$message.error('鍒犻櫎澶辫触') @@ -828,7 +865,7 @@ } this.$message.success('淇敼鎴愬姛') this.upDia = false - this.selectList() + this.selectList('page') this.$refs.eltable.doLayout(); this.upLoad = false }).catch(e => { @@ -920,7 +957,7 @@ } this.$message.success('娣诲姞鎴愬姛') this.addDia = false - this.selectList() + this.selectList('page') this.addLoad = false }).catch(e => { this.addDia = false diff --git a/src/components/view/b1-expenses.vue b/src/components/view/b1-expenses.vue index 84d70ac..67596ee 100644 --- a/src/components/view/b1-expenses.vue +++ b/src/components/view/b1-expenses.vue @@ -86,7 +86,7 @@ </div> <div class="table"> <ValueTable ref="ValueTable" :url="$api.insOrder.costStatistics" :componentData="componentData" :key="upIndex" - @handleWeave="handleWeave" /> + @handleWeave="handleWeave" :column-min-width="'140'"/> </div> </div> <el-dialog title="鍦ㄧ嚎缂栧埗" :visible.sync="claimVisible" width="70%" :modal-append-to-body="false"> diff --git a/src/components/view/b1-inspect-order-plan.vue b/src/components/view/b1-inspect-order-plan.vue index ed93408..0ca77b4 100644 --- a/src/components/view/b1-inspect-order-plan.vue +++ b/src/components/view/b1-inspect-order-plan.vue @@ -388,15 +388,15 @@ this.loading = false; this.$message.success("璁ら鎴愬姛") this.claimVisible = false - this.refreshTable() + this.refreshTable('page') } }).catch(error => { console.error(error) this.loading = false; }) }, - refreshTable() { - this.$refs.insOrderPlan.selectList() + refreshTable(e) { + this.$refs.insOrderPlan.selectList(e) }, changeRowClass({ row, @@ -491,7 +491,7 @@ }, goback() { this.state = 0 - this.refreshTable() + this.refreshTable('page') }, handleInspection(row){ this.state = 1; @@ -511,7 +511,7 @@ if (res.code === 200) { this.loading = false; this.$message.success("鎿嶄綔鎴愬姛") - this.refreshTable() + this.refreshTable('page') } this.connectVisible = false }).catch(error => { diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue index 4e6d293..e7ac309 100644 --- a/src/components/view/b1-inspection-order.vue +++ b/src/components/view/b1-inspection-order.vue @@ -156,7 +156,7 @@ <template> <div class="inspection_order"> - <div style="width: 100%;height: 100%;" v-if="active == 0"> + <div style="width: 100%;height: 100%;" v-show="active == 0"> <div> <el-row class="title"> <el-col :span="12" style="padding-left: 20px;text-align: left;">妫�楠屼笅鍗�</el-col> @@ -773,8 +773,8 @@ this.personList = data }) }, - refreshTable() { - this.$refs['ValueTable'].selectList() + refreshTable(e) { + this.$refs['ValueTable'].selectList(e) }, refresh() { this.componentData.entity = this.HaveJson(this.entityCopy) @@ -901,7 +901,7 @@ this.$message.success('淇敼鎴愬姛') this.upLoad = false this.issuedDialogVisible = false - this.refreshTable() + this.refreshTable('page') }).catch(e => { this.$message.error('淇敼澶辫触') this.upLoad = false @@ -914,7 +914,7 @@ if (res.code===200){ this.upLoad=false this.quashDialogVisible=false - this.refreshTable() + this.refreshTable('page') this.$message.success("鏇存柊鎴愬姛") } }) @@ -923,7 +923,7 @@ if (res.code===200){ this.upLoad = false this.quashDialogVisible = false - this.refreshTable() + this.refreshTable('page') this.$message.success("鏇存柊鎴愬姛") } }) @@ -938,6 +938,7 @@ // 涓嬪崟 playOrder(num) { this.active = num + this.refreshTable('page') }, handleTab(m, i) { this.tabIndex = i; diff --git a/src/components/view/b1-report-preparation.vue b/src/components/view/b1-report-preparation.vue index ab65de2..ad04cde 100644 --- a/src/components/view/b1-report-preparation.vue +++ b/src/components/view/b1-report-preparation.vue @@ -332,8 +332,8 @@ // } }, methods: { - refreshTable() { - this.$refs['ValueTable'].selectList() + refreshTable(e) { + this.$refs['ValueTable'].selectList(e) }, refresh() { this.componentData.entity = this.HaveJson(this.entityCopy) @@ -438,13 +438,14 @@ document.body.appendChild(link); link.click(); }, + // 杩樺師鎿嶄綔 handleRestore(row) { this.$axios.post(this.$api.insReport.upReportUrl, { id: row.id }).then(res => { if (res.code === 200) { this.$message.success('鎿嶄綔鎴愬姛') - this.refreshTable() + this.refreshTable('page') } }) }, @@ -466,6 +467,7 @@ } this.issuedVisible = true; }, + // 瀹℃牳閫氳繃 subIssued() { this.loadingIssued = true; this.$axios.post(this.$api.insReport.examineReport, { @@ -477,7 +479,7 @@ return } this.$message.success('鎻愪氦鎴愬姛') - this.refreshTable() + this.refreshTable('page') this.currentInfo = null; this.issuedVisible = false; }).catch(e => { @@ -503,6 +505,7 @@ } this.approveVisible = true; }, + // 鎵瑰噯閫氳繃 subApprove() { this.loadingApprove = true; this.$axios.post(this.$api.insReport.ratifyReport, { @@ -515,11 +518,12 @@ return } this.$message.success('宸叉壒鍑�') - this.refreshTable() + this.refreshTable('page') this.currentInfo = null; this.approveVisible = false; }) }, + // 鎻愪氦鎿嶄綔 handleSubmit(row) { this.$confirm('鏄惁鎻愪氦褰撳墠鎶ュ憡?', "鎻愪氦", { confirmButtonText: "鎻愪氦", @@ -533,12 +537,13 @@ return } this.$message.success('鎻愪氦鎴愬姛') - this.refreshTable() + this.refreshTable('page') }).catch(e => { this.$message.error('鎻愪氦澶辫触') }) }).catch(() => {}) }, + // 瀹℃牳涓嶉�氳繃鍘熷洜鎻愪氦 handleIssuedReason() { if (!this.reason) { return this.$message.error('璇疯緭鍏ュ師鍥�') @@ -554,7 +559,7 @@ return } this.$message.success('鎿嶄綔鎴愬姛') - this.refreshTable() + this.refreshTable('page') this.currentInfo = null; this.reason = ''; this.issuedVisible = false; @@ -564,6 +569,7 @@ this.loadingIssuedReason = false; }) }, + // 涓嶆壒鍑嗗師鍥犳彁浜� handleApproveReason() { if (!this.reason) { return this.$message.error('璇疯緭鍏ュ師鍥�') @@ -579,7 +585,7 @@ return } this.$message.success('鎿嶄綔鎴愬姛') - this.refreshTable() + this.refreshTable('page') this.currentInfo = null; this.reason = ''; this.issuedVisible = false; diff --git a/src/components/view/b2-standard-template.vue b/src/components/view/b2-standard-template.vue index d873b1b..7b37cae 100644 --- a/src/components/view/b2-standard-template.vue +++ b/src/components/view/b2-standard-template.vue @@ -134,8 +134,8 @@ // window.excelExport = this.excelExport }, methods: { - refreshTable() { - this.$refs['ValueTable'].selectList() + refreshTable(e) { + this.$refs['ValueTable'].selectList(e) }, refresh() { this.componentData.entity = this.HaveJson(this.entityCopy) diff --git a/src/main.js b/src/main.js index 0f44237..0bd0e29 100644 --- a/src/main.js +++ b/src/main.js @@ -20,15 +20,15 @@ //鏈湴 // Vue.prototype.LOCATIONVUE = "http://127.0.0.1:80"; // const javaApi = 'http://127.0.0.1:8001'; -// const javaApi = 'http://10.1.88.162:8001'; +const javaApi = 'http://192.168.15.249:8001'; //浜� // Vue.prototype.LOCATIONVUE = "http://114.132.189.42:8080"; // const javaApi = 'http://114.132.189.42:1234'; // //妫�娴嬩腑蹇冩寮忓簱 -Vue.prototype.LOCATIONVUE = "http://10.1.200.86:8080"; -const javaApi = 'http://10.1.200.86:8001'; +// Vue.prototype.LOCATIONVUE = "http://10.1.200.86:8080"; +// const javaApi = 'http://10.1.200.86:8001'; //瑁呭鐢电紗娴嬭瘯搴� // Vue.prototype.LOCATIONVUE = "http://10.16.173.59"; -- Gitblit v1.9.3