From 735916a9ac00b8ef1a1e0a548e7804a3ffef396a Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期五, 12 一月 2024 10:39:45 +0800
Subject: [PATCH] 项目表
---
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue | 272 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 190 insertions(+), 82 deletions(-)
diff --git a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
index b1e8a9b..ca05f56 100644
--- a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
+++ b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
@@ -1,6 +1,6 @@
<template>
- <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
- <el-form ref="form" :inline="true" :model="dataForm" :disabled="dataForm.disabled" label-width="120px"
+ <zt-dialog ref="dialog" column="2" @confirm="formSubmit" >
+ <el-form ref="form" :inline="true" :model="dataForm" :disabled="dataForm.disabled" label-width="93px"
class="weiTuoDanAuto" style="padding-top: 0">
<div class="DManageForm">
<el-form-item readonly label-width="50px" label="缂栧彿:" style="width: 99% ;margin-bottom:-5px">
@@ -18,21 +18,17 @@
濮旀墭鍗曚綅
</div>
<div class="DOldForm el-border-left">
- <!-- 鍗曚綅鍚嶇О -->
<el-form-item class="marginTopAndMarginBottom" label="鍗曚綅鍚嶇О" style="width: 49%">
<el-input readonly v-model="dataForm.project.entrustUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input>
</el-form-item>
- <!-- 鑱旂郴浜� -->
<el-form-item class="marginTopAndMarginBottom" label="鑱旂郴浜�" style="width: 49%">
<el-input readonly v-model="dataForm.project.entrustUnitContact"
placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input>
</el-form-item>
- <!-- 璇︾粏鍦板潃 -->
<el-form-item label="璇︾粏鍦板潃" style="width: 49%">
<el-input readonly v-model="dataForm.project.entrustUnitAddress"
placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input>
</el-form-item>
- <!-- 鑱旂郴鏂瑰紡 -->
<el-form-item label="鑱旂郴鏂瑰紡" style="width: 49%">
<el-input readonly v-model="dataForm.project.entrustUnitContWay"
placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input>
@@ -44,21 +40,17 @@
寮�鍙戝崟浣�
</div>
<div class="DOldForm el-border-left">
- <!-- 鍗曚綅鍚嶇О -->
<el-form-item class="marginTopAndMarginBottom" label="鍗曚綅鍚嶇О" style="width: 49%">
<el-input readonly v-model="dataForm.project.developUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input>
</el-form-item>
- <!-- 鑱旂郴浜� -->
<el-form-item class="marginTopAndMarginBottom" label="鑱旂郴浜�" style="width: 49%">
<el-input readonly v-model="dataForm.project.developUnitContact"
placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input>
</el-form-item>
- <!-- 璇︾粏鍦板潃 -->
<el-form-item label="璇︾粏鍦板潃" style="width: 49%">
<el-input readonly v-model="dataForm.project.developUnitAddress"
placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input>
</el-form-item>
- <!-- 鑱旂郴鏂瑰紡 -->
<el-form-item label="鑱旂郴鏂瑰紡" style="width: 49%">
<el-input readonly v-model="dataForm.project.developUnitContWay"
placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input>
@@ -66,27 +58,20 @@
</div>
</div>
<div class="el-flex el-border-bottom">
- <div class="DWidth-Unt DAlign DHold">
+ <div class="DWidth-Unt DAlign DHold">
琚祴浠朵俊鎭�
</div>
<div class="DOldForm el-border-left">
- <!-- 鍗曚綅鍚嶇О -->
<el-form-item class="marginTopAndMarginBottom" label="杞欢鍚嶇О" style="width: 49%">
<el-input readonly v-model="dataForm.project.softwareName" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�"></el-input>
</el-form-item>
- <!-- 鑱旂郴浜� -->
<el-form-item class="marginTopAndMarginBottom" label="杞欢鏍囪瘑" style="width: 49%">
<el-input readonly v-model="dataForm.project.softwareIdentity" placeholder="璇疯緭鍏ヨ蒋浠舵爣璇�"></el-input>
</el-form-item>
- <!-- 璇︾粏鍦板潃 -->
<el-form-item label="瀵嗙骇" style="width: 49%">
<zt-dict readonly v-model="dataForm.project.secretClass" placeholder="瀵嗙骇" dict="secret_class"
clearable></zt-dict>
</el-form-item>
- <!-- <zt-form-item label="淇濆瘑绾у埆" prop="secretClass" style="width: 25%">-->
- <!-- <zt-dict v-model="datadataForm.secretClass" dict="secret_class" placeholder="淇濆瘑绾у埆" style="width:200px"></zt-dict>-->
- <!-- </zt-form-item>-->
- <!-- 鑱旂郴鏂瑰紡 -->
<el-form-item label="鍏抽敭绛夌骇" style="width: 49%">
<zt-dict readonly v-model="dataForm.project.criticalLevel" :radio="true" placeholder="鍏抽敭绛夌骇"
clearable dict="critical_level"></zt-dict>
@@ -98,11 +83,11 @@
<el-input v-model="dataForm.softwareTestOrder.programLang" placeholder="璇疯緭鍏ョ紪绋嬭瑷�"></el-input>
</el-form-item>
<div class="el-flex el-border-top-and-bottom">
- <div class="DWidth DAlign DHold">
+ <div style="width:88px !important;" class="DWidth DAlign DHold">
琚祴浠跺強鍏朵粬鐩稿叧鐗╁搧娓呭崟
</div>
- <div style="width: calc(100% - 120px);padding: 5px">
- <el-table class="el-software" height="230" border :data="dataForm.measuredList"
+ <div class="table-container" style="width: calc(100% - 120px);padding: 5px">
+ <el-table ref="tableMeasuredList" class="el-software" border :data="dataForm.measuredList"
@cell-click="handleCellClick"
stripe>
<el-table-column prop="no" align="center" width="80" label="搴忓彿"/>
@@ -120,8 +105,18 @@
<zt-dict v-model="scope.row.isMeasured" dict="is_or_not" :radio="true"></zt-dict>
</template>
</el-table-column>
+ <el-table-column fixed="right" label="鎿嶄綔" align="center">
+ <template slot-scope="scope">
+ <zt-table-button @click="deleteMeasuredRow(scope.$index)">鍒犻櫎</zt-table-button>
+ </template>
+ </el-table-column>
</el-table>
+ <div v-if="!dataForm.disabled" class="icon-container" @click="addMeasuredRow()">
+ <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� -->
+ <i class="el-icon-plus"></i>
+ </div>
</div>
+
</div>
<div class="el-flex" style="height: 40px;">
<div class="DWidth DAlign DHold">
@@ -145,7 +140,7 @@
<div class="el-border-left" style="width: 98%">
<el-form-item style="width: 20%;padding-left:5%;margin-bottom: 0">
<zt-dict v-model="dataForm.softwareTestOrder.testBasis" :radio="true" dict="test_basis"
- clearable></zt-dict>
+ clearable :inputName="dataForm.softwareTestOrder.otherBasis" origin="otherBasis" @getChangeInputData="getChangeInputData"></zt-dict>
</el-form-item>
</div>
</div>
@@ -170,7 +165,10 @@
</div>
<div class="el-border-left" style="width: 98%">
<el-form-item style="width: 20%;padding-left:5%;margin-bottom: 0">
- <zt-dict v-model="dataForm.softwareTestOrder.testStandard" :radio="true" dict="test_standard"></zt-dict>
+ <zt-dict v-model="dataForm.softwareTestOrder.testStandard" :radio="true"
+ origin="otherStandard" @getChangeInputData="getChangeInputData"
+ dict="test_standard" :inputName="dataForm.softwareTestOrder.otherStandard">
+ </zt-dict>
</el-form-item>
</div>
</div>
@@ -184,27 +182,41 @@
</el-form-item>
</div>
</div>
- <div class="DOldForm">
- <el-form-item class="marginTopAndMarginBottom" label="寮�濮嬫棩鏈�" style="width: 49%">
- <el-date-picker
+ <div class="el-flex el-border-bottom">
+ <div class="DWidth DAlign DHold">
+ 寮�濮嬫棩鏈�
+ </div>
+ <div class="el-border-left startDate" style="width: 45%;">
+ <el-form-item style="width: 100%;padding-left:20px;margin:0;">
+ <el-date-picker
v-model="dataForm.softwareTestOrder.startDate"
type="date"
placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </el-form-item>
- <!-- 鑱旂郴浜� -->
- <el-form-item class="marginTopAndMarginBottom" label="缁撴潫鏃ユ湡" style="width: 49%">
+ </el-date-picker>
+ </el-form-item>
+ </div>
+ <div class="DWidth DAlign DHold">
+ 缁撴潫鏃ユ湡
+ </div>
+ <div class="el-border-left endDate" style="width: 42%">
+ <el-form-item style="width: 100%;padding-left:20px;margin:0;">
<el-date-picker
- v-model="dataForm.softwareTestOrder.endDate"
- type="date"
- placeholder="閫夋嫨鏃ユ湡">
+ v-model="dataForm.softwareTestOrder.endDate"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡">
</el-date-picker>
</el-form-item>
+ </div>
</div>
- <div class="DOldForm el-border-bottom">
- <el-form-item label="娴嬭瘯鍦哄湴" style="width: 98%">
- <el-input v-model="dataForm.softwareTestOrder.testVenue" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input>
+ <div class="el-flex el-border-bottom">
+ <div class="DWidth DAlign DHold">
+ 娴嬭瘯鍦哄湴
+ </div>
+ <div class="el-border-left testVenue" style="width: 98%">
+ <el-form-item style="width: 98%;padding-left:20px;margin:0;">
+ <el-input v-model="dataForm.softwareTestOrder.testVenue" placeholder="璇疯緭鍏ユ祴璇曞満鍦�"></el-input>
</el-form-item>
+ </div>
</div>
<div class="el-flex">
<div class="DWidth DAlign DHold">
@@ -213,7 +225,8 @@
<div class="el-border-left" style="width: 98%;">
<el-form-item label="鏄惁鐩朇NAS绔�" label-width="130px" style="padding-left:5%;margin-bottom:0">
<zt-dict v-model="dataForm.softwareTestOrder.otherRequire" :radio="true"
- dict="other_require"></zt-dict>
+ dict="is_or_not"></zt-dict>
+ <span>鍏朵粬:<el-input class="requireOther" v-model="dataForm.softwareTestOrder.requireOther"></el-input></span>
</el-form-item>
</div>
</div>
@@ -225,11 +238,17 @@
</div>
<div class="" style="width: 100%;">
<div class="el-flex " style="height: 40px">
- <div style="width: 70%">
+ <div style="width: 60%">
<span>{{ dataForm.softwareTestOrder.entrustSign }}</span>
+<!-- <zt-select v-model="dataForm.softwareTestOrder.entrustSign" url="/sys/userEx/getUsersList" :multiple="true" :clearable="true" placeholder="濮旀墭鏂逛汉鍛�"/>-->
</div>
- <div class="el-flex">
- {{ dataForm.softwareTestOrder.entrustSignDate | filterTime('YYYY骞碝M鏈圖D鏃�') }}
+ <div class="el-flex" style="margin-left: 10%">
+ <el-date-picker
+ v-model="dataForm.softwareTestOrder.entrustSignDate"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+<!-- {{ dataForm.softwareTestOrder.entrustSignDate | filterTime('YYYY骞碝M鏈圖D鏃�') }}-->
</div>
</div>
</div>
@@ -246,32 +265,59 @@
娴嬭瘯淇℃伅
</div>
<div class="DOldForm el-border-left">
- <el-form-item class="marginTopAndMarginBottom" label="娴嬭瘯鏃ユ湡" style="width: 49%">
- <el-date-picker
- v-model="dataForm.softwareTestOrder.testDate"
- type="date"
- placeholder="娴嬭瘯鏃ユ湡">
- </el-date-picker>
- </el-form-item>
- <el-form-item class="marginTopAndMarginBottom" label="浜や粯鏃ユ湡" style="width: 49%">
- <el-date-picker
- v-model="dataForm.softwareTestOrder.deliveryDate"
- type="date"
- placeholder="浜や粯鏃ユ湡">
- </el-date-picker>
- </el-form-item>
- <el-form-item label="妫�娴嬭垂鐢�" style="width: 98%">
- <el-input v-model="dataForm.softwareTestOrder.testCost" placeholder="璇疯緭鍏ユ娴嬭垂鐢�"></el-input>
- </el-form-item>
- <el-form-item class="el-border-bottom marginTopAndMarginBottom2" label="鐗╁搧鎬ц川" style="width: 100%">
- <zt-dict v-model="dataForm.softwareTestOrder.articleNature" :radio="true"
- dict="article_nature"></zt-dict>
- </el-form-item>
- <div class="el-flex el-border-bottom" style="margin-top: -10px;">
+ <div class="el-flex el-border-bottom">
+ <div class="DWidth DAlign DHold">
+ 娴嬭瘯鏃ユ湡
+ </div>
+ <div class="el-border-left startDate" style="width: 45%;">
+ <el-form-item style="width: 100%;padding-left:20px;margin:0;">
+ <el-date-picker
+ v-model="dataForm.softwareTestOrder.testDate"
+ type="date"
+ placeholder="閫夋嫨娴嬭瘯鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ </div>
+ <div class="DWidth DAlign DHold">
+ 浜や粯鏃ユ湡
+ </div>
+ <div class="el-border-left endDate" style="width: 42%">
+ <el-form-item style="width: 100%;padding-left:20px;margin:0;">
+ <el-date-picker
+ v-model="dataForm.softwareTestOrder.deliveryDate"
+ type="date"
+ placeholder="閫夋嫨浜や粯鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ </div>
+ </div>
+ <div class="el-flex el-border-bottom">
+ <div class="DWidth DAlign DHold">
+ 妫�娴嬭垂鐢�
+ </div>
+ <div class="el-border-left testCost" style="width: 98%">
+ <el-form-item style="width: 98%;padding-left:20px;margin:0;">
+ <el-input v-model="dataForm.softwareTestOrder.testCost" placeholder="璇疯緭鍏ユ娴嬭垂鐢�"></el-input>
+ </el-form-item>
+ </div>
+ </div>
+ <div class="el-flex el-border-bottom">
+ <div class="DWidth DAlign DHold">
+ 鐗╁搧鎬ц川
+ </div>
+ <div class="el-border-left" style="width: 98%">
+ <el-form-item style="width: 20%;padding-left:20px;margin:0;">
+ <zt-dict v-model="dataForm.softwareTestOrder.articleNature" :radio="true"
+ origin="otherNature" @getChangeInputData="getChangeInputData"
+ dict="article_nature" :inputName="dataForm.softwareTestOrder.otherNature"></zt-dict>
+ </el-form-item>
+ </div>
+ </div>
+ <div class="el-flex el-border-bottom">
<div class="DWidth DAlign DHold">
鏍峰搧鐘舵��
</div>
- <div class="el-border-left" style="width: 100%;">
+ <div class="el-border-left" style="width: 98%;">
<el-form-item label="鏄惁婊¤冻娴嬭瘯瑕佹眰:" label-width="160px" style="margin-bottom: 0">
<zt-dict v-model="dataForm.softwareTestOrder.sampleStatus" :radio="true"
dict="is_satisfy"></zt-dict>
@@ -279,16 +325,25 @@
</div>
</div>
<div class="el-flex el-border-top">
- <div class="DWidth DAlign DHold">
+ <div style="width:88px !important;" class="DWidth DAlign DHold">
浜や粯鐗╂竻鍗�
</div>
- <div style="width: calc(100% - 120px);padding: 5px">
- <el-table class="el-software" height="100" border :data="dataForm.deliverableList"
+ <div class="table-container" style="width: calc(100% - 120px);padding: 5px">
+ <el-table ref="tableDeliverableList" class="el-software" border :data="dataForm.deliverableList"
stripe>
<el-table-column type="index" align="center" width="80" label="搴忓彿"/>
<el-table-column prop="name" min-width="300" label="鍚嶇О"></el-table-column>
<el-table-column prop="identify" align="center" width="380" label="鏍囪瘑/鐗堟湰"></el-table-column>
+ <el-table-column fixed="right" label="鎿嶄綔" align="center">
+ <template slot-scope="scope">
+ <zt-table-button @click="deleteDeliverableRow(scope.$index)">鍒犻櫎</zt-table-button>
+ </template>
+ </el-table-column>
</el-table>
+ <div v-if="!dataForm.disabled" class="icon-container" @click="addDeliverableRow()">
+ <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� -->
+ <i class="el-icon-plus"></i>
+ </div>
</div>
</div>
</div>
@@ -302,11 +357,9 @@
style="width: 98%">
<el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input>
</el-form-item>
- <!-- 鑱旂郴浜� -->
<el-form-item class="marginTopAndMarginBottom3" label-width="130px" label="鍦板潃" style="width: 98%">
<el-input v-model="dataForm.testAgencyInfo.site" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input>
</el-form-item>
- <!-- 璇︾粏鍦板潃 -->
<el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="涓氬姟鑱旂郴" style="width: 49%">
<el-input v-model="dataForm.testAgencyInfo.businContact" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input>
</el-form-item>
@@ -341,11 +394,17 @@
</div>
<div class="" style="width: 100%;">
<div class="el-flex" style="height: 40px">
- <div style="width: 70%">
- <span>{{ dataForm.contractSign }}</span>
+ <div style="width: 60%">
+ <zt-select v-model="dataForm.softwareTestOrder.contractSign" url="/sys/userEx/getUsersList" placeholder="鎵挎墭鏂逛汉鍛�"/>
+<!-- <span>{{ dataForm.contractSign }}</span>-->
</div>
- <div class="el-flex">
- {{ dataForm.softwareTestOrder.contractSignDate | filterTime('YYYY骞碝M鏈圖D鏃�') }}
+ <div class="el-flex" style="margin-left: 10%">
+<!-- {{ dataForm.softwareTestOrder.contractSignDate | filterTime('YYYY骞碝M鏈圖D鏃�') }}-->
+ <el-date-picker
+ v-model="dataForm.softwareTestOrder.contractSignDate"
+ type="date"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
</div>
</div>
</div>
@@ -369,12 +428,9 @@
</div>
</div>
</div>
- <div class="el-flex order-sc" style="height: 170px">
-<!-- <div class="DPadding3 DAlign DHold">-->
-<!-- 濮旀墭鍗曚笂浼�-->
-<!-- </div>-->
+ <div class="el-flex order-sc" style="height: 60px">
<el-form-item class="marginTopAndMarginBottom" style="width: 100%">
- <config-uploader busi-type="test_order" model-name="dataForm" :dataForm="dataForm"
+ <config-uploader :lineHeight="true" busi-type="test_order" model-name="dataForm" :dataForm="dataForm"
v-model="dataForm.files"/>
</el-form-item>
</div>
@@ -393,7 +449,8 @@
export default {
data() {
return {
- time: '2023-11-13',
+ // inputName:'',
+ eventIndex:'',
editingCell:null,
dataForm: {
id: null,
@@ -418,7 +475,11 @@
entrustSign:'',
entrustSignDate:'',
contractSign:'',
- contractSignDate:''
+ contractSignDate:'',
+ otherBasis:'otherBasis',
+ otherStandard:'otherStandard',
+ requireOther:'requireOther',
+ otherNature:'otherNature',
},
project: {
code: '',
@@ -442,7 +503,6 @@
softwareType: '',
tenantId: '',
testLevel: '',
-
},
testAgencyInfo: {
agencyName:'',
@@ -460,6 +520,19 @@
}
},
methods: {
+ // getDictLabel(event,name){
+ // if(name.indexOf("鍏朵粬")!=-1){
+ // console.log(name,'瀛楀吀鍚嶅瓧q34567')
+ // this.eventIndex = event
+ // this.inputName='q14eeff'
+ // }
+ // },
+ getChangeInputData(data,ogn){
+ // console.log(ogn)
+ this.$set(this.dataForm.softwareTestOrder, ogn, data);
+ console.log(this.dataForm.softwareTestOrder[ogn]);
+ // console.log(this.dataForm.softwareTestOrder[ogn])
+ },
handleCellClick(row, column) {
this.editingCell = {row, column}
this.$nextTick(() => {
@@ -511,6 +584,27 @@
}
}
// console.log(this.dataForm, "this.dataForm")
+ console.log(this.dataForm,"getInfo this.dataForm")
+ },
+ addDeliverableRow() {
+ this.dataForm.deliverableList.push({})
+ this.$nextTick(() => {
+ const tableBody = this.$refs.tableDeliverableList.$el.querySelector('.el-table__body-wrapper')
+ tableBody.scrollTop = tableBody.scrollHeight
+ })
+ },
+ deleteDeliverableRow(index){
+ this.dataForm.deliverableList.splice(index, 1)
+ },
+ addMeasuredRow() {
+ this.dataForm.measuredList.push({})
+ this.$nextTick(() => {
+ const tableBody = this.$refs.tableMeasuredList.$el.querySelector('.el-table__body-wrapper')
+ tableBody.scrollTop = tableBody.scrollHeight
+ })
+ },
+ deleteMeasuredRow(index){
+ this.dataForm.measuredList.splice(index, 1)
},
async print(){
var params = qs.stringify({
@@ -522,7 +616,7 @@
},
// 琛ㄥ崟鎻愪氦
async formSubmit() {
- console.log(this.dataForm, ' this.dataForm')
+ console.log(this.dataForm, 'formSubmit this.dataForm')
if(this.dataForm.softwareTestOrder.testType1){
this.dataForm.softwareTestOrder.testType1=this.dataForm.softwareTestOrder.testType1.join(',')
}
@@ -607,7 +701,18 @@
.DOldForm > .el-form-item > .el-form-item__content {
width: calc(100% - 120px);
}
-
+.startDate > .el-form-item > .el-form-item__content {
+ width: 95%;
+}
+.endDate > .el-form-item > .el-form-item__content {
+ width: 95%;
+}
+.testCost > .el-form-item > .el-form-item__content {
+ width: 100%;
+}
+.testVenue > .el-form-item > .el-form-item__content {
+ width: 100%;
+}
.el-border-bottom {
border-bottom: 1px solid rgba(0, 0, 0, .2);
}
@@ -650,4 +755,7 @@
.test-type-line-height>.el-form-item>.el-form-item__content{
line-height: 30px;
}
+.requireOther.el-input{
+ position: absolute;
+}
</style>
--
Gitblit v1.9.1