From 28e196ded3b02c1efc977fb1c8cba9902aa26d69 Mon Sep 17 00:00:00 2001 From: wente <329538422@qq.com> Date: 星期三, 08 十一月 2023 14:40:39 +0800 Subject: [PATCH] 多选组件 --- web/packages/components/zt-dict-checkbox/index.js | 7 web/packages/index.js | 3 web/src/views/modules/olderForm/weiTuoDan.vue | 486 ++++++++++++++++++++++++++++++++++ web/src/views/modules/olderForm/SoftwareTestingOrderForm.vue | 174 ++++++------ web/src/assets/css/custom.css | 12 web/packages/components/zt-dict-checkbox/src/zt-dict-checkbox.vue | 111 +++++++ 6 files changed, 702 insertions(+), 91 deletions(-) diff --git a/web/packages/components/zt-dict-checkbox/index.js b/web/packages/components/zt-dict-checkbox/index.js new file mode 100644 index 0000000..8a2c1e0 --- /dev/null +++ b/web/packages/components/zt-dict-checkbox/index.js @@ -0,0 +1,7 @@ +import comp from './src/zt-dict-checkbox' + +comp.install = function (Vue) { + Vue.component(comp.name, comp) +} + +export default comp diff --git a/web/packages/components/zt-dict-checkbox/src/zt-dict-checkbox.vue b/web/packages/components/zt-dict-checkbox/src/zt-dict-checkbox.vue new file mode 100644 index 0000000..617fc6b --- /dev/null +++ b/web/packages/components/zt-dict-checkbox/src/zt-dict-checkbox.vue @@ -0,0 +1,111 @@ +<template> + <div> + <el-checkbox-group v-model="dictValue" + :class="{'checkbox-column-1': column === '1', 'checkbox-column-2': column === '2', 'checkbox-column-3': column === '3', 'checkbox-column-4': column === '4'}" + @input="$emit('input', $event)" + v-if="showType === 'checkbox'" + :disabled="disabled"> + <el-checkbox :label="data.dictValue" v-for="data in dicts" :key="data.dictValue">{{data.dictLabel}}</el-checkbox> + </el-checkbox-group> + </div> +</template> +<script> +import cloneDeep from 'lodash/cloneDeep' + +export default { + name: 'ZtDictCheckbox', + props: { + value: [Number, String, Boolean], + dict: { // 瀛楀吀绫诲瀷 + type: String, + required: true + }, + excluded: {// 鎺掗櫎鐨� + type: Array, + default: function () { + return [] + } + }, + column: { // 鍑犲垪 + type: String, + default: '2' + }, + checkbox: { + type: Boolean, + default: true + }, + disabled: { + type: Boolean, + default: false + }, + placeholder: String + }, + data() { + return { + dictValue: Array.isArray(this.value) ? [...this.value] : [] + } + }, + computed: { + showType() { + if (this.checkbox) { + return 'checkbox' + } else { + return this.dicts.length > 0 && this.dicts[0].children ? 'tree' : 'select' + } + }, + dictTrees() { + let datas = cloneDeep(this.dicts) + this.wrapTreeId(datas) + return datas + }, + dicts: function () { + let dicts = this.$store.getters.getDict(this.dict) + if (this.excluded.length > 0) { + let excludedArray = [] + this.excluded.forEach(value => excludedArray.push(value + '')) + return dicts.filter(option => excludedArray.indexOf(option.dictValue + '') < 0) + } else { + return dicts + } + } + }, + watch: { + value(val, oldval) { + this.dictValue = Array.isArray(val) ? [...val] : []; + } + }, + methods: { + wrapTreeId(dictTypes) { + dictTypes.forEach(item => { + if ((item.dictType || '').length > 0) { // 瀛楀吀绫诲瀷 + item.id = item.dictType + item.name = item.dictName + if (item.dataList && item.dataList.length > 0) { + item.children = item.dataList + } + if (item.children && item.children.length > 0) { + this.wrapTreeId(item.children) + } + } else { // 瀛楀吀鍊� + item.id = item.dictValue + item.name = item.dictLabel + } + }) + }, + changeProjectMajor(){ + this.$emit('changeProjectMajor') + }, + disabledFilter(dict) { + return this.dataOnly && (dict.dictType || '').length > 0 + }, + onSelected() { + + } + } +} +</script> +<style> +.checkbox-column-2>.el-checkbox{ + width: 40%; +} +</style> diff --git a/web/packages/index.js b/web/packages/index.js index 8cd2288..6320e4e 100644 --- a/web/packages/index.js +++ b/web/packages/index.js @@ -38,6 +38,7 @@ import ZtTimePicker from './components/zt-time-picker' import ZtDateRangePicker from './components/zt-date-range-picker' import ZtTreeMenuSelector from './components/zt-tree-menu-selector' +import ZtDictCheckbox from './components/zt-dict-checkbox' export default { install: function (Vue, opts = {}) { @@ -89,7 +90,7 @@ Vue.use(ZtDatePicker) Vue.use(ZtTimePicker) Vue.use(ZtDateRangePicker) - + Vue.use(ZtDictCheckbox) // 鎸傝浇鍏ㄥ眬 Vue.prototype.$http = http Vue.prototype.$http2 = http2 diff --git a/web/src/assets/css/custom.css b/web/src/assets/css/custom.css index 0a2e1c3..70c8fc4 100644 --- a/web/src/assets/css/custom.css +++ b/web/src/assets/css/custom.css @@ -165,9 +165,9 @@ position: relative; } -body .el-table__fixed-body-wrapper{ - top: 34px !important; -} +/*body .el-table__fixed-body-wrapper{*/ +/* top: 34px !important;*/ +/*}*/ .el-tooltip__popper{ font-size: 14px; max-width:50% @@ -289,9 +289,9 @@ overflow-y: auto; } -.zt .dialog-column-2 .el-dialog { - width: 75% !important; -} +/*.zt .dialog-column-2 .el-dialog {*/ +/* width: 75% !important;*/ +/*}*/ .el-table__fixed-right { height: 100% !important; diff --git a/web/src/views/modules/olderForm/SoftwareTestingOrderForm.vue b/web/src/views/modules/olderForm/SoftwareTestingOrderForm.vue index 4cf0803..e0f8447 100644 --- a/web/src/views/modules/olderForm/SoftwareTestingOrderForm.vue +++ b/web/src/views/modules/olderForm/SoftwareTestingOrderForm.vue @@ -1,86 +1,82 @@ <template> - <div class="fa-card-a" style="height: calc(100vh - 130px)"> + <div class="fa-card-a fa-box-a" style="height: calc(100vh - 130px)"> <el-form ref="form" :inline="true" :model="form" label-width="100px" class="oldFormAuto"> + <div class="DManageForm el-border-bottom"> + <zt-form-item label-width="60px" label="椤圭洰缂栧彿" prop="code" style="width: 99%" rules="required"> + <el-input v-model="form.code"></el-input> + </zt-form-item> + </div> <div class="el-flex el-border"> <div class="DWidth DAlign DHold"> 濮旀墭鍗曚綅 </div> - <div class="DOldForm"> + <div class="DSTOldForm"> <!-- 鍗曚綅鍚嶇О --> - <el-form-item label="鍗曚綅鍚嶇О" style="width: 49%"> - <el-input v-model="form.delegateUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> - </el-form-item> + <zt-form-item label="鍗曚綅鍚嶇О" prop="entrustUnitName" style="width: 49%" rules="required"> + <el-input v-model="form.entrustUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </zt-form-item> <!-- 鑱旂郴浜� --> - <el-form-item label="鑱旂郴浜�" style="width: 49%"> - <el-input v-model="form.delegateUnitContactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> - </el-form-item> + <zt-form-item label="鑱旂郴浜�" prop="entrustUnitContact" style="width: 49%" rules="required"> + <el-input v-model="form.entrustUnitContact" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> + </zt-form-item> + <!-- 璇︾粏鍦板潃 --> - <el-form-item label="璇︾粏鍦板潃" style="width: 49%"> - <el-input v-model="form.delegateUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> - </el-form-item> + <zt-form-item label="璇︾粏鍦板潃" prop="entrustUnitAddress" style="width: 49%" rules="required"> + <el-input v-model="form.entrustUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </zt-form-item> <!-- 鑱旂郴鏂瑰紡 --> - <el-form-item label="鑱旂郴鏂瑰紡" style="width: 49%"> - <el-input v-model="form.delegateUnitContact" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> - </el-form-item> + <zt-form-item label="鑱旂郴鏂瑰紡" prop="entrustUnitContWay" style="width: 49%" rules="required"> + <el-input v-model="form.entrustUnitContWay" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> + </zt-form-item> </div> </div> <div class="el-flex el-border"> <div class="DWidth DAlign DHold"> 寮�鍙戝崟浣� </div> - <div class="DOldForm"> + <div class="DSTOldForm"> <!-- 鍗曚綅鍚嶇О --> - <el-form-item label="鍗曚綅鍚嶇О" style="width: 49%"> - <el-input v-model="form.developmentUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> - </el-form-item> + <zt-form-item label="鍗曚綅鍚嶇О" prop="developUnitName" style="width: 49%" rules="required"> + <el-input v-model="form.developUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </zt-form-item> <!-- 鑱旂郴浜� --> - <el-form-item label="鑱旂郴浜�" style="width: 49%"> - <el-input v-model="form.developmentContactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> - </el-form-item> + <zt-form-item label="鑱旂郴浜�" prop="developUnitContact" style="width: 49%" rules="required"> + <el-input v-model="form.developUnitContact" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> + </zt-form-item> <!-- 璇︾粏鍦板潃 --> - <el-form-item label="璇︾粏鍦板潃" style="width: 49%"> - <el-input v-model="form.developmentAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> - </el-form-item> + <zt-form-item label="璇︾粏鍦板潃" prop="developUnitAddress" style="width: 49%" rules="required"> + <el-input v-model="form.developUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </zt-form-item> <!-- 鑱旂郴鏂瑰紡 --> - <el-form-item label="鑱旂郴鏂瑰紡" style="width: 49%"> - <el-input v-model="form.developmentContact" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> - </el-form-item> + <zt-form-item label="鑱旂郴鏂瑰紡" prop="developUnitContWay" style="width: 49%" rules="required"> + <el-input v-model="form.developUnitContWay" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> + </zt-form-item> </div> </div> <div class="el-flex el-border"> <div class="DWidth-Unt DAlign DHold"> 琚祴浠朵俊鎭� </div> - <div class="DOldForm"> + <div class="DSTOldForm"> <!-- 鍗曚綅鍚嶇О --> - <el-form-item label="杞欢鍚嶇О" style="width: 49%"> - <el-input v-model="form.softwareName" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�"></el-input> - </el-form-item> + <zt-form-item label="杞欢鍚嶇О" prop="software" style="width: 49%" rules="required"> + <el-input v-model="form.software" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�"></el-input> + </zt-form-item> <!-- 鑱旂郴浜� --> - <el-form-item label="杞欢鏍囪瘑" style="width: 49%"> + <zt-form-item label="杞欢鏍囪瘑" prop="identity" style="width: 49%" rules="required"> <el-input v-model="form.identity" placeholder="璇疯緭鍏ヨ蒋浠舵爣璇�"></el-input> - </el-form-item> + </zt-form-item> <!-- 璇︾粏鍦板潃 --> - <el-form-item label="瀵嗙骇" style="width: 49%"> - <el-input v-model="form.secretClass" placeholder="璇疯緭鍏ュ瘑绾�"></el-input> - </el-form-item> + <zt-form-item label="瀵嗙骇" prop="secretClass" style="width: 49%" rules="required"> + <zt-dict v-model="form.secretClass" dict="secret_class"></zt-dict> + </zt-form-item> <!-- <zt-form-item label="淇濆瘑绾у埆" prop="secretClass" style="width: 25%">--> <!-- <zt-dict v-model="dataForm.secretClass" dict="secret_class" placeholder="淇濆瘑绾у埆" style="width:200px"></zt-dict>--> <!-- </zt-form-item>--> <!-- 鑱旂郴鏂瑰紡 --> - <el-form-item label="鍏抽敭绛夌骇" style="width: 49%"> - <el-radio-group v-model="form.criticalLevel"> - <el-radio :label="0">鍏抽敭</el-radio> - <el-radio :label="1">涓�鑸�</el-radio> - <el-radio :label="2">閲嶈</el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="杩愯鐜" style="width: 49%"> - <el-input v-model="form.optEnviron" placeholder="璇疯緭鍏ヨ繍琛岀幆澧�"></el-input> - </el-form-item> - <el-form-item label="缂栫▼璇█" style="width: 49%"> - <el-input v-model="form.programlang" placeholder="璇疯緭鍏ョ紪绋嬭瑷�"></el-input> - </el-form-item> + <zt-form-item label="鍏抽敭绛夌骇" prop="criticalLevel" style="width: 49%" rules="required"> + <zt-dict v-model="form.criticalLevel" dict="critical_level"></zt-dict> + </zt-form-item> <div class="el-flex" style="height: 40px;"> <div class="DWidth DAlign DHold"> 杞欢绫诲瀷 @@ -99,23 +95,23 @@ <div class="DWidth DAlign DHold"> 椤圭洰璐d换浜� </div> - <div class="DOldForm"> + <div class="DSTOldForm"> <!-- 鍗曚綅鍚嶇О --> - <el-form-item label="椤圭洰璐熻矗浜�" style="width: 99%"> + <zt-form-item label="椤圭洰璐熻矗浜�" prop="projectLeader" style="width: 99%" rules="required"> <el-input v-model="form.projectLeader" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> - </el-form-item> + </zt-form-item> <!-- 鑱旂郴浜� --> - <el-form-item label="椤圭洰娴嬭瘯浜哄憳" style="width: 99%"> + <zt-form-item label="椤圭洰娴嬭瘯浜哄憳" prop="projectTesters" style="width: 99%" rules="required"> <el-input v-model="form.projectTesters" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> - </el-form-item> + </zt-form-item> <!-- 璇︾粏鍦板潃 --> - <el-form-item label="椤圭洰瀹℃牳浜�" style="width: 99%"> + <zt-form-item label="椤圭洰瀹℃牳浜�" prop="projectReviewer" style="width: 99%" rules="required"> <el-input v-model="form.projectReviewer" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> - </el-form-item> + </zt-form-item> <!-- 鑱旂郴鏂瑰紡 --> - <el-form-item label="鏄惁绛剧讲鍚堝悓" style="width: 99%"> - <el-input v-model="form.isContract" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> - </el-form-item> + <zt-form-item label="鏄惁绛剧讲鍚堝悓" prop="isContract" style="width: 99%" rules="required"> + <zt-dict v-model="form.isContract" dict="is_or_not"></zt-dict> + </zt-form-item> </div> </div> </el-form> @@ -137,41 +133,51 @@ developmentAddress: '', developmentContact: '', softwareName: '', - identity: '', + identification: '', secretClass: '', criticalLevel: 0, - optEnviron: '', - programlang: '', - softwareType: [1, 0], - id: '', - code: '', - projectLeader: '', - projectTesters: '', - projectReviewer: '', - isContract: '' + runtimeEnvironment: '', + programmingLanguage: '', + checkList: [1, 0], + tableData: [ + {code: 1, name: '灏忛箤楣�', identification: '3/121', isTested: 1}, + {code: 2, name: '灏忛箤楣�', identification: '3/122', isTested: 0}, + {code: 3, name: '灏忛箤楣�', identification: '3/111', isTested: 0}, + {code: 4, name: '灏忛箤楣�', identification: '36/121', isTested: 1}, + {code: 5, name: '灏忛箤楣�', identification: '3/121a', isTested: 0}, + {code: 6, name: '灏忛箤楣�', identification: '3c/121', isTested: 0}, + {code: 7, name: '灏忛箤楣�', identification: '3ac/12ac1', isTested: 0}, + {code: 8, name: '灏忛箤楣�', identification: '3aca/ac121', isTested: 1}, + {code: 9, name: '灏忛箤楣�', identification: '3ww/ca121', isTested: 1}, + {code: 10, name: '灏忛箤楣�', identification: '3aw/12wd1', isTested: 1}, + {code: 1, name: '灏忛箤楣�', identification: '3/121', isTested: 1}, + {code: 2, name: '灏忛箤楣�', identification: '3/122', isTested: 0}, + {code: 3, name: '灏忛箤楣�', identification: '3/111', isTested: 0}, + {code: 4, name: '灏忛箤楣�', identification: '36/121', isTested: 1}, + {code: 5, name: '灏忛箤楣�', identification: '3/121a', isTested: 1}, + {code: 6, name: '灏忛箤楣�', identification: '3c/121', isTested: 0}, + {code: 7, name: '灏忛箤楣�', identification: '3ac/12ac1', isTested: 0}, + {code: 8, name: '灏忛箤楣�', identification: '3aca/ac121', isTested: 1}, + {code: 9, name: '灏忛箤楣�', identification: '3ww/ca121', isTested: 1}, + {code: 10, name: '灏忛箤楣�', identification: '3aw/12wd1', isTested: 1} + ], }, } }, - methods: { - // 鑾峰彇淇℃伅 - async getInfo() { - let res = await this.$http.get(`/modules/check/`) - console.log(res.data); - console.log(res); - /* this.dataForm = { - ...this.dataForm, - ...res.data - }*/ - }, - } } </script> <style> +.fa-box-a{ + position: relative; +} .oldFormAuto { width: 70%; border: 1px solid; - margin: 0 auto; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); } .el-flex { @@ -191,12 +197,12 @@ text-align: center; } -.DOldForm { +.DSTOldForm { border-left: 1px solid; width: 100%; } -.DOldForm > .el-form-item > .el-form-item__content { +.DSTOldForm > .zt-form-item > .zt-form-item__content { width: calc(100% - 100px); } diff --git a/web/src/views/modules/olderForm/weiTuoDan.vue b/web/src/views/modules/olderForm/weiTuoDan.vue new file mode 100644 index 0000000..8771d78 --- /dev/null +++ b/web/src/views/modules/olderForm/weiTuoDan.vue @@ -0,0 +1,486 @@ +<template> + <div class="fa-card-a" style="height: calc(100vh - 130px);overflow-y: auto"> + <el-form ref="form" :inline="true" :model="dataForm" label-width="120px" class="weiTuoDanAuto"> + <div class="DManageForm el-border-bottom"> + <el-form-item label-width="60px" label="缂栧彿:" style="width: 99%"> + <span>{{dataForm.code}}</span> + </el-form-item> + </div> + <div class="el-flex el-border-bottom"> + <div class="DWidth DAlign DHold"> + 濮旀墭鏂� + </div> + <div class="el-border-left"> + <div class="el-flex el-border-bottom"> + <div class="DWidth DAlign DHold"> + 濮旀墭鍗曚綅 + </div> + <div class="DOldForm el-border-left"> + <!-- 鍗曚綅鍚嶇О --> + <el-form-item label="鍗曚綅鍚嶇О" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </el-form-item> + <!-- 鑱旂郴浜� --> + <el-form-item label="鑱旂郴浜�" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitContactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> + </el-form-item> + <!-- 璇︾粏鍦板潃 --> + <el-form-item label="璇︾粏鍦板潃" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </el-form-item> + <!-- 鑱旂郴鏂瑰紡 --> + <el-form-item label="鑱旂郴鏂瑰紡" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitContact" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> + </el-form-item> + </div> + </div> + <div class="el-flex el-border-bottom"> + <div class="DWidth DAlign DHold"> + 寮�鍙戝崟浣� + </div> + <div class="DOldForm el-border-left"> + <!-- 鍗曚綅鍚嶇О --> + <el-form-item label="鍗曚綅鍚嶇О" style="width: 49%"> + <el-input v-model="dataForm.developmentUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </el-form-item> + <!-- 鑱旂郴浜� --> + <el-form-item label="鑱旂郴浜�" style="width: 49%"> + <el-input v-model="dataForm.developmentContactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> + </el-form-item> + <!-- 璇︾粏鍦板潃 --> + <el-form-item label="璇︾粏鍦板潃" style="width: 49%"> + <el-input v-model="dataForm.developmentAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </el-form-item> + <!-- 鑱旂郴鏂瑰紡 --> + <el-form-item label="鑱旂郴鏂瑰紡" style="width: 49%"> + <el-input v-model="dataForm.developmentContact" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> + </el-form-item> + </div> + </div> + <div class="el-flex el-border-bottom"> + <div class="DWidth-Unt DAlign DHold"> + 琚祴浠朵俊鎭� + </div> + <div class="DOldForm el-border-left"> + <!-- 鍗曚綅鍚嶇О --> + <el-form-item label="杞欢鍚嶇О" style="width: 49%"> + <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�"></el-input> + </el-form-item> + <!-- 鑱旂郴浜� --> + <el-form-item label="杞欢鏍囪瘑" style="width: 49%"> + <el-input v-model="dataForm.identification" placeholder="璇疯緭鍏ヨ蒋浠舵爣璇�"></el-input> + </el-form-item> + <!-- 璇︾粏鍦板潃 --> + <el-form-item label="瀵嗙骇" style="width: 49%"> + <el-input v-model="dataForm.secretClass" 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 label="鍏抽敭绛夌骇" style="width: 49%"> + <zt-dict v-model="dataForm.criticalLevel" :radio="true" placeholder="鍏抽敭绛夌骇" dict="critical_level" clearable></zt-dict> + </el-form-item> + <el-form-item label="杩愯鐜" style="width: 49%"> + <el-input v-model="dataForm.runtimeEnvironment" placeholder="璇疯緭鍏ヨ繍琛岀幆澧�"></el-input> + </el-form-item> + <el-form-item label="缂栫▼璇█" style="width: 49%"> + <el-input v-model="dataForm.programmingLanguage" placeholder="璇疯緭鍏ョ紪绋嬭瑷�"></el-input> + </el-form-item> + <div class="el-flex el-border-top-and-bottom"> + <div class="DWidth DAlign DHold"> + 琚祴浠跺強鍏朵粬鐩稿叧鐗╁搧娓呭崟 + </div> + <div style="width: calc(100% - 120px);padding: 5px"> + <el-table class="el-software" height="230" border :data="dataForm.tableData" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column> + <el-table-column prop="name" min-width="300" label="鍚嶇О"></el-table-column> + <el-table-column prop="identification" align="center" width="180" label="鏍囪瘑/鐗堟湰"></el-table-column> + <el-table-column label="鏄惁琚祴浠�" width="180" align="center"> + <template slot-scope="scope"> + <el-radio-group v-model="scope.row.isTested"> + <el-radio :label="1">鏄�</el-radio> + <el-radio :label="0">鍚�</el-radio> + </el-radio-group> + </template> + </el-table-column> + </el-table> + </div> + </div> + <div class="el-flex" style="height: 40px;"> + <div class="DWidth DAlign DHold"> + 杞欢绫诲瀷 + </div> + <div style="width: calc(100% - 120px)"> + <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> + </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-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:5%;"> + <el-checkbox-group v-model="dataForm.checkList"> + <el-checkbox :label="0">GB/T 25000.51-2016</el-checkbox> + <el-checkbox :label="1">GJB/Z 141-2004</el-checkbox> + <el-checkbox :label="2">鍏朵粬锛歿{dataForm.other}}</el-checkbox> + </el-checkbox-group> + </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:5%;"> + <zt-dict-checkbox v-model="dataForm.testType" column="2" dict="test_type1" clearable></zt-dict-checkbox> + </el-form-item> +<!-- <el-form-item style="width: 15%">--> +<!-- <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 :label="3">缁存姢鎬�</el-checkbox>--> +<!-- </el-checkbox-group>--> +<!-- </el-form-item>--> + <el-form-item style="width: 20%;padding-left: 15%;border-left: 1px solid;"> + <zt-dict-checkbox v-model="dataForm.testType" dict="test_type2" clearable></zt-dict-checkbox> + </el-form-item> +<!-- <el-form-item style="width: 20%;padding-left: 20%">--> +<!-- <el-checkbox-group v-model="dataForm.checkList">--> +<!-- <el-checkbox :label="0">浠g爜瀹℃煡</el-checkbox>--> +<!-- <el-checkbox :label="1">閫昏緫娴嬭瘯</el-checkbox>--> +<!-- <el-checkbox :label="2">鎬ц兘娴嬭瘯</el-checkbox>--> +<!-- <el-checkbox :label="3">鍐呭瓨缂洪櫡娴嬭瘯</el-checkbox>--> +<!-- <el-checkbox :label="4">杈圭晫娴嬭瘯</el-checkbox>--> +<!-- <el-checkbox :label="5">寮哄害娴嬭瘯</el-checkbox>--> +<!-- <el-checkbox :label="6">鎭㈠鎬ф祴璇�</el-checkbox>--> +<!-- </el-checkbox-group>--> +<!-- </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:5%;"> + <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> + </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="padding-left:5%;"> + <el-checkbox-group v-model="dataForm.checkList"> + <el-checkbox :label="0">閰嶇疆椤规祴璇�</el-checkbox> + <el-checkbox :label="1">绯荤粺娴嬭瘯</el-checkbox> + </el-checkbox-group> + </el-form-item> + </div> + </div> + <div class="DOldForm"> + <el-form-item label="寮�濮嬫棩鏈�" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </el-form-item> + <!-- 鑱旂郴浜� --> + <el-form-item label="缁撴潫鏃ユ湡" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitContactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> + </el-form-item> + </div> + <div class="DOldForm el-border-bottom"> + <el-form-item label="娴嬭瘯鍦哄湴" style="width: 98%"> + <el-input v-model="dataForm.delegateUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </el-form-item> + </div> + <div class="el-flex"> + <div class="DWidth DAlign DHold"> + 鍏朵粬瑕佹眰 + </div> + <div class="el-border-left" style="width: 98%"> + <el-form-item label="鏄惁鐩朇NAS绔�" label-width="107px" style="padding-left:5%;"> + <el-checkbox-group v-model="dataForm.checkList"> + <el-checkbox :label="0">鏄�</el-checkbox> + <el-checkbox :label="1">鍚�</el-checkbox> + <el-checkbox :label="2">鍏朵粬锛歿{dataForm.other}}</el-checkbox> + </el-checkbox-group> + </el-form-item> + </div> + </div> + </div> + </div> + <div class="el-flex"> + <div class="DWidth DAlign DHold"> + 濮旀墭鏂圭瀛楋細 + </div> + <div class="" style="width: 100%;"> + <div class="el-flex " style="height: 40px"> + <div style="width: 50%"> + <span>{{dataForm.write}}</span> + </div> + <div class="el-flex"> + <div style="width: 120px;text-align: center">{{dataForm.year}}</div>骞� + <div style="width: 80px;text-align: center">{{dataForm.month}}</div>鏈� + <div style="width: 80px;text-align: center">{{dataForm.day}}</div>鏃� + </div> + </div> + </div> + </div> + </div> + </div> + <div class="el-flex"> + <div class="DWidth DAlign DHold"> + 鎵挎墭鏂� + </div> + <div class="el-border-left"> + <div class="el-flex el-border-bottom"> + <div class="DWidth-Unt DAlign DHold"> + 娴嬭瘯淇℃伅 + </div> + <div class="DOldForm el-border-left"> + <!-- 鍗曚綅鍚嶇О --> + <el-form-item label="娴嬭瘯鏃ユ湡" style="width: 49%"> + <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ユ祴璇曟棩鏈�"></el-input> + </el-form-item> + <!-- 鑱旂郴浜� --> + <el-form-item label="浜や粯鏃ユ湡" style="width: 49%"> + <el-input v-model="dataForm.identification" placeholder="璇疯緭鍏ヤ氦浠樻棩鏈�"></el-input> + </el-form-item> + <!-- 璇︾粏鍦板潃 --> + <el-form-item label="妫�娴嬭垂鐢�" style="width: 98%"> + <el-input v-model="dataForm.secretClass" 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" label="鐗╁搧鎬ц川" style="width: 98%"> + <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"> + <div class="DWidth DAlign DHold"> + 鏍峰搧鐘舵�� + </div> + <div class="el-border-left" style="width: 98%"> + <el-form-item label="鏄惁婊¤冻娴嬭瘯瑕佹眰:" label-width="140px"> + <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-and-bottom"> + <div class="DWidth DAlign DHold"> + 浜や粯鐗╂竻鍗� + </div> + <div style="width: calc(100% - 120px);padding: 5px"> + <el-table class="el-software" height="230" border :data="dataForm.tableData" + stripe> + <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column> + <el-table-column prop="name" min-width="300" label="鍚嶇О"></el-table-column> + <el-table-column prop="identification" align="center" width="380" label="鏍囪瘑/鐗堟湰"></el-table-column> + </el-table> + </div> + </div> + </div> + </div> + <div class="el-flex el-border-bottom"> + <div class="DWidth DAlign DHold"> + 娴嬭瘯鏈烘瀯淇℃伅 + </div> + <div class="el-border-left DOldForm" style="width: 100%;"> + <el-form-item label-width="120px" label="娴嬭瘎鏈烘瀯鍚嶇О" style="width: 98%"> + <el-input v-model="dataForm.delegateUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </el-form-item> + <!-- 鑱旂郴浜� --> + <el-form-item label-width="120px" label="鍦板潃" style="width: 98%"> + <el-input v-model="dataForm.delegateUnitContactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> + </el-form-item> + <!-- 璇︾粏鍦板潃 --> + <el-form-item label-width="120px" label="涓氬姟鑱旂郴" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </el-form-item> + <el-form-item label-width="120px" label="涓氬姟鎶曡瘔" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </el-form-item> + <el-form-item label-width="120px" label="瀹為獙瀹よ仈绯讳汉" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </el-form-item> + <el-form-item label-width="120px" label="瀹為獙瀹よ仈绯荤數璇�" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </el-form-item> + <el-form-item label-width="120px" label="閭斂缂栫爜" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </el-form-item> + <el-form-item label-width="120px" label="浼犵湡" style="width: 49%"> + <el-input v-model="dataForm.delegateUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </el-form-item> + <el-form-item label-width="120px" label="鍦板潃" style="width: 98%"> + <el-input v-model="dataForm.delegateUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </el-form-item> + <el-form-item label-width="120px" label="涓氬姟鎶曡瘔" style="width: 98%"> + <el-input v-model="dataForm.delegateUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </el-form-item> + </div> + </div> + <div class="el-flex"> + <div class="DWidth DAlign DHold"> + 鎵挎墭鏂圭瀛楋細 + </div> + <div class="" style="width: 100%;"> + <div class="el-flex" style="height: 40px"> + <div style="width: 50%"> + <span>{{dataForm.write}}</span> + </div> + <div class="el-flex"> + <div style="width: 120px;text-align: center">{{dataForm.year}}</div>骞� + <div style="width: 80px;text-align: center">{{dataForm.month}}</div>鏈� + <div style="width: 80px;text-align: center">{{dataForm.day}}</div>鏃� + </div> + </div> + </div> + </div> + </div> + </div> + </el-form> + </div> +</template> + +<script> +export default { + name: 'SoftwareTestingOrderForm', + data() { + return { + dataForm: { + delegateUnitName: '', + delegateUnitAddress: '', + delegateUnitContactPerson: '', + delegateUnitContact: '', + developmentUnitName: '', + developmentContactPerson: '', + developmentAddress: '', + developmentContact: '', + softwareName: '', + identification: '', + secretClass: '', + criticalLevel:'', + runtimeEnvironment: '', + programmingLanguage: '', + checkList: [1, 0], + testType:[], + tableData: [ + {code: 1, name: '灏忛箤楣�', identification: '3/121', isTested: 1}, + {code: 2, name: '灏忛箤楣�', identification: '3/122', isTested: 0}, + {code: 3, name: '灏忛箤楣�', identification: '3/111', isTested: 0}, + {code: 4, name: '灏忛箤楣�', identification: '36/121', isTested: 1}, + {code: 5, name: '灏忛箤楣�', identification: '3/121a', isTested: 0}, + {code: 6, name: '灏忛箤楣�', identification: '3c/121', isTested: 0}, + {code: 7, name: '灏忛箤楣�', identification: '3ac/12ac1', isTested: 0}, + {code: 8, name: '灏忛箤楣�', identification: '3aca/ac121', isTested: 1}, + {code: 9, name: '灏忛箤楣�', identification: '3ww/ca121', isTested: 1}, + {code: 10, name: '灏忛箤楣�', identification: '3aw/12wd1', isTested: 1}, + {code: 1, name: '灏忛箤楣�', identification: '3/121', isTested: 1}, + {code: 2, name: '灏忛箤楣�', identification: '3/122', isTested: 0}, + {code: 3, name: '灏忛箤楣�', identification: '3/111', isTested: 0}, + {code: 4, name: '灏忛箤楣�', identification: '36/121', isTested: 1}, + {code: 5, name: '灏忛箤楣�', identification: '3/121a', isTested: 1}, + {code: 6, name: '灏忛箤楣�', identification: '3c/121', isTested: 0}, + {code: 7, name: '灏忛箤楣�', identification: '3ac/12ac1', isTested: 0}, + {code: 8, name: '灏忛箤楣�', identification: '3aca/ac121', isTested: 1}, + {code: 9, name: '灏忛箤楣�', identification: '3ww/ca121', isTested: 1}, + {code: 10, name: '灏忛箤楣�', identification: '3aw/12wd1', isTested: 1} + ], + year:'2023', + month:'10', + day:'12' + }, + } + }, +} +</script> + +<style> +.weiTuoDanAuto { + width: 70%; + border: 1px solid; + margin: 0 auto; +} +.zt .weiTuoDanAuto .el-form-item.el-form-item--default{ + margin-right: 0; +} +.el-flex { + display: flex; + align-items: center; +} + +.DWidth { + width: 100px; +} + +.DWidth-Unt { + width: 100px; +} + +.DAlign { + text-align: center; +} +.el-border-left{ + border-left: 1px solid; +} +.DOldForm { + width: 100%; +} +.el-border-top-and-bottom{ + border-top: 1px solid; + border-bottom: 1px solid; +} +.DOldForm > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); +} + +.el-border-bottom { + border-bottom: 1px solid; +} + +.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; +} +</style> -- Gitblit v1.9.1