From bdfbb741d767690ea05036a3116e63d06d6bb61b Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期一, 18 十二月 2023 10:03:30 +0800
Subject: [PATCH] 项目表
---
web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue | 269 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 180 insertions(+), 89 deletions(-)
diff --git a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
index b4aa87c..9f4bc2f 100644
--- a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
+++ b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
@@ -1,10 +1,10 @@
<template>
- <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
+ <zt-dialog ref="dialog" column="2" @confirm="formSubmit" :stepMarker="stepMarker" :append-to-body="true">
<el-form :model="dataForm" :inline="true" ref="dataForm" style="padding-top: 0" :disabled="dataForm.disabled"
label-width="120px" class="testCheckFormAuto">
<div>
<el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px">
- <span>{{dataForm.testCheckOrder.code || '缂栧彿鑷姩鐢熸垚'}}</span>
+ <span>{{ dataForm.checkOrder.code || '缂栧彿鑷姩鐢熸垚' }}</span>
</el-form-item>
</div>
<div style="border: 1px solid rgba(0,0,0,.2);width: 99%">
@@ -16,15 +16,23 @@
<el-input v-model="dataForm.project.softwareName" placeholder="椤圭洰鍚嶇О"></el-input>
</el-form-item>
<el-form-item class="marginTopAndMarginBottom3" label="妫�鏌ヤ汉" style="width: 49%">
- <el-input v-model="dataForm.testCheckOrder.examiner" placeholder="妫�鏌ヤ汉"></el-input>
+ <el-input v-if="stepMarker=='csjcd_first'" v-model="dataForm.checkOrder.examiner"
+ placeholder="妫�鏌ヤ汉"></el-input>
+ <span v-else>{{ dataForm.checkOrder.examiner }}</span>
</el-form-item>
<el-form-item class="marginTopAndMarginBottom3" label="妫�鏌ユ椂闂�" style="width: 49%">
- <el-input v-model="dataForm.testCheckOrder.examDate" placeholder="妫�鏌ユ椂闂�"></el-input>
+ <el-date-picker
+ v-if="stepMarker=='csjcd_first'"
+ v-model="dataForm.checkOrder.examDate"
+ type="date"
+ placeholder="璇烽�夋嫨妫�鏌ユ椂闂�">
+ </el-date-picker>
+ <span v-else>{{ dataForm.checkOrder.examDate }}</span>
</el-form-item>
</div>
<div style="border-bottom: 1px solid rgba(0,0,0,.2);">
<div style="padding-left:5px;padding-right:5px;">
- <div style="padding: 5px">娴嬭瘯璁″垝锛�</div>
+ <div style="padding: 5px">妫�鏌ラ」鐩�:{{ subtitle }}</div>
<div class="table-container">
<el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border
:data="dataForm.checkOrderList"
@@ -35,32 +43,34 @@
</template>
</el-table-column>
<el-table-column prop="checkContent" min-width="180" label="涓昏妫�鏌ュ唴瀹�">
- <template v-slot="{ row }">
- <el-input v-model="row.checkContent" placeholder="涓昏妫�鏌ュ唴瀹�"></el-input>
- </template>
+ <!-- <template v-slot="{ row }">-->
+ <!-- <el-input v-model="row.checkContent" placeholder="涓昏妫�鏌ュ唴瀹�"></el-input>-->
+ <!-- </template>-->
</el-table-column>
- <el-table-column prop="checkResult" align="center" width="150" label="妫�鏌ョ粨鏋�">
+ <el-table-column prop="checkResult" align="center" width="200" label="妫�鏌ョ粨鏋�">
<template v-slot="{ row }">
- <zt-dict v-model="row.checkResult" dict="is_or_not" :radio="true"></zt-dict>
+ <zt-dict :disabled="stepMarker!=='csjcd_first'" v-model="row.checkResult" :dict="getDict"
+ :radio="true"></zt-dict>
</template>
</el-table-column>
<el-table-column prop="remark" label="澶囨敞" width="100" align="center">
<template v-slot="{ row }">
- <el-input v-model="row.remark" placeholder="澶囨敞"></el-input>
+ <el-input v-if="stepMarker=='csjcd_first'" v-model="row.remark" placeholder="澶囨敞"></el-input>
+ <span v-else>{{ row.remark }}</span>
</template>
</el-table-column>
-<!-- <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center">
- <template v-slot="{ row }">
- <!– <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>–>
- <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row"
- v-model="row.files"/>
- </template>
- </el-table-column>-->
+ <!-- <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center">
+ <template v-slot="{ row }">
+ <!– <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>–>
+ <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row"
+ v-model="row.files"/>
+ </template>
+ </el-table-column>-->
</el-table>
-<!-- <div class="icon-container" @click="addCirculatRow()">-->
-<!-- <!– 鏀剧疆鍥哄畾鐨勫浘鏍� –>-->
-<!-- <i class="el-icon-plus"></i>-->
-<!-- </div>-->
+ <!-- <div class="icon-container" @click="addCirculatRow()">-->
+ <!-- <!– 鏀剧疆鍥哄畾鐨勫浘鏍� –>-->
+ <!-- <i class="el-icon-plus"></i>-->
+ <!-- </div>-->
</div>
</div>
</div>
@@ -70,8 +80,9 @@
</div>
<div class="el-border-left acceptDate" style="height: 80px;width: 80%;">
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
- <el-input type="textarea"
- :rows="3" v-model="dataForm.testCheckOrder.problemDescription" placeholder="闂鎻忚堪..."></el-input>
+ <el-input v-if="stepMarker=='csjcd_first'" type="textarea"
+ :rows="3" v-model="dataForm.checkOrder.problemDescription" placeholder="闂鎻忚堪..."></el-input>
+ <span v-else>{{ dataForm.checkOrder.problemDescription }}</span>
</el-form-item>
</div>
</div>
@@ -81,8 +92,9 @@
</div>
<div class="el-border-left acceptDate" style="height: 80px;width: 80%;">
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
- <el-input type="textarea"
- :rows="3" v-model="dataForm.testCheckOrder.problemProcess" placeholder="闂澶勭悊..."></el-input>
+ <el-input v-if="stepMarker=='csjcd_wtcl'" type="textarea"
+ :rows="3" v-model="dataForm.checkOrder.problemProcess" placeholder="闂澶勭悊..."></el-input>
+ <span v-else>{{ dataForm.checkOrder.problemProcess }}</span>
</el-form-item>
</div>
</div>
@@ -92,15 +104,15 @@
</div>
<div class="el-border-left-right acceptDate1" style="width: 40%;height: 40px;">
<el-form-item style="width: 100%;padding-left:20px;margin:0;">
- <el-input v-model="dataForm.testCheckOrder.processor" placeholder="澶勭悊浜�"></el-input>
+ <span>{{ dataForm.checkOrder.processor }}</span>
</el-form-item>
</div>
<div style="width: 84px;text-align: center;font-weight: 600">
楠岃瘉浜�
</div>
<div class="el-border-left acceptDate1" style="width: 40%;height: 40px;">
- <el-form-item label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0">
- <el-input v-model="dataForm.testCheckOrder.verifier" placeholder="楠岃瘉浜�"></el-input>
+ <el-form-item label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0">
+ <span>{{ dataForm.checkOrder.verifier }}</span>
</el-form-item>
</div>
</div>
@@ -109,79 +121,154 @@
<template v-slot:footer>
<el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button>
</template>
+ <template v-slot:footer>
+ <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button>
+ </template>
</zt-dialog>
</template>
<script>
- export default {
- props:{
- pageCode: {
- type: String,
- default: ''
+import qs from "qs";
+import Cookies from "js-cookie";
+
+export default {
+ data() {
+ return {
+ pageCode: '',
+ stepMarker: '',
+ configDetailRow: null,
+ subtitle: '',
+ pageName: {
+ plan: '杞欢娴嬭瘯璁″垝', explain: '杞欢娴嬭瘯璇存槑', record: '杞欢娴嬭瘯璁板綍', report: '杞欢娴嬭瘯鎶ュ憡',
+ contract: '鍚堝悓璇勫闃舵', require: '娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝'
},
- },
- data() {
- return {
- dataForm: {
- id: '',
- projectId: '',
- project:{
- softwareIdentity:'',
- softwareName:'',
- },
- testCheckOrder:{
- code: '',
- examiner: '',
- examDate: '',
- problemDescription: '',
- problemProcess: '',
- processor: '',
- verifier: '',
- },
- checkOrderList:{}
+ dataForm: {
+ id: '',
+ projectId: '',
+ project: {
+ softwareIdentity: '',
+ softwareName: '',
+ },
+ checkOrder: {
+ code: '',
+ examiner: '',
+ examDate: '',
+ problemDescription: '',
+ problemProcess: '',
+ processor: '',
+ verifier: '',
+ },
+ checkOrderList: []
+ }
+ }
+ },
+ computed: {
+ getDict() {
+ if (this.pageCode && (this.pageCode === 'plan' || this.pageCode === 'explain' || this.pageCode === 'record' || this.pageCode === 'report')) {
+ return 'tristate1'
+ } else {
+ return 'tristate2'
}
}
- },
- methods: {
- init(id, row) {
- console.log(id,row,'杞欢娴嬭瘯璁″垝妫�鏌ュ崟')
- if (id) {
- this.dataForm.id = id
- } else {
- this.dataForm.id = row.id
+ },
+ methods: {
+ init(id, row) {
+ this.configDetailRow = row
+ if (row.checkId) {
+ console.log('閰嶇疆椤瑰叆搴撳鏍歌繘鏉ョ殑 TestCheckOrder-AddOrUpdate.vue init row.checkId')
+ if (row.checkId != -1) {
+ this.dataForm.id = row.checkId
}
- if(row.projectId){
- this.dataForm.projectId =row.projectId
- }
+ } else if (id) {
+ this.dataForm.id = id
+ } else {
+ this.dataForm.id = row.id
+ }
+ this.pageCode = row.pageCode
+ this.subtitle = this.pageName[this.pageCode]
- // this.dataForm.disabled
- this.getInfo()
- console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker')
- },
- // 鑾峰彇淇℃伅
- async getInfo() {
- let params = {
- checkId: this.dataForm.id,
- projectId: this.dataForm.projectId,
- pageCode:this.pageCode
+ if (row.projectId) {
+ this.dataForm.projectId = row.projectId
+ }
+ if (this.configDetailRow) {
+ if (!row.stepMarker) {
+ this.stepMarker = 'csjcd_first'
+ this.title = '鍙戣捣娴嬭瘯妫�鏌ュ崟'
+ } else {
+ this.title = row.stepName
+ this.stepMarker = row.stepMarker
}
- let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/getDto`, {params: params})
- this.dataForm = {
- ...this.dataForm,
- ...res.data
+ }
+ //this.dataForm.disabled
+ this.getInfo()
+
+ //console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker')
+ },
+ indexFormat(index) {
+ return index += 1
+ },
+ // 鑾峰彇淇℃伅
+ async getInfo() {
+ let params = {
+ checkId: this.dataForm.id,
+ projectId: this.dataForm.projectId,
+ pageCode: this.pageCode
+ }
+ console.log(this.pageCode, "getInfo pageCode")
+ let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/getDto`, {params: params})
+ this.dataForm = {
+ ...this.dataForm,
+ ...res.data
+ }
+ console.log(this.dataForm, 'this.dataForm this.dataForm')
+ },
+ async print() {
+ var params = qs.stringify({
+ token: Cookies.get('token'),
+ id: this.dataForm.id,
+ pageCode: this.pageCode
+ })
+ let apiURL = `/testCheckOrder/TestCheckOrder/exportCheckOrder`
+ window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
+ },
+ // 琛ㄥ崟鎻愪氦
+ async formSubmit(submitType) {
+ let isFlow = false
+ if (submitType == 'tj') {
+ for (let item of this.dataForm.checkOrderList) {
+ if (!item.checkResult) {
+ this.$alert("鏈夋湭濉啓鐨勬暟鎹�")
+ return
+ } else if (item.checkResult == "2") {
+ isFlow = true
+ }
}
- },
- // 琛ㄥ崟鎻愪氦
- async formSubmit() {
- let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/testCheckOrder/TestCheckOrder/', this.dataForm)
- if (res.success) {
- await this.$tip.success()
- this.$refs.dialog.close()
- this.$emit('refreshDataList')
+ if (submitType == 'tj' && !isFlow) {
+ submitType == ''
}
+ }
+ if (submitType == 'bl') {
+ isFlow = true
+ }
+ if (submitType == 'tj' && isFlow || submitType == 'bl' && isFlow) {
+ let flowInfo = {
+ flowCode: 'csjcd',
+ stepIdMark: this.stepMarker,
+ submitType: submitType
+ }
+ this.dataForm.flowInfoDto = flowInfo;
+ }
+ console.log(this.dataForm, "this.dataForm formSubmit(submitType)")
+ let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/testCheckOrder/TestCheckOrder/', this.dataForm)
+ if (res.success) {
+ await this.$tip.success()
+ this.$refs.dialog.close()
+ this.$emit('recall', res.data, this.configDetailRow)
+ this.$emit('refreshDataList')
}
}
}
+}
</script>
<style>
.el-flexCirculationDialog {
@@ -189,12 +276,14 @@
align-items: center
}
-.testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content {
+.testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content {
width: 100%;
}
-.testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content {
+
+.testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content {
width: 100%;
}
+
.testCheckFormAuto .marginTopAndMarginBottom {
margin-top: 10px !important;
margin-bottom: 0 !important;
@@ -213,9 +302,11 @@
.testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content {
line-height: 78px;
}
+
.testCheckContentWidth > .el-form-item > .el-form-item__content {
width: calc(100% - 120px);
}
+
.testCheckFormAuto .el-radio {
margin-right: 10px;
}
--
Gitblit v1.9.1