From bb3bc1c8508dc28d1780c2b0e068595baedb5100 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期五, 12 一月 2024 16:42:17 +0800 Subject: [PATCH] 修改 --- zt/core/src/main/resources/mapper/sys/SysUserDao.xml | 68 ++-- web/src/views/modules/project/Project-AddOrUpdate.vue | 14 modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderMeasuredDao.xml | 3 web/src/views/pages/login.vue | 3 modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java | 5 modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDeliverableDao.xml | 3 modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java | 3 modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderMeasuredController.java | 2 modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java | 6 web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue | 690 ++++++++++++++++++++++++++---------------------- zt/core/src/main/java/com/zt/security/service/SysUserTokenService.java | 5 modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml | 1 12 files changed, 428 insertions(+), 375 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java index a4cf07f..18bc958 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java @@ -92,9 +92,6 @@ if (data.getBizDeptId() == null) { data.setBizDeptId(UserContext.getDeptId().toString()); } - User user = UserContext.getUser(); - Integer secretClass = user.getSecretClass(); - data.setUsersecretClass(secretClass); return Result.ok(data); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderMeasuredController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderMeasuredController.java index 2471e79..7e08aa4 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderMeasuredController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderMeasuredController.java @@ -33,7 +33,7 @@ * @since 1.0.0 2023-11-09 */ @RestController -@RequestMapping("/project/SoftwareTestOrderMeasured/") +@RequestMapping("/project/SoftwareTestOrderMeasured") @Api(tags="software_test_order_measured") public class SoftwareTestOrderMeasuredController { @Autowired diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java index bd5a771..347258e 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java @@ -84,9 +84,4 @@ @ApiModelProperty(value = "鏄惁绛剧讲鍚堝悓") private Integer isContract; - - @TableField(exist = false) - @ApiModelProperty(value = "鐢ㄦ埛瀵嗙骇") - private Integer usersecretClass; - } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java index 1a1c8c1..bdffbe7 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java @@ -16,6 +16,7 @@ import com.zt.life.modules.project.model.SoftwareTestOrder; import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable; import com.zt.life.modules.project.model.SoftwareTestOrderMeasured; +import com.zt.life.modules.qaAuditReport.model.QaAuditReportIncongruent; import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService; import com.zt.life.sys.service.SysOssConfigService; import com.zt.modules.coderule.service.SysCodeRuleService; @@ -117,7 +118,10 @@ for (SoftwareTestOrderMeasured softwareTestOrderMeasured : softwareTestOrderDto.getMeasuredList()) { softwareTestOrderMeasured.setOrderId(softwareTestOrderId); if (softwareTestOrderMeasured.getId() != null) { - softwareTestOrderMeasuredService.update(softwareTestOrderMeasured); + SoftwareTestOrderMeasured Measured = softwareTestOrderMeasuredService.get(softwareTestOrderMeasured.getId()); + if (CommonUtils.isActureChangeData(softwareTestOrderMeasured,Measured)) { + softwareTestOrderMeasuredService.update(softwareTestOrderMeasured); + } } else { softwareTestOrderMeasured.setOrderId(softwareTestOrderId); softwareTestOrderMeasuredService.insert(softwareTestOrderMeasured); diff --git a/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml b/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml index c71c936..39734b0 100644 --- a/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml +++ b/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml @@ -20,6 +20,7 @@ SELECT m.*, p.secret_class FROM software_test_order_measured m JOIN software_test_order s ON s.id = m.order_id + JOIN software_test_order_deliverable d ON d.ord_id = m.order_id JOIN project p ON p.id = ${projectId} <where> s.is_delete = 0 and m.is_delete = 0 diff --git a/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDeliverableDao.xml b/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDeliverableDao.xml index 5ecb2b1..0ccff9a 100644 --- a/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDeliverableDao.xml +++ b/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDeliverableDao.xml @@ -4,7 +4,8 @@ <mapper namespace="com.zt.life.modules.project.dao.SoftwareTestOrderDeliverableDao"> <select id="getList" resultType="com.zt.life.modules.project.model.SoftwareTestOrderDeliverable"> - select a.* + SET @row_number = 0; + select a.*,(@row_number := @row_number + 1) AS no from software_test_order_deliverable a <where> a.is_delete = 0 diff --git a/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderMeasuredDao.xml b/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderMeasuredDao.xml index 4888338..b7caa2e 100644 --- a/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderMeasuredDao.xml +++ b/modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderMeasuredDao.xml @@ -4,7 +4,8 @@ <mapper namespace="com.zt.life.modules.project.dao.SoftwareTestOrderMeasuredDao"> <select id="getList" resultType="com.zt.life.modules.project.model.SoftwareTestOrderMeasured"> - select a.* + SET @row_number = 0; + select (@row_number := @row_number + 1) AS no,a.* from software_test_order_measured a <where> a.is_delete = 0 diff --git a/web/src/views/modules/project/Project-AddOrUpdate.vue b/web/src/views/modules/project/Project-AddOrUpdate.vue index 92114fa..8cbbc2c 100644 --- a/web/src/views/modules/project/Project-AddOrUpdate.vue +++ b/web/src/views/modules/project/Project-AddOrUpdate.vue @@ -104,7 +104,7 @@ <div class="DSTOld-1-Form"> <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="鎵�灞為儴闂�" prop="bizDeptId" style="width: 48%"> - <zt-select v-model="dataForm.bizDeptId" :datas="bizDeptList" onchange="getUserList()" placeholder="鎵�灞為儴闂�"/> + <zt-select v-model="dataForm.bizDeptId" :datas="bizDeptList" placeholder="鎵�灞為儴闂�"/> </zt-form-item> <!-- 鏄惁绛剧讲鍚堝悓 --> <zt-form-item label-width="120px" label="鏄惁绛剧讲鍚堝悓" prop="isContract" style="width: 48%"> @@ -167,7 +167,6 @@ projectConfiger: '', bizDeptId: '', isContract: '', - usersecretClass: '' }, projectLeaderList: [], projectTestersList: [], @@ -178,10 +177,9 @@ } }, watch: { - /* bizDeptId(val, oldval) { - alert(1) - this.getUserList() - },*/ + "dataForm.bizDeptId"(){ + this.getUserList() + } }, methods: { init() { @@ -202,6 +200,7 @@ } await this.getUserList() } + console.log(this.dataForm, "async getInfo() dataForm") }, async getUserList() { let res = await this.$http.get(`/project/Project/getUsersLists?deptId=${this.dataForm.bizDeptId}`) @@ -222,7 +221,8 @@ }, // 琛ㄥ崟鎻愪氦 async formSubmit() { - if (this.dataForm.secretClass>this.dataForm.usersecretClass){ + console.log(localStorage.getItem('userSecretClass'),"formSubmit") + if (this.dataForm.secretClass>localStorage.getItem('userSecretClass')){ this.$alert("褰撳墠椤圭洰璁剧疆鐨勫瘑绾ч珮浜庡綋鍓嶇敤鎴风殑瀵嗙骇锛岃閲嶆柊璁剧疆") return } diff --git a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue index ca05f56..b2b30a5 100644 --- a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue +++ b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue @@ -1,5 +1,5 @@ <template> - <zt-dialog ref="dialog" column="2" @confirm="formSubmit" > + <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"> @@ -58,7 +58,7 @@ </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"> @@ -87,14 +87,23 @@ 琚祴浠跺強鍏朵粬鐩稿叧鐗╁搧娓呭崟 </div> <div class="table-container" style="width: calc(100% - 120px);padding: 5px"> - <el-table ref="tableMeasuredList" class="el-software" border :data="dataForm.measuredList" + <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="搴忓彿"/> - <el-table-column prop="name" min-width="300" label="鍚嶇О"/> + <el-table-column prop="no" 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 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> @@ -107,7 +116,7 @@ </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> + <zt-table-button @click="deleteMeasuredRow(scope.$index,scope.row.id)">鍒犻櫎</zt-table-button> </template> </el-table-column> </el-table> @@ -140,7 +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 :inputName="dataForm.softwareTestOrder.otherBasis" origin="otherBasis" @getChangeInputData="getChangeInputData"></zt-dict> + clearable :inputName="dataForm.softwareTestOrder.otherBasis" origin="otherBasis" + @getChangeInputData="getChangeInputData"></zt-dict> </el-form-item> </div> </div> @@ -149,11 +159,12 @@ 娴嬭瘯绫诲瀷 </div> <div class="el-border-left test-type-line-height" style="width: 98%"> - <el-form-item style="width: 40%;padding-left:5%;margin-bottom: 0"> + <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> @@ -165,9 +176,9 @@ </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" - origin="otherStandard" @getChangeInputData="getChangeInputData" - dict="test_standard" :inputName="dataForm.softwareTestOrder.otherStandard"> + <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> @@ -187,7 +198,7 @@ 寮�濮嬫棩鏈� </div> <div class="el-border-left startDate" style="width: 45%;"> - <el-form-item style="width: 100%;padding-left:20px;margin:0;"> + <el-form-item style="width: 100%;padding-left:20px;margin:0;"> <el-date-picker v-model="dataForm.softwareTestOrder.startDate" type="date" @@ -199,13 +210,13 @@ 缁撴潫鏃ユ湡 </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-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> </div> </div> <div class="el-flex el-border-bottom"> @@ -213,9 +224,9 @@ 娴嬭瘯鍦哄湴 </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> + <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"> @@ -226,7 +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> + <span>鍏朵粬:<el-input class="requireOther" + v-model="dataForm.softwareTestOrder.requireOther"></el-input></span> </el-form-item> </div> </div> @@ -240,7 +252,7 @@ <div class="el-flex " style="height: 40px"> <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="濮旀墭鏂逛汉鍛�"/>--> + <!-- <zt-select v-model="dataForm.softwareTestOrder.entrustSign" url="/sys/userEx/getUsersList" :multiple="true" :clearable="true" placeholder="濮旀墭鏂逛汉鍛�"/>--> </div> <div class="el-flex" style="margin-left: 10%"> <el-date-picker @@ -248,7 +260,7 @@ type="date" placeholder="閫夋嫨鏃ユ湡"> </el-date-picker> -<!-- {{ dataForm.softwareTestOrder.entrustSignDate | filterTime('YYYY骞碝M鏈圖D鏃�') }}--> + <!-- {{ dataForm.softwareTestOrder.entrustSignDate | filterTime('YYYY骞碝M鏈圖D鏃�') }}--> </div> </div> </div> @@ -270,7 +282,7 @@ 娴嬭瘯鏃ユ湡 </div> <div class="el-border-left startDate" style="width: 45%;"> - <el-form-item style="width: 100%;padding-left:20px;margin:0;"> + <el-form-item style="width: 100%;padding-left:20px;margin:0;"> <el-date-picker v-model="dataForm.softwareTestOrder.testDate" type="date" @@ -282,7 +294,7 @@ 浜や粯鏃ユ湡 </div> <div class="el-border-left endDate" style="width: 42%"> - <el-form-item style="width: 100%;padding-left:20px;margin:0;"> + <el-form-item style="width: 100%;padding-left:20px;margin:0;"> <el-date-picker v-model="dataForm.softwareTestOrder.deliveryDate" type="date" @@ -296,7 +308,7 @@ 妫�娴嬭垂鐢� </div> <div class="el-border-left testCost" style="width: 98%"> - <el-form-item style="width: 98%;padding-left:20px;margin:0;"> + <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> @@ -306,7 +318,7 @@ 鐗╁搧鎬ц川 </div> <div class="el-border-left" style="width: 98%"> - <el-form-item style="width: 20%;padding-left:20px;margin:0;"> + <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> @@ -331,12 +343,24 @@ <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)">鍒犻櫎</zt-table-button> + <zt-table-button @click="deleteDeliverableRow(scope.$index,scope.row.id)">鍒犻櫎</zt-table-button> </template> </el-table-column> </el-table> @@ -395,11 +419,12 @@ <div class="" style="width: 100%;"> <div class="el-flex" style="height: 40px"> <div style="width: 60%"> - <zt-select v-model="dataForm.softwareTestOrder.contractSign" url="/sys/userEx/getUsersList" placeholder="鎵挎墭鏂逛汉鍛�"/> -<!-- <span>{{ dataForm.contractSign }}</span>--> + <zt-select v-model="dataForm.softwareTestOrder.contractSign" url="/sys/userEx/getUsersList" + placeholder="鎵挎墭鏂逛汉鍛�"/> + <!-- <span>{{ dataForm.contractSign }}</span>--> </div> <div class="el-flex" style="margin-left: 10%"> -<!-- {{ dataForm.softwareTestOrder.contractSignDate | filterTime('YYYY骞碝M鏈圖D鏃�') }}--> + <!-- {{ dataForm.softwareTestOrder.contractSignDate | filterTime('YYYY骞碝M鏈圖D鏃�') }}--> <el-date-picker v-model="dataForm.softwareTestOrder.contractSignDate" type="date" @@ -429,10 +454,10 @@ </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> + <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> @@ -446,316 +471,341 @@ <script> import Cookies from 'js-cookie' import qs from 'qs' -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: [], - } - } - }, - 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(() => { - 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 + 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: [], } - if(this.dataForm.softwareTestOrder){ - if(this.dataForm.softwareTestOrder.testType1){ - this.dataForm.softwareTestOrder.testType1=this.dataForm.softwareTestOrder.testType1.split(',') - console.log(this.dataForm.softwareTestOrder.testType1) + } + }, + 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(() => { + if (this.$refs.editInput) { + this.$refs.editInput.focus() } - if(this.dataForm.softwareTestOrder.testType2){ - this.dataForm.softwareTestOrder.testType2=this.dataForm.softwareTestOrder.testType2.split(',') - console.log(this.dataForm.softwareTestOrder.testType2) + }) + 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 + } + 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.project === null){ - this.dataForm.project={} + // 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 deleteDeliverableRow(index,id) { + if (id != null) { + if (await this.$tip.confirm(this.$t('prompt.info', {'handle': this.$t('delete')}))) { + let res = await this.$http.delete('/project/SoftwareTestOrderDeliverable/', {data: [id]}) + } } - if(this.dataForm.softwareTestOrder === null){ - this.dataForm.softwareTestOrder={} + 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 (id != null) { + if (await this.$tip.confirm(this.$t('prompt.info', {'handle': this.$t('delete')}))) { + let res = await this.$http.delete('/project/SoftwareTestOrderMeasured/', {data: [id]}) + } } - if(this.dataForm.testAgencyInfo === null){ - this.dataForm.testAgencyInfo={} + 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(',') } - } - // 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({ - 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.join(',') } - if(this.dataForm.softwareTestOrder.testType2){ - this.dataForm.softwareTestOrder.testType2=this.dataForm.softwareTestOrder.testType2.split(',') + 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); -} -.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); -} + .DOldForm > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); + } -.zt .el-table.el-software th { - background: transparent; -} + .startDate > .el-form-item > .el-form-item__content { + width: 95%; + } -.zt .el-table.el-software th > .cell { - font-weight: 500; -} + .endDate > .el-form-item > .el-form-item__content { + width: 95%; + } -.DHold { - font-weight: 600; -} + .testCost > .el-form-item > .el-form-item__content { + width: 100%; + } -.zt .el-table.el-software { - font-size: 14px; -} + .testVenue > .el-form-item > .el-form-item__content { + width: 100%; + } -.weiTuoDanAuto .marginTopAndMarginBottom { - margin-top: 10px !important; - margin-bottom: 0 !important; -} + .el-border-bottom { + border-bottom: 1px solid rgba(0, 0, 0, .2); + } -.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; -} + .zt .el-table.el-software th { + background: transparent; + } + + .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> diff --git a/web/src/views/pages/login.vue b/web/src/views/pages/login.vue index f9f7aa6..9ffa3b8 100644 --- a/web/src/views/pages/login.vue +++ b/web/src/views/pages/login.vue @@ -237,8 +237,11 @@ } } let roleName = res.data.roleName + let userSecretClass = res.data.userSecretClass localStorage.setItem('roleName', roleName) + localStorage.setItem('userSecretClass', userSecretClass) console.log(localStorage.getItem('roleName'),'localStorage.getItem(\'roleName\')') + console.log(localStorage.getItem('userSecretClass'),'localStorage.getItem(\'userSecretClass\')') } } }) diff --git a/zt/core/src/main/java/com/zt/security/service/SysUserTokenService.java b/zt/core/src/main/java/com/zt/security/service/SysUserTokenService.java index 2607622..f0c560c 100644 --- a/zt/core/src/main/java/com/zt/security/service/SysUserTokenService.java +++ b/zt/core/src/main/java/com/zt/security/service/SysUserTokenService.java @@ -73,6 +73,7 @@ // String token; String roleNames = sysUserService.getRoleNames(userId); + // 褰撳墠鏃堕棿 Date now = new Date(); // 杩囨湡鏃堕棿 @@ -146,12 +147,14 @@ CacheUtils.removeAll(Constant.Cache.TOKEN); //CacheUtils.remove(Constant.Cache.TOKEN,token); //CacheUtils.put(Constant.Cache.TOKEN,token,tokenEntity); - + User user = UserContext.getUser(); + Integer secretClass = user.getSecretClass(); Map<String, Object> map = new HashMap<>(); map.put(Constant.Sys.TOKEN_HEADER, token); map.put("expire", EXPIRE); map.put("test", test); map.put("roleName", roleNames); + map.put("userSecretClass", secretClass); map.put("info", "OK"); loginProcess(); return Result.ok().ok(map); diff --git a/zt/core/src/main/resources/mapper/sys/SysUserDao.xml b/zt/core/src/main/resources/mapper/sys/SysUserDao.xml index 33f2116..868a4e6 100644 --- a/zt/core/src/main/resources/mapper/sys/SysUserDao.xml +++ b/zt/core/src/main/resources/mapper/sys/SysUserDao.xml @@ -32,7 +32,7 @@ select a.id , a.dept_id , a.company_id - , '1271368584383188993' as TENANT_ID + , '1271368584383188993' as TENANT_ID , a.username , a.real_name , a.mobile @@ -47,7 +47,7 @@ select a.id , a.dept_id , a.company_id - , '1271368584383188993' as TENANT_ID + , '1271368584383188993' as TENANT_ID , a.username , a.real_name , a.mobile @@ -68,10 +68,10 @@ and a.id = #{userId} and b.user_id = a.id and c.id = b.role_id - and ((#{localServer} = 'jd' and c.code in ('cjbm','ztsxlbm')) - or (#{localServer} = 'cj' - and c.code in ('zlbm','tybm','ywzbm','tzbm','czbm','bzbm','dbsbm') - ) + and ((#{localServer} = 'jd' and c.code in ('cjbm', 'ztsxlbm')) + or (#{localServer} = 'cj' + and c.code in ('zlbm', 'tybm', 'ywzbm', 'tzbm', 'czbm', 'bzbm', 'dbsbm') + ) ) </select> <select id="isGetByUsernameList" resultType="com.zt.core.sys.model.SysUser"> @@ -103,7 +103,7 @@ select a.id , a.dept_id , a.company_id - , '1271368584383188993' as TENANT_ID + , '1271368584383188993' as TENANT_ID , a.username , a.real_name , a.mobile @@ -159,7 +159,7 @@ WHERE b.is_delete = 0 AND b.user_id = #{userId} and a.is_delete = 0 - and a.id =b.role_id + and a.id = b.role_id </select> <update id="updateLogin"> @@ -208,32 +208,26 @@ from sys_user where dept_id = #{newShipTeam} and id in (select user_id - from sys_role_user a, - sys_role b - where a.role_id = b.id - and b.code = 'tybm') + from sys_role_user a, + sys_role b + where a.role_id = b.id + and b.code = 'tybm') </select> <select id="checkTestHome" resultType="java.lang.Integer"> - SELECT - count( 1 ) - FROM - sys_user - WHERE - is_delete = 0 + SELECT count(1) + FROM sys_user + WHERE is_delete = 0 AND id = #{userId} AND ( - user_name IN ( 'admin', 'yszl' ) + user_name IN ('admin', 'yszl') OR id IN ( - SELECT - user_id - FROM - sys_role_user b, - sys_role c - WHERE - b.is_delete = 0 + SELECT user_id + FROM sys_role_user b, + sys_role c + WHERE b.is_delete = 0 AND c.is_delete = 0 AND c.id = b.role_id - AND c.`code` IN ( 'xtglybm', 'ztsxlbm', 'dbsbm', 'zlbm', 'bzbm', 'czbm' ) + AND c.`code` IN ('xtglybm', 'ztsxlbm', 'dbsbm', 'zlbm', 'bzbm', 'czbm') ) ) </select> @@ -243,7 +237,8 @@ <if test="type == null or type == ''"> and id not in ( select user_id from sys_role_user where role_id - in (select id from sys_role where code in ('xtglybm','xtbmybm','xtsjybm','rx'))) + in (select id from sys_role where code in ('xtglybm','xtbmybm','xtsjybm','rx')and is_delete=0)and + is_delete=0)and is_delete=0 </if> <if test="deptId != null and deptId != ''"> and dept_id = #{deptId} @@ -251,31 +246,34 @@ <if test="type == 'zrr'"> and id in ( select user_id from sys_role_user where role_id - in (select id from sys_role where code in ('jcry'))) + in (select id from sys_role where code in ('jcry')and is_delete=0)and is_delete=0)and is_delete=0 </if> <if test="type == 'csry'"> and id in ( select user_id from sys_role_user where role_id - in (select id from sys_role where code in ('jcry'))) + in (select id from sys_role where code in ('jcry')and is_delete=0)and is_delete=0)and is_delete=0 </if> <if test="type == 'shry'"> and id in ( select user_id from sys_role_user where role_id - in (select id from sys_role where code in ('jcry','zljdy','shry'))) + in (select id from sys_role where code in ('jcry','zljdy','shry')and is_delete=0)and is_delete=0) and + is_delete=0 </if> <if test="type == 'pzry'"> and id in ( select user_id from sys_role_user where role_id - in (select id from sys_role where code in ('jcry','shry'))) + in (select id from sys_role where code in ('jcry','shry')and is_delete=0)and is_delete=0)and is_delete=0 </if> </select> <select id="getUsersName" resultType="java.lang.String"> - select real_name from sys_user WHERE id=${id} + select real_name + from sys_user + WHERE id = ${id} </select> <update id="updatePassword"> update - sys_user + sys_user set password = #{password} - WHERE id=#{id} + WHERE id = #{id} </update> </mapper> -- Gitblit v1.9.1