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 | 798 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 479 insertions(+), 319 deletions(-) diff --git a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue index 76c1ef8..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,22 +83,27 @@ <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 type="index" align="center" width="80" label="搴忓彿"/> - <el-table-column min-width="300" label="鍚嶇О"> + <el-table-column prop="no" align="center" width="80" label="搴忓彿"> <template slot-scope="scope"> - <span>{{ (dataForm.project.softwareName||'') + scope.row.name }}</span> + <span v-html="indexFormat(scope.$index)"></span> </template> </el-table-column> - <el-table-column align="center" width="180" label="鏍囪瘑/鐗堟湰"> + <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"> + <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> @@ -122,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"> @@ -137,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> @@ -158,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> @@ -171,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%;margin-bottom: 0"> + <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);margin-bottom: 0"> + <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> @@ -189,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> @@ -206,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"> @@ -244,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> @@ -255,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> @@ -281,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.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 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> @@ -353,11 +381,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> @@ -392,18 +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"> - {{ dataForm.softwareTestOrder.deliveryDate | 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> </div> </div> </div> - <div class="el-flex"> + <div class="el-flex el-border-bottom"> <div class="DPadding3 DAlign DHold"> 璇存槑 </div> @@ -420,233 +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 v-if="dataForm.disabled" type="primary">鎵撳嵃</el-button> + <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button> </template> </zt-dialog> </template> <script> + import Cookies from 'js-cookie' + import qs from 'qs' -export default { - data() { - return { - time: '2023-11-13', - editingCell:null, - dataForm: { - id: null, - projectId: null, - softwareTestOrder: { - optEnviron:'', - programLang:'', - testBasis:'', - testType1:'', - testType2:'', - testStandard:'', - startDate:'', - endDate:'', - testVenue:'', - otherRequire:'', - testDate:'', - deliveryDate:'', - testCost:'', - articleNature:'', - sampleStatus:'', + 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: [], }, - 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: [], + usersList:[] } - } - }, - methods: { - 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(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") - let res = await this.$http.get(`/project/SoftwareTestOrder/getDto`, {params: params}) - if (res.data) { - this.dataForm = { - ...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 } - if(this.dataForm.project === null){ - this.dataForm.project={} + 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 = {} + } } - if(this.dataForm.softwareTestOrder === null){ - this.dataForm.softwareTestOrder={} + 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; } - if(this.dataForm.testAgencyInfo === null){ - this.dataForm.testAgencyInfo={} + }, + 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) } - } - // 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') + }, + 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; - margin-right: 10px; -} + .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; -} -.weiTuoDanAuto .marginTopAndMarginBottom3 { - margin-top: 0 !important; - margin-bottom: 10px !important; -} -.csjgxx > .el-form-item > .el-form-item__content { - width: calc(100% - 130px); -} + .zt .el-table.el-software th > .cell { + font-weight: 500; + } + + .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