wente
2023-11-22 c679af2a31ba7c006c5b9a6cb5d7a79050f0703f
项目表
5个文件已修改
289 ■■■■■ 已修改文件
web/packages/components/zt-dict/src/zt-dict.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/packages/components/zt-uploader/src/zt-uploader.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/components/config-uploader/src/config-uploader.vue 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/project/Environ-AddOrUpdate.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/packages/components/zt-dict/src/zt-dict.vue
@@ -3,9 +3,12 @@
      <el-select :value="dictValue" @change="changeProjectMajor" @input="$emit('input', $event)" :placeholder="placeholder" clearable style="width: 100%;" v-if="showType === 'select'" :disabled="disabled">
          <el-option :label="data.dictLabel" v-for="data in dicts" :key="data.dictValue" :value ="data.dictValue">{{data.dictLabel}}</el-option>
      </el-select>
      <el-radio-group :value="dictValue" @input="$emit('input', $event)" v-if="showType === 'radio'" :disabled="disabled">
        <el-radio :label="data.dictValue" v-for="data in dicts" :key="data.dictValue">{{data.dictLabel}}</el-radio>
      </el-radio-group>
      <div v-if="showType === 'radio'" :disabled="disabled">
        <el-radio-group :value="dictValue" @input="$emit('input', $event)" >
          <el-radio :label="data.dictValue" @change="changeDictValue(data.dictValue,data.dictLabel)" v-for="data in dicts" :key="data.dictValue">{{data.dictLabel}}</el-radio>
          <el-input class="radio-input" v-if="isName" v-model="inputName"></el-input>
        </el-radio-group>
      </div>
      <zt-combo-tree v-model="dictValue" :datas="dictTrees" :disabled-filter="disabledFilter" @input="$emit('input', $event)" v-if="showType === 'tree'" :placeholder="placeholder"/>
    </div>
