From 1772fc5e211f9e9e0ab4cdc6c29b436aac178c2a Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 23 二月 2024 12:19:55 +0800
Subject: [PATCH] 修改
---
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue | 790 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 486 insertions(+), 304 deletions(-)
diff --git a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
index 9286c4a..2b11436 100644
--- a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
+++ b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
@@ -1,10 +1,10 @@
<template>
<zt-dialog ref="dialog" column="2" @confirm="formSubmit">
- <el-form ref="form" :inline="true" :model="dataForm" :disabled="dataForm.disabled" label-width="120px"
- class="weiTuoDanAuto">
+ <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="60px" label="缂栧彿:" style="width: 99% ;margin-bottom:-5px">
- <span>{{ dataForm.project.code }}</span>
+ <el-form-item readonly label-width="50px" label="缂栧彿:" style="width: 99% ;margin-bottom:-5px">
+ <span>{{ dataForm.softwareTestOrder.code}}</span>
</el-form-item>
</div>
<div style="border: 1px solid rgba(0,0,0,.2)">
@@ -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>
@@ -70,23 +62,16 @@
琚祴浠朵俊鎭�
</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,19 +83,28 @@
<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.softwareTestOrderMeasuredList"
+ <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 type="index" align="center" width="80" label="搴忓彿"/>
- <el-table-column prop="dictLabel" min-width="300" label="鍚嶇О"></el-table-column>
- <el-table-column align="center" width="180" label="鏍囪瘑/鐗堟湰">
+ <el-table-column prop="no" align="center" width="80" label="搴忓彿">
<template slot-scope="scope">
- <span v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property">
- <el-input ref="editInput" @change="changeExpireSituation(scope.row)" v-model="scope.row.identify" placeholder="鏍囪瘑/鐗堟湰"></el-input>
+ <span v-html="indexFormat(scope.$index)"></span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="name" min-width="300" label="鍚嶇О">
+ <template v-slot="{ row }">
+ <el-input v-model="row.name" placeholder="鍚嶇О"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column align="center" prop="identify" width="180" label="鏍囪瘑/鐗堟湰">
+ <template slot-scope="scope">
+ <span
+ v-if="editingCell && editingCell.row === scope.row && editingCell.column.property === scope.column.property">
+ <el-input ref="editInput" v-model="scope.row.identify" placeholder="鏍囪瘑/鐗堟湰"></el-input>
</span>
<span v-else>{{ scope.row.identify }}</span>
</template>
@@ -118,14 +112,20 @@
<el-table-column label="鏄惁琚祴浠�" width="180" align="center">
<template slot-scope="scope">
<zt-dict v-model="scope.row.isMeasured" dict="is_or_not" :radio="true"></zt-dict>
- <!-- <el-radio-group v-model="scope.row.isMeasured">-->
- <!-- <el-radio :label="1">鏄�</el-radio>-->
- <!-- <el-radio :label="0">鍚�</el-radio>-->
- <!-- </el-radio-group>-->
+ </template>
+ </el-table-column>
+ <el-table-column fixed="right" label="鎿嶄綔" align="center">
+ <template slot-scope="scope">
+ <zt-table-button @click="deleteMeasuredRow(scope.$index,scope.row.id)">鍒犻櫎</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">
@@ -133,11 +133,6 @@
</div>
<div style="width: calc(100% - 120px)">
<zt-dict v-model="dataForm.project.softwareType" :radio="true" dict="software_type"></zt-dict>
- <!-- <el-checkbox-group v-model="dataForm.checkList">-->
- <!-- <el-checkbox :label="0">閫氱敤搴旂敤杞欢</el-checkbox>-->
- <!-- <el-checkbox :label="1">琛屼笟搴旂敤杞欢</el-checkbox>-->
- <!-- <el-checkbox :label="2">宓屽叆寮忚蒋浠�</el-checkbox>-->
- <!-- </el-checkbox-group>-->
</div>
</div>
</div>
@@ -154,12 +149,8 @@
<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>
- <!-- <el-checkbox-group v-model="dataForm.checkList">-->
- <!-- <el-checkbox :label="0">GB/T 25000.21-2016</el-checkbox>-->
- <!-- <el-checkbox :label="1">GJB/Z 141-2004</el-checkbox>-->
- <!-- <el-checkbox :label="2">鍏朵粬锛歿{dataForm.other}}</el-checkbox>-->
- <!-- </el-checkbox-group>-->
+ clearable :inputName="dataForm.softwareTestOrder.otherBasis" origin="otherBasis"
+ @getChangeInputData="getChangeInputData"></zt-dict>
</el-form-item>
</div>
</div>
@@ -167,12 +158,13 @@
<div class="DWidth DAlign DHold">
娴嬭瘯绫诲瀷
</div>
- <div class="el-border-left" style="width: 98%">
- <el-form-item style="width: 40%;padding-left:5%;">
+ <div class="el-border-left test-type-line-height" style="width: 98%">
+ <el-form-item style="width: 40%;padding-left:5%;margin-bottom: 0">
<zt-dict-checkbox v-model="dataForm.softwareTestOrder.testType1" column="2" dict="test_type1"
clearable></zt-dict-checkbox>
</el-form-item>
- <el-form-item style="width: 60%;padding-left: 15%;border-left: 1px solid rgba(0,0,0,.2);">
+ <el-form-item
+ style="width: 60%;padding-left: 15%;border-left: 1px solid rgba(0,0,0,.2);margin-bottom: 0">
<zt-dict-checkbox v-model="dataForm.softwareTestOrder.testType2" dict="test_type2"
clearable></zt-dict-checkbox>
</el-form-item>
@@ -185,14 +177,9 @@
<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>
- <!-- <el-checkbox-group v-model="dataForm.checkList">-->
- <!-- <el-checkbox :label="0">GJB 438B-2009銆婂啗鐢ㄨ蒋浠跺紑鍙戞枃妗i�氱敤瑕佹眰銆�</el-checkbox>-->
- <!-- <el-checkbox :label="1">HJB 754-2017 銆婃捣鍐涘啗鐢ㄨ蒋浠跺畾鍨嬫祴璇勫ぇ绾茬紪鍒惰姹傘��</el-checkbox>-->
- <!-- <el-checkbox :label="2">HJB 753-2017 銆婃捣鍐涘啗鐢ㄨ蒋浠跺畾鍨嬫祴璇勬姤鍛婄紪鍒惰姹傘��</el-checkbox>-->
- <!-- <el-checkbox :label="3">銆婃捣鍐涜澶囪蒋浠舵祴璇曠粏鍒欍��</el-checkbox>-->
- <!-- <el-checkbox :label="4">鍏朵粬锛歿{dataForm.other}}</el-checkbox>-->
- <!-- </el-checkbox-group>-->
+ origin="otherStandard" @getChangeInputData="getChangeInputData"
+ dict="test_standard" :inputName="dataForm.softwareTestOrder.otherStandard">
+ </zt-dict>
</el-form-item>
</div>
</div>
@@ -202,35 +189,45 @@
</div>
<div class="el-border-left" style="width: 98%">
<el-form-item style="padding-left:5%;margin-bottom:0">
- <zt-dict v-model="dataForm.project.testLevel" :radio="true" dict="test_level"></zt-dict>
- <!-- <el-checkbox-group v-model="dataForm.checkList">-->
- <!-- <el-checkbox :label="0">閰嶇疆椤规祴璇�</el-checkbox>-->
- <!-- <el-checkbox :label="1">绯荤粺娴嬭瘯</el-checkbox>-->
- <!-- </el-checkbox-group>-->
+ <zt-dict v-model="dataForm.softwareTestOrder.testLevel" :radio="true" dict="test_level"></zt-dict>
</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-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="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </el-form-item>
+ </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>
- </el-form-item>
+ <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">
@@ -240,6 +237,8 @@
<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="is_or_not"></zt-dict>
+ <span>鍏朵粬:<el-input class="requireOther"
+ v-model="dataForm.softwareTestOrder.requireOther"></el-input></span>
</el-form-item>
</div>
</div>
@@ -251,16 +250,17 @@
</div>
<div class="" style="width: 100%;">
<div class="el-flex " style="height: 40px">
- <div style="width: 70%">
- <span>{{ dataForm.write }}</span>
+ <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">
- <div style="width: 60px;text-align: center">{{ dataForm.year }}</div>
- 骞�
- <div style="width: 40px;text-align: center">{{ dataForm.month }}</div>
- 鏈�
- <div style="width: 40px;text-align: center">{{ dataForm.day }}</div>
- 鏃�
+ <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>
@@ -277,65 +277,97 @@
娴嬭瘯淇℃伅
</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>
- <!-- <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 class="el-border-bottom marginTopAndMarginBottom2" label="鐗╁搧鎬ц川" style="width: 100%">
- <zt-dict v-model="dataForm.softwareTestOrder.articleNature" :radio="true"
- dict="article_nature"></zt-dict>
- <!-- <el-radio-group v-model="dataForm.criticalLevel">-->
- <!-- <el-radio :label="0">鐜板満妫�娴�</el-radio>-->
- <!-- <el-radio :label="1">瀹㈡埛閫佹牱</el-radio>-->
- <!-- <el-radio :label="2">鍏朵粬锛歿{dataForm.other}}</el-radio>-->
- <!-- </el-radio-group>-->
- </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>
- <!-- <el-radio-group v-model="dataForm.checkList">-->
- <!-- <el-radio :label="0">鏄�</el-radio>-->
- <!-- <el-radio :label="1">鍚�</el-radio>-->
- <!-- </el-radio-group>-->
</el-form-item>
</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="230" border :data="dataForm.softwareTestOrderDeliverableList"
+ <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="dictLabel" min-width="300" label="鍚嶇О"></el-table-column>
- <el-table-column prop="identify" align="center" width="380" label="鏍囪瘑/鐗堟湰"></el-table-column>
+ <el-table-column type="index" align="center" width="80" label="搴忓彿">
+ <template slot-scope="scope">
+ <span v-html="indexFormat(scope.$index)"></span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="name" min-width="300" label="鍚嶇О">
+ <template v-slot="{ row }">
+ <el-input v-model="row.name" placeholder="鍚嶇О"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column prop="identify" align="center" width="380" label="鏍囪瘑/鐗堟湰">
+ <template v-slot="{ row }">
+ <el-input v-model="row.identify" placeholder="鏍囪瘑/鐗堟湰"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column fixed="right" label="鎿嶄綔" align="center">
+ <template slot-scope="scope">
+ <zt-table-button @click="deleteDeliverableRow(scope.$index,scope.row.id)">鍒犻櫎</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>
@@ -349,11 +381,9 @@
style="width: 98%">
<el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input>
</el-form-item>
- <!-- 鑱旂郴浜� -->
- <el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="鍦板潃" style="width: 98%">
+ <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>
@@ -388,29 +418,25 @@
</div>
<div class="" style="width: 100%;">
<div class="el-flex" style="height: 40px">
- <div style="width: 70%">
- <span>{{ dataForm.write }}</span>
+ <div style="width: 60%">
+ <zt-select v-model="dataForm.softwareTestOrder.contractSign" :datas="usersList"
+ placeholder="鎵挎墭鏂逛汉鍛�"/>
+ <!-- <span>{{ dataForm.contractSign }}</span>-->
</div>
- <div class="el-flex">
- <div style="width: 60px;text-align: center">
- {{ getYearMonDay(dataForm.softwareTestOrder.startDate).year }}
- </div>
- 骞�
- <div style="width: 40px;text-align: center">
- {{ getYearMonDay(dataForm.softwareTestOrder.startDate).month }}
- </div>
- 鏈�
- <div style="width: 40px;text-align: center">
- {{ getYearMonDay(dataForm.softwareTestOrder.startDate).day }}
- </div>
- 鏃�
+ <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>
</div>
</div>
</div>
- <div class="el-flex">
+ <div class="el-flex el-border-bottom">
<div class="DPadding3 DAlign DHold">
璇存槑
</div>
@@ -427,204 +453,360 @@
</div>
</div>
</div>
+ <div class="el-flex order-sc" style="height: 60px">
+ <el-form-item class="marginTopAndMarginBottom" style="width: 100%">
+ <config-uploader :lineHeight="true" busi-type="test_order" model-name="dataForm" :dataForm="dataForm"
+ v-model="dataForm.files"/>
+ </el-form-item>
+ </div>
</div>
</el-form>
<template v-slot:footer>
- <el-button perm="project:view" type="primary">鎵撳嵃</el-button>
+ <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button>
</template>
</zt-dialog>
</template>
<script>
-import {getYearMonDay} from '@/commonJS/common'
+ import Cookies from 'js-cookie'
+ import qs from 'qs'
-export default {
- data() {
- return {
- time: '2023-11-13',
- editingCell:null,
- dataForm: {
- id: null,
- testAgencyInfo: {},
- projectId: null,
- project: {
- code: '',
- creator: '',
- criticalLevel: '',
- developUnitAddress: '',
- developUnitContWay: '',
- developUnitContact: '',
- developUnitName: '',
- entrustUnitAddress: '',
- entrustUnitContWay: '',
- entrustUnitContact: '',
- entrustUnitName: '',
- softwareIdentity: '',
- isContract: '',
- projectLeader: '',
- projectReviewer: '',
- projectTesters: '',
- secretClass: '',
- softwareName: '',
- softwareType: '',
- tenantId: '',
- testLevel: '',
-
+ export default {
+ data() {
+ return {
+ // inputName:'',
+ eventIndex: '',
+ editingCell: null,
+ dataForm: {
+ id: null,
+ projectId: null,
+ softwareTestOrder: {
+ code: '',
+ optEnviron: '',
+ programLang: '',
+ testBasis: '',
+ testType1: '',
+ testType2: '',
+ testStandard: '',
+ startDate: '',
+ endDate: '',
+ testVenue: '',
+ otherRequire: '',
+ testDate: '',
+ deliveryDate: '',
+ testCost: '',
+ articleNature: '',
+ sampleStatus: '',
+ entrustSign: '',
+ entrustSignDate: '',
+ contractSign: '',
+ contractSignDate: '',
+ otherBasis: 'otherBasis',
+ otherStandard: 'otherStandard',
+ requireOther: 'requireOther',
+ otherNature: 'otherNature',
+ },
+ project: {
+ code: '',
+ creator: '',
+ criticalLevel: '',
+ developUnitAddress: '',
+ developUnitContWay: '',
+ developUnitContact: '',
+ developUnitName: '',
+ entrustUnitAddress: '',
+ entrustUnitContWay: '',
+ entrustUnitContact: '',
+ entrustUnitName: '',
+ softwareIdentity: '',
+ isContract: '',
+ projectLeader: '',
+ projectReviewer: '',
+ projectTesters: '',
+ secretClass: '',
+ softwareName: '',
+ softwareType: '',
+ tenantId: '',
+ testLevel: '',
+ },
+ testAgencyInfo: {
+ agencyName: '',
+ site: '',
+ businContact: '',
+ businComplaint: '',
+ laborContact: '',
+ labContactNum: '',
+ postalCode: '',
+ fax: ''
+ },
+ deliverableList: [],
+ measuredList: [],
},
- softwareTestOrder: {},
- softwareTestOrderDeliverableList: [],
- softwareTestOrderMeasuredList: [],
+ usersList:[]
}
- }
- },
- computed: {
- getYear() {
- return getYearMonDay(this.dataForm.softwareTestOrder.startDate).year
},
- getMon() {
- return getYearMonDay(this.dataForm.softwareTestOrder.startDate).month
- },
- getDay() {
- return getYearMonDay(this.dataForm.softwareTestOrder.startDate).day
- },
- },
- methods: {
- getYearMonDay,
- handleCellClick(row, column) {
- this.editingCell = {row, column}
- this.$nextTick(() => {
- if(this.$refs.editInput){
- this.$refs.editInput.focus()
- }
- })
- console.log(this.editingCell, 'this.editingCell')
- },
+ methods: {
+ 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(() => {
+ if (this.$refs.editInput) {
+ this.$refs.editInput.focus()
+ }
+ })
+ console.log(this.editingCell, 'this.editingCell')
+ },
- init(data){
- this.dataForm.id = null
- this.dataForm.projectId = data.id
- this.getInfo()
- },
- // 鑾峰彇淇℃伅
- async getInfo() {
- let params = {
- orderId: this.dataForm.id,
- projectId: this.dataForm.projectId
- }
- let res = await this.$http.get(`/project/SoftwareTestOrder/getDto`, {params: params})
- if (res.data) {
- this.dataForm = {
- ...res.data
+ init(id, row) {
+ this.dataForm.id = row.id
+ this.dataForm.projectId = row.projectId
+ // this.dataForm.disabled
+ this.getInfo()
+ console.log(this.dataForm.id, this.dataForm.projectId, 'params params')
+ },
+ // 鑾峰彇淇℃伅
+ async getInfo() {
+ let params = {
+ orderId: this.dataForm.id,
+ projectId: this.dataForm.projectId
}
- }
- console.log(this.dataForm, "this.dataForm")
- },
-
- // 琛ㄥ崟鎻愪氦
- async formSubmit() {
- console.log(this.dataForm, ' this.dataForm')
- let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/SoftwareTestOrder/', this.dataForm)
- if (res.success) {
- await this.$tip.success()
- this.$refs.dialog.close()
- this.$emit('refreshDataList')
+ console.log(this.dataForm, "this.dataForm")
+ let res = await this.$http.get(`/project/SoftwareTestOrder/getDto`, {params: params})
+ if (res.data) {
+ this.dataForm = {
+ ...this.dataForm,
+ ...res.data
+ }
+ if (this.dataForm.softwareTestOrder) {
+ if (this.dataForm.softwareTestOrder.testType1) {
+ this.dataForm.softwareTestOrder.testType1 = this.dataForm.softwareTestOrder.testType1.split(',')
+ console.log(this.dataForm.softwareTestOrder.testType1)
+ }
+ if (this.dataForm.softwareTestOrder.testType2) {
+ this.dataForm.softwareTestOrder.testType2 = this.dataForm.softwareTestOrder.testType2.split(',')
+ console.log(this.dataForm.softwareTestOrder.testType2)
+ }
+ }
+ if (this.dataForm.project === null) {
+ this.dataForm.project = {}
+ }
+ if (this.dataForm.softwareTestOrder === null) {
+ this.dataForm.softwareTestOrder = {}
+ }
+ if (this.dataForm.testAgencyInfo === null) {
+ this.dataForm.testAgencyInfo = {}
+ }
+ }
+ await this.getusersList()
+ // console.log(this.dataForm, "this.dataForm")
+ console.log(this.dataForm, "getInfo this.dataForm")
+ },
+ indexFormat(index) {
+ return index += 1
+ },
+ addDeliverableRow() {
+ this.dataForm.deliverableList.push({})
+ this.$nextTick(() => {
+ const tableBody = this.$refs.tableDeliverableList.$el.querySelector('.el-table__body-wrapper')
+ tableBody.scrollTop = tableBody.scrollHeight
+ })
+ },
+ async getusersList() {
+ let res = await this.$http.get(`/sys/userEx/getUsersList`)
+ if (res.success) {
+ this.usersList = res.data;
+ }
+ },
+ async deleteDeliverableRow(index,id) {
+ if (await this.$tip.confirm(this.$t('prompt.info', {'handle': this.$t('delete')}))) {
+ if (id != null) {
+ let res = await this.$http.delete('/project/SoftwareTestOrderDeliverable/', {data: [id]})
+ }
+ 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
+ })
+ },
+ async deleteMeasuredRow(index, id) {
+ if (await this.$tip.confirm(this.$t('prompt.info', {'handle': this.$t('delete')}))) {
+ if (id != null) {
+ let res = await this.$http.delete('/project/SoftwareTestOrderMeasured/', {data: [id]})
+ }
+ this.dataForm.measuredList.splice(index, 1)
+ }
+ },
+ async print() {
+ var params = qs.stringify({
+ token: Cookies.get('token'),
+ id: this.dataForm.id
+ })
+ let apiURL = `/project/SoftwareTestOrder/exportWord/`
+ window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
+ },
+ // 琛ㄥ崟鎻愪氦
+ async formSubmit() {
+ console.log(this.dataForm, 'formSubmit this.dataForm')
+ if (this.dataForm.softwareTestOrder.testType1) {
+ this.dataForm.softwareTestOrder.testType1 = this.dataForm.softwareTestOrder.testType1.join(',')
+ }
+ if (this.dataForm.softwareTestOrder.testType2) {
+ this.dataForm.softwareTestOrder.testType2 = this.dataForm.softwareTestOrder.testType2.join(',')
+ }
+ console.log(this.dataForm.softwareTestOrder.testType1)
+ let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/SoftwareTestOrder/', this.dataForm)
+ if (res.success) {
+ await this.$tip.success()
+ this.$refs.dialog.close()
+ this.$emit('refreshDataList')
+ } else {
+ if (this.dataForm.softwareTestOrder.testType1) {
+ this.dataForm.softwareTestOrder.testType1 = this.dataForm.softwareTestOrder.testType1.split(',')
+ }
+ if (this.dataForm.softwareTestOrder.testType2) {
+ this.dataForm.softwareTestOrder.testType2 = this.dataForm.softwareTestOrder.testType2.split(',')
+ }
+ }
}
}
}
-}
</script>
<style>
-.weiTuoDanAuto {
- width: 70%;
-//border: 1px solid; margin: 0 auto;
-}
+ .weiTuoDanAuto {
+ width: 70%;
+ /*border: 1 px solid;*/
+ margin: 0 auto;
+ }
-.weiTuoDanAuto .el-radio {
- padding: 5px;
-}
+ .weiTuoDanAuto .el-radio {
+ padding: 5px;
+ margin-right: 10px;
+ }
-.zt .weiTuoDanAuto .el-form-item.el-form-item--default {
- margin-right: 0;
-}
+ .zt .weiTuoDanAuto .el-form-item.el-form-item--default {
+ margin-right: 0;
+ }
-.el-flex {
- display: flex;
- align-items: center;
-}
+ .el-flex {
+ display: flex;
+ align-items: center;
+ }
-.DWidth {
- width: 100px;
-}
+ .DWidth {
+ width: 100px;
+ }
-.DWidth-Unt {
- width: 100px;
-}
+ .DWidth-Unt {
+ width: 100px;
+ }
-.DPadding1 {
- padding: 6px;
-}
+ .DPadding1 {
+ padding: 6px;
+ }
-.DPadding2 {
- padding: 7px;
-}
+ .DPadding2 {
+ padding: 7px;
+ }
-.DPadding3 {
- padding: 4px;
-}
+ .DPadding3 {
+ padding: 4px;
+ }
-.DAlign {
- text-align: center;
-}
+ .DAlign {
+ text-align: center;
+ }
-.el-border-left {
- border-left: 1px solid rgba(0, 0, 0, .2);
-}
+ .el-border-left {
+ border-left: 1px solid rgba(0, 0, 0, .2);
+ }
-.DOldForm {
- width: 100%;
-}
+ .DOldForm {
+ width: 100%;
+ }
-.el-border-top-and-bottom {
- border-top: 1px solid rgba(0, 0, 0, .2);
- border-bottom: 1px solid rgba(0, 0, 0, .2);
-}
+ .el-border-top-and-bottom {
+ border-top: 1px solid rgba(0, 0, 0, .2);
+ border-bottom: 1px solid rgba(0, 0, 0, .2);
+ }
-.DOldForm > .el-form-item > .el-form-item__content {
- width: calc(100% - 120px);
-}
+ .DOldForm > .el-form-item > .el-form-item__content {
+ width: calc(100% - 120px);
+ }
-.el-border-bottom {
- border-bottom: 1px solid rgba(0, 0, 0, .2);
-}
+ .startDate > .el-form-item > .el-form-item__content {
+ width: 95%;
+ }
-.zt .el-table.el-software th {
- background: transparent;
-}
+ .endDate > .el-form-item > .el-form-item__content {
+ width: 95%;
+ }
-.zt .el-table.el-software th > .cell {
- font-weight: 500;
-}
+ .testCost > .el-form-item > .el-form-item__content {
+ width: 100%;
+ }
-.DHold {
- font-weight: 600;
-}
+ .testVenue > .el-form-item > .el-form-item__content {
+ width: 100%;
+ }
-.zt .el-table.el-software {
- font-size: 14px;
-}
+ .el-border-bottom {
+ border-bottom: 1px solid rgba(0, 0, 0, .2);
+ }
-.weiTuoDanAuto .marginTopAndMarginBottom {
- margin-top: 10px !important;
- margin-bottom: 0 !important;
-}
+ .zt .el-table.el-software th {
+ background: transparent;
+ }
-.weiTuoDanAuto .marginTopAndMarginBottom2 {
- margin-top: -10px !important;
- margin-bottom: 10px !important;
-}
+ .zt .el-table.el-software th > .cell {
+ font-weight: 500;
+ }
-.csjgxx > .el-form-item > .el-form-item__content {
- width: calc(100% - 130px);
-}
+ .DHold {
+ font-weight: 600;
+ }
+
+ .zt .el-table.el-software {
+ font-size: 14px;
+ }
+
+ .weiTuoDanAuto .marginTopAndMarginBottom {
+ margin-top: 10px !important;
+ margin-bottom: 0 !important;
+ }
+
+ .weiTuoDanAuto .marginTopAndMarginBottom2 {
+ margin-top: -10px !important;
+ margin-bottom: 10px !important;
+ }
+
+ .weiTuoDanAuto .marginTopAndMarginBottom3 {
+ margin-top: 0 !important;
+ margin-bottom: 10px !important;
+ }
+
+ .csjgxx > .el-form-item > .el-form-item__content {
+ width: calc(100% - 130px);
+ }
+
+ .order-sc > .el-form-item > .el-form-item__content {
+ width: 100%;
+ }
+
+ .test-type-line-height > .el-form-item > .el-form-item__content {
+ line-height: 30px;
+ }
+
+ .requireOther.el-input {
+ position: absolute;
+ }
</style>
--
Gitblit v1.9.1