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