</template>
@@ -15,6 +18,7 @@
  export default {
    name: 'ZtDict',
    props: {
      inputName:{},
      value: [Number, String, Boolean],
      dict: { // 字典类型
        type: String,
@@ -42,7 +46,9 @@
    },
    data() {
      return {
        dictValue: typeof this.value === 'undefined' ? '' : (this.value + '')
        dictValue: typeof this.value === 'undefined' ? '' : (this.value + ''),
        isName:false,
        eventIndex:'',
      }
    },
    computed: {
@@ -75,6 +81,16 @@
      }
    },
    methods: {
      changeDictValue(value,name){
        if(name.indexOf("其他")!=-1){
          console.log(this.inputName,'inputName')
          console.log(name,'字典名字q34567')
          this.eventIndex = value
          this.isName = true
        }else {
          this.isName = false
        }
      },
      wrapTreeId(dictTypes) {
        dictTypes.forEach(item => {
          if ((item.dictType || '').length > 0) { // 字典类型
@@ -117,5 +133,13 @@
    background-color: #00a06e !important;
    border-color: #1890ff !important;
  }
  .radio-input.el-input{
    position: absolute;
    bottom: 5px;
    left: 68px;
  }
  .radio-input.el-input>.el-input__inner{
    height: 25px;
  }
</style>
web/packages/components/zt-uploader/src/zt-uploader.vue
@@ -348,11 +348,11 @@
    // 获取已上传的文件列表
    getUploadList(val) {
      if (val) {
        console.log(val, 'getUploadList val')
        // console.log(val, 'getUploadList val')
        if (!this.multiple) { // 单选
          return [val]
        } else {
          console.log([...val], 'getUploadList [...val]')
          // console.log([...val], 'getUploadList [...val]')
          return [...val]
        }
      } else {
web/src/components/config-uploader/src/config-uploader.vue
@@ -1,29 +1,54 @@
<template>
  <el-collapse class="config-uploader" v-model="activeNames" v-if="oss">
    <el-collapse-item name="1" v-for="group in (oss.groups || [])" :key="group.busiFieldGroup">
      <template slot="title">
        <el-tag v-if="!image">{{group.busiFieldGroup}}</el-tag>
      </template>
     <!-- <zt-form-item :label="field.busiFieldName" :prop="field.busiField" v-for="field in group.fields"
                    :key="field.busiField" :rules="field.isRequired ? 'required':''" style="width: 100%;">
        <zt-uploader v-model="dataForm[field.busiField]" multiple :limit="field.fileLimit" :file-type="field.fileType"
                     :accept="field.accept" :file-size="field.fileSize" @input="change(field.busiField)"/>
      </zt-form-item>-->
      <el-table :data="group.fields" :show-header="false">
        <el-table-column width="250" style="text-align: left;white-space:nowrap;">
          <template slot-scope="scope">
            <span v-html="scope.row.busiFieldName"></span>
          </template>
        </el-table-column>
        <el-table-column align="left">
          <template slot-scope="scope">
            <zt-uploader :image="image" v-model="dataForm[scope.row.busiField]" multiple :limit="scope.row.fileLimit" :file-type="scope.row.fileType"
                         :accept="scope.row.accept" :file-size="scope.row.fileSize" @getUploaderImg="getUploaderImg" @input="change(scope.row.busiField)"/>
          </template>
        </el-table-column>
      </el-table>
    </el-collapse-item>
  </el-collapse>
  <div>
    <el-collapse class="config-uploader" v-model="activeNames" v-if="oss && oss.groups.length>1">
      <el-collapse-item name="1" v-for="group in (oss.groups || [])" :key="group.busiFieldGroup">
        <template slot="title">
          <el-tag v-if="!image">{{group.busiFieldGroup}}</el-tag>
        </template>
        <!-- <zt-form-item :label="field.busiFieldName" :prop="field.busiField" v-for="field in group.fields"
                       :key="field.busiField" :rules="field.isRequired ? 'required':''" style="width: 100%;">
           <zt-uploader v-model="dataForm[field.busiField]" multiple :limit="field.fileLimit" :file-type="field.fileType"
                        :accept="field.accept" :file-size="field.fileSize" @input="change(field.busiField)"/>
         </zt-form-item>-->
        <el-table :data="group.fields" :show-header="false">
          <el-table-column width="250" style="text-align: left;white-space:nowrap;">
            <template slot-scope="scope">
              <span v-html="scope.row.busiFieldName"></span>
            </template>
          </el-table-column>
          <el-table-column align="left">
            <template slot-scope="scope">
              <zt-uploader :image="image" v-model="dataForm[scope.row.busiField]" multiple :limit="scope.row.fileLimit" :file-type="scope.row.fileType"
                           :accept="scope.row.accept" :file-size="scope.row.fileSize" @getUploaderImg="getUploaderImg" @input="change(scope.row.busiField)"/>
            </template>
          </el-table-column>
        </el-table>
      </el-collapse-item>
    </el-collapse>
    <div v-else class="config-uploader" v-model="activeNames" >
      <div v-for="group in (oss.groups || [])" :key="group.busiFieldGroup">
        <!-- <zt-form-item :label="field.busiFieldName" :prop="field.busiField" v-for="field in group.fields"
                       :key="field.busiField" :rules="field.isRequired ? 'required':''" style="width: 100%;">
           <zt-uploader v-model="dataForm[field.busiField]" multiple :limit="field.fileLimit" :file-type="field.fileType"
                        :accept="field.accept" :file-size="field.fileSize" @input="change(field.busiField)"/>
         </zt-form-item>-->
        <el-table :data="group.fields" :show-header="false">
          <el-table-column width="250" style="text-align: left;white-space:nowrap;">
            <template slot-scope="scope">
              <span v-html="scope.row.busiFieldName"></span>
            </template>
          </el-table-column>
          <el-table-column align="left">
            <template slot-scope="scope">
              <zt-uploader :image="image" v-model="dataForm[scope.row.busiField]" multiple :limit="scope.row.fileLimit" :file-type="scope.row.fileType"
                           :accept="scope.row.accept" :file-size="scope.row.fileSize" @getUploaderImg="getUploaderImg" @input="change(scope.row.busiField)"/>
            </template>
          </el-table-column>
        </el-table>
      </div>
    </div>
  </div>
</template>
<script>
web/src/views/modules/project/Environ-AddOrUpdate.vue
@@ -26,7 +26,7 @@
            <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)">
              <div style="padding: 5px">软件资源:</div>
              <div class="table-container">
              <el-table ref="tableSoftwareList" class="el-software el-margin-top-bot" height="150" border :data="dataForm.softwareResourcesList"
              <el-table ref="tableSoftwareList" class="el-software el-margin-top-bot" border :data="dataForm.softwareResourcesList"
                        stripe>
                <el-table-column prop="no" align="center" width="80" label="序号">
                  <template slot-scope="scope">
@@ -61,7 +61,7 @@
              </div>
              <div style="padding: 5px">硬件资源:</div>
              <div class="table-container">
              <el-table ref="tableHardwareList" class="el-software el-margin-top-bot" height="150" border :data="dataForm.hardwareResourcesList"
              <el-table ref="tableHardwareList" class="el-software el-margin-top-bot" border :data="dataForm.hardwareResourcesList"
                        stripe>
                <el-table-column prop="no" align="center" width="80" label="序号">
                  <template slot-scope="scope">
@@ -123,7 +123,7 @@
            </div>
            <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)">
              <div class="table-container">
              <el-table ref="tableEnvironeList" class="el-software el-margin-top-bot" height="150" border :data="dataForm.environAnalysisList"
              <el-table ref="tableEnvironeList" class="el-software el-margin-top-bot" border :data="dataForm.environAnalysisList"
                        stripe>
                <el-table-column prop="no" align="center" width="80" label="序号">
                  <template slot-scope="scope">
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
@@ -18,21 +18,17 @@
                委托单位
              </div>
              <div class="DOldForm el-border-left">
                <!-- 单位名称 -->
                <el-form-item class="marginTopAndMarginBottom" label="单位名称" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.entrustUnitName" placeholder="请输入单位名称"></el-input>
                </el-form-item>
                <!-- 联系人 -->
                <el-form-item class="marginTopAndMarginBottom" label="联系人" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.entrustUnitContact"
                            placeholder="请输入联系人"></el-input>
                </el-form-item>
                <!-- 详细地址 -->
                <el-form-item label="详细地址" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.entrustUnitAddress"
                            placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <!-- 联系方式 -->
                <el-form-item label="联系方式" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.entrustUnitContWay"
                            placeholder="请输入联系方式"></el-input>
@@ -44,21 +40,17 @@
                开发单位
              </div>
              <div class="DOldForm el-border-left">
                <!-- 单位名称 -->
                <el-form-item class="marginTopAndMarginBottom" label="单位名称" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.developUnitName" placeholder="请输入单位名称"></el-input>
                </el-form-item>
                <!-- 联系人 -->
                <el-form-item class="marginTopAndMarginBottom" label="联系人" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.developUnitContact"
                            placeholder="请输入联系人"></el-input>
                </el-form-item>
                <!-- 详细地址 -->
                <el-form-item label="详细地址" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.developUnitAddress"
                            placeholder="请输入详细地址"></el-input>
                </el-form-item>
                <!-- 联系方式 -->
                <el-form-item label="联系方式" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.developUnitContWay"
                            placeholder="请输入联系方式"></el-input>
@@ -70,23 +62,16 @@
                被测件信息
              </div>
              <div class="DOldForm el-border-left">
                <!-- 单位名称 -->
                <el-form-item class="marginTopAndMarginBottom" label="软件名称" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.softwareName" placeholder="请输入软件名称"></el-input>
                </el-form-item>
                <!-- 联系人 -->
                <el-form-item class="marginTopAndMarginBottom" label="软件标识" style="width: 49%">
                  <el-input readonly v-model="dataForm.project.softwareIdentity" placeholder="请输入软件标识"></el-input>
                </el-form-item>
                <!-- 详细地址 -->
                <el-form-item label="密级" style="width: 49%">
                  <zt-dict readonly v-model="dataForm.project.secretClass" placeholder="密级" dict="secret_class"
                           clearable></zt-dict>
                </el-form-item>
                <!--          <zt-form-item label="保密级别" prop="secretClass"  style="width: 25%">-->
                <!--            <zt-dict v-model="datadataForm.secretClass" dict="secret_class" placeholder="保密级别" style="width:200px"></zt-dict>-->
                <!--          </zt-form-item>-->
                <!-- 联系方式 -->
                <el-form-item label="关键等级" style="width: 49%">
                  <zt-dict readonly v-model="dataForm.project.criticalLevel" :radio="true" placeholder="关键等级"
                           clearable dict="critical_level"></zt-dict>
@@ -145,7 +130,7 @@
                  <div class="el-border-left" style="width: 98%">
                    <el-form-item style="width: 20%;padding-left:5%;margin-bottom: 0">
                      <zt-dict v-model="dataForm.softwareTestOrder.testBasis" :radio="true" dict="test_basis"
                               clearable></zt-dict>
                               clearable :inputName="dataForm.softwareTestOrder.otherBasis"></zt-dict>
                    </el-form-item>
                  </div>
                </div>
@@ -170,7 +155,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" dict="test_standard"></zt-dict>
                      <zt-dict  v-model="dataForm.softwareTestOrder.testStandard" :radio="true"
                                dict="test_standard" :inputName="dataForm.softwareTestOrder.otherStandard">
                      </zt-dict>
                    </el-form-item>
                  </div>
                </div>
@@ -184,27 +171,41 @@
                    </el-form-item>
                  </div>
                </div>
                <div class="DOldForm">
                  <el-form-item class="marginTopAndMarginBottom" label="开始日期" style="width: 49%">
                    <el-date-picker
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    开始日期
                  </div>
                  <div class="el-border-left startDate" style="width: 45%;">
                    <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
                      <el-date-picker
                        v-model="dataForm.softwareTestOrder.startDate"
                        type="date"
                        placeholder="选择日期">
                    </el-date-picker>
                  </el-form-item>
                  <!-- 联系人 -->
                  <el-form-item class="marginTopAndMarginBottom" label="结束日期" style="width: 49%">
                      </el-date-picker>
                    </el-form-item>
                  </div>
                  <div class="DWidth DAlign DHold">
                    结束日期
                  </div>
                  <div class="el-border-left endDate" style="width: 42%">
                  <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
                    <el-date-picker
                        v-model="dataForm.softwareTestOrder.endDate"
                        type="date"
                        placeholder="选择日期">
                      v-model="dataForm.softwareTestOrder.endDate"
                      type="date"
                      placeholder="选择日期">
                    </el-date-picker>
                  </el-form-item>
                  </div>
                </div>
                <div class="DOldForm el-border-bottom">
                  <el-form-item label="测试场地" style="width: 98%">
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    测试场地
                  </div>
                  <div class="el-border-left testVenue" style="width: 98%">
                  <el-form-item  style="width: 98%;padding-left:20px;margin:0;">
                    <el-input v-model="dataForm.softwareTestOrder.testVenue" placeholder="请输入单位名称"></el-input>
                  </el-form-item>
                  </div>
                </div>
                <div class="el-flex">
                  <div class="DWidth DAlign DHold">
@@ -225,11 +226,11 @@
              </div>
              <div class="" style="width: 100%;">
                <div class="el-flex " style="height: 40px">
                  <div style="width: 70%">
                  <div style="width: 60%">
<!--                    <span>{{ dataForm.softwareTestOrder.entrustSign }}</span>-->
                    <zt-select v-model="dataForm.softwareTestOrder.entrustSign" url="/sys/userEx/getUsersList" :multiple="true" :clearable="true" placeholder="委托方人员"/>
                  </div>
                  <div class="el-flex">
                  <div class="el-flex" style="margin-left: 10%">
                    <el-date-picker
                      v-model="dataForm.softwareTestOrder.entrustSignDate"
                      type="date"
@@ -252,32 +253,58 @@
                测试信息
              </div>
              <div class="DOldForm el-border-left">
                <el-form-item class="marginTopAndMarginBottom" label="测试日期" style="width: 49%">
                  <el-date-picker
                      v-model="dataForm.softwareTestOrder.testDate"
                      type="date"
                      placeholder="测试日期">
                  </el-date-picker>
                </el-form-item>
                <el-form-item class="marginTopAndMarginBottom" label="交付日期" style="width: 49%">
                  <el-date-picker
                      v-model="dataForm.softwareTestOrder.deliveryDate"
                      type="date"
                      placeholder="交付日期">
                  </el-date-picker>
                </el-form-item>
                <el-form-item label="检测费用" style="width: 98%">
                  <el-input v-model="dataForm.softwareTestOrder.testCost" placeholder="请输入检测费用"></el-input>
                </el-form-item>
                <el-form-item class="el-border-bottom marginTopAndMarginBottom2" label="物品性质" style="width: 100%">
                  <zt-dict v-model="dataForm.softwareTestOrder.articleNature" :radio="true"
                           dict="article_nature"></zt-dict>
                </el-form-item>
                <div class="el-flex el-border-bottom" style="margin-top: -10px;">
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    测试日期
                  </div>
                  <div class="el-border-left startDate" style="width: 45%;">
                    <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
                      <el-date-picker
                        v-model="dataForm.softwareTestOrder.testDate"
                        type="date"
                        placeholder="选择测试日期">
                      </el-date-picker>
                    </el-form-item>
                  </div>
                  <div class="DWidth DAlign DHold">
                    交付日期
                  </div>
                  <div class="el-border-left endDate" style="width: 42%">
                    <el-form-item  style="width: 100%;padding-left:20px;margin:0;">
                      <el-date-picker
                        v-model="dataForm.softwareTestOrder.deliveryDate"
                        type="date"
                        placeholder="选择交付日期">
                      </el-date-picker>
                    </el-form-item>
                  </div>
                </div>
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    检测费用
                  </div>
                  <div class="el-border-left testCost" style="width: 98%">
                    <el-form-item  style="width: 98%;padding-left:20px;margin:0;">
                      <el-input v-model="dataForm.softwareTestOrder.testCost" placeholder="请输入检测费用"></el-input>
                    </el-form-item>
                  </div>
                </div>
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    物品性质
                  </div>
                  <div class="el-border-left" style="width: 15%">
                    <el-form-item  style="width: 98%;padding-left:20px;margin:0;">
                      <zt-dict v-model="dataForm.softwareTestOrder.articleNature" :radio="true"
                               dict="article_nature" :inputName="dataForm.softwareTestOrder.otherNature"></zt-dict>
                    </el-form-item>
                  </div>
                </div>
                <div class="el-flex el-border-bottom">
                  <div class="DWidth DAlign DHold">
                    样品状态
                  </div>
                  <div class="el-border-left" style="width: 100%;">
                  <div class="el-border-left" style="width: 98%;">
                    <el-form-item label="是否满足测试要求:" label-width="160px" style="margin-bottom: 0">
                      <zt-dict v-model="dataForm.softwareTestOrder.sampleStatus" :radio="true"
                               dict="is_satisfy"></zt-dict>
@@ -308,11 +335,9 @@
                              style="width: 98%">
                  <el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="请输入单位名称"></el-input>
                </el-form-item>
                <!-- 联系人 -->
                <el-form-item class="marginTopAndMarginBottom3" label-width="130px" label="地址" style="width: 98%">
                  <el-input v-model="dataForm.testAgencyInfo.site" placeholder="请输入联系人"></el-input>
                </el-form-item>
                <!-- 详细地址 -->
                <el-form-item class="marginTopAndMarginBottom2" label-width="130px" label="业务联系" style="width: 49%">
                  <el-input v-model="dataForm.testAgencyInfo.businContact" placeholder="请输入详细地址"></el-input>
                </el-form-item>
@@ -347,11 +372,11 @@
              </div>
              <div class="" style="width: 100%;">
                <div class="el-flex" style="height: 40px">
                  <div style="width: 70%">
                  <div style="width: 60%">
                    <zt-select v-model="dataForm.softwareTestOrder.contractSign" url="/sys/userEx/getUsersList" :multiple="true" :clearable="true" placeholder="承托方人员"/>
<!--                    <span>{{ dataForm.contractSign }}</span>-->
                  </div>
                  <div class="el-flex">
                  <div class="el-flex" style="margin-left: 10%">
<!--                    {{ dataForm.softwareTestOrder.contractSignDate | filterTime('YYYY年MM月DD日') }}-->
                    <el-date-picker
                      v-model="dataForm.softwareTestOrder.contractSignDate"
@@ -381,7 +406,7 @@
            </div>
          </div>
        </div>
        <div class="el-flex order-sc" style="height: 170px">
        <div class="el-flex order-sc" style="height: 60px">
<!--          <div class="DPadding3 DAlign DHold">-->
<!--            委托单上传-->
<!--          </div>-->
@@ -405,7 +430,8 @@
export default {
  data() {
    return {
      time: '2023-11-13',
      // inputName:'',
      eventIndex:'',
      editingCell:null,
      dataForm: {
        id: null,
@@ -430,7 +456,11 @@
          entrustSign:'',
          entrustSignDate:'',
          contractSign:'',
          contractSignDate:''
          contractSignDate:'',
          otherBasis:'otherBasis',
          otherStandard:'otherStandard',
          requireOther:'requireOther',
          otherNature:'otherNature',
        },
        project: {
          code: '',
@@ -471,6 +501,13 @@
    }
  },
  methods: {
    // getDictLabel(event,name){
    //   if(name.indexOf("其他")!=-1){
    //     console.log(name,'字典名字q34567')
    //     this.eventIndex = event
    //     this.inputName='q14eeff'
    //   }
    // },
    handleCellClick(row, column) {
      this.editingCell = {row, column}
      this.$nextTick(() => {
@@ -618,7 +655,18 @@
.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);
}