叶松
2023-12-08 8ff8b4dbccd93d4dbc7976b50148088fef77af0b
Merge branch 'master' of http://111.30.93.211:10101/r/supipe
已修改9个文件
132 ■■■■■ 文件已修改
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/GoodManage/MixRatioScreen.vue 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/MixingInfo/messageInfo.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/SecureManage/RiskGrad/AreaPolling.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/SecureManage/RiskGrad/components/PollingTask.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/SecureManage/RiskGrad/components/TaskPunchcard.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java
@@ -3,6 +3,7 @@
import com.thhy.general.common.BasicResult;
import com.thhy.screen.modules.biz.audio.entity.AudioDto;
import com.thhy.screen.modules.biz.audio.entity.AudioGroup;
import com.thhy.screen.modules.biz.audio.entity.GroupInfoVo;
import com.thhy.screen.modules.biz.audio.service.AudioService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
@@ -38,7 +39,7 @@
    @RequestMapping("groupInfo")
    public BasicResult groupInfo(@RequestBody AudioDto audioDto){
        audioService.groupInfo(audioDto);
        return BasicResult.success();
        GroupInfoVo infoVo = audioService.groupInfo(audioDto);
        return BasicResult.success(infoVo);
    }
}
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java
@@ -2,6 +2,7 @@
import com.thhy.screen.modules.biz.audio.entity.AudioDto;
import com.thhy.screen.modules.biz.audio.entity.AudioGroup;
import com.thhy.screen.modules.biz.audio.entity.GroupInfoVo;
import java.util.List;
@@ -13,5 +14,5 @@
    void addFile(AudioDto audioDto);
    void groupInfo(AudioDto audioDto);
    GroupInfoVo groupInfo(AudioDto audioDto);
}
hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java
@@ -36,15 +36,16 @@
        List<AudioFile> fileList = audioDto.getFileList();
        screenMapper.deleteAudioFile(audioDto.getGroupId());
        for(AudioFile audioFile : fileList){
            audioFile.setGroupId(audioFile.getGroupId());
            audioFile.setGroupId(audioDto.getGroupId());
            screenMapper.insertAudioFile(audioFile);
        }
    }
    @Override
    public void groupInfo(AudioDto audioDto) {
    public GroupInfoVo groupInfo(AudioDto audioDto) {
        GroupInfoVo infoVo = screenMapper.queryGroupInfo(audioDto.getGroupId());
        List<AudioFile> fileList = screenMapper.queryFileByGroup(audioDto.getGroupId());
        infoVo.setFileList(fileList);
        return infoVo;
    }
}
hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml
@@ -323,7 +323,7 @@
    </update>
    <delete id="deleteAudioFile">
        delete from t_audio_group_file where groupId = #{groupId}
        delete from t_audio_group_file where group_id = #{groupId}
    </delete>
    <select id="queryGroupInfo" resultType="com.thhy.screen.modules.biz.audio.entity.GroupInfoVo">
web/src/views/GoodManage/MixRatioScreen.vue
@@ -110,10 +110,11 @@
        <div style="display: flex;">
          <div style="margin-right: 10px;" v-for="(item, index) in  ruleForm.infos " :key="index">
            <el-form-item :label="index === 0 ? '材料名称' : ''" :prop="`infos.${index}.dictId`">
              <el-select v-model="item.dictId" size="mini" placeholder="请选择材料名称">
              <!-- <el-select v-model="item.dictId" size="mini" placeholder="请选择材料名称">
                <el-option v-for="item in selects.materials" :key="item.value" :label="item.label"
                  :value="item.value"></el-option>
              </el-select>
              </el-select> -->
              <el-input v-model="item.dictId" size="mini" placeholder="请输入" clearable></el-input>
            </el-form-item>
            <el-form-item :label="index === 0 ? '规格型号' : ''" :prop="`infos.${index}.spec`">
              <el-input v-model="item.spec" size="mini" placeholder="请输入" clearable></el-input>
@@ -153,7 +154,7 @@
      times: [], // 时间范围
      selects: {
        screenNames: [], // 配合比屏
        materials: [] // 材料名称
        // materials: [] // 材料名称[先改成输入,,字典表材料不匹配]
      }, // 下拉框状态选择汇总
      tableData: [{
        inType: '', // 录入方式
@@ -166,7 +167,7 @@
        construction: '',  // 施工部位
        mixingConsumeId: '', // 每个材料id
        dataLists: [
          {name: '材料名称', type: 'dictName', value: []}, // 材料名称
          {name: '材料名称', type: 'dictId', value: []}, // 材料名称
          {name: '规格型号', type: 'spec', value: []}, // 规格型号
          {name: '生产厂家', type: 'manufacturer', value: []}, // 生产厂家
          {name: '材料含水率(%)', type: 'watFull', value: []}, // 含水率
@@ -252,7 +253,7 @@
          construction: '',  // 施工部位
          mixingConsumeId: '', // 每个材料id
          dataLists: [
            {name: '材料名称', type: 'dictName', value: []}, // 材料名称
            {name: '材料名称', type: 'dictId', value: []}, // 材料名称
            {name: '规格型号', type: 'spec', value: []}, // 规格型号
            {name: '生产厂家', type: 'manufacturer', value: []}, // 生产厂家
            {name: '材料含水率(%)', type: 'watFull', value: []}, // 含水率
@@ -307,18 +308,18 @@
      })
    },
    //获取字典表材料名称
    async getDicFilteredData() {
      let params = {pageNum: 1, pageSize: 100000000}
      let {data} = await this.$api.Dictionary.searchDictionary(params)
      data.list.forEach(item => {
        if (item.dictType === 'pipe_materials') {
          this.selects.materials.push({
            label: item.dictName,
            value: item.dictId,
          })
        }
      })
    },
    // async getDicFilteredData() {
    //   let params = {pageNum: 1, pageSize: 100000000}
    //   let {data} = await this.$api.Dictionary.searchDictionary(params)
    //   data.list.forEach(item => {
    //     if (item.dictType === 'pipe_materials') {
    //       this.selects.materials.push({
    //         label: item.dictName,
    //         value: item.dictId,
    //       })
    //     }
    //   })
    // },
    // 获取配比屏名称
    async getScreenNames() {
      const params = {pageNum: 1, pageSize: 9999}
@@ -351,9 +352,9 @@
        if (!this.isRenderDialog) {
          this.isRenderDialog = true
        }
        if (!this.selects.materials.length) {
          await this.getDicFilteredData()
        }
        // if (!this.selects.materials.length) {
        //   await this.getDicFilteredData()
        // }
        this.asyncVisible = true
        this.$nextTick(() => {
          resolve()
@@ -372,7 +373,6 @@
      this.submitMode = 'update'
      this.showDialog().then(() => {
        const {mixingSignboardId, proName, constructionUnit, saveStamp, construction, dataListFlat} = this.tableData[i]
        console.log(constructionUnit)
        this.ruleForm = Object.assign(this.ruleForm, {
          mixingSignboardId,
          proName,
@@ -543,8 +543,11 @@
          justify-content: center;
          align-items: center;
          flex: 1;
          padding: 0 4px;
          line-height: 24px;
          margin: -1px -1px -1px 0;
          border: 1px solid #01B3EF;
          word-break: break-all;
        }
      }
    }
web/src/views/MixingInfo/messageInfo.vue
@@ -29,7 +29,10 @@
                </div>
                <div class="mixing_rows">
                    <div class="mixing_rows_titles">检验状态:</div>
                    <div class="mixing_rows_datas"  :class="{'standardStyle':mixingList.status===1,'notStandardStyle':mixingList.status!==1}">{{mixingList&&mixingList.status===1?'合格':mixingList&&mixingList.status===2?'待检':''}}</div>
                    <div class="mixing_rows_datas"
                        :class="{ 'standardStyle': mixingList.status === 1, 'notStandardStyle': mixingList.status !== 1 }">
                        {{ mixingList && mixingList.status === 1 ? '合格' : mixingList && mixingList.status === 2 ? '待检' : ''
                        }}</div>
                </div>
                <div class="mixing_rows">
                    <div class="mixing_rows_titles">报告编号:</div>
@@ -44,7 +47,7 @@
    data(){
        return{
            timer:null,//定时器
            mixingList:null,//展示数据
            mixingList: [],//展示数据
        }
    },
    created(){
@@ -93,7 +96,7 @@
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 5px;
    padding: 0.4rem;
    background: url("../../assets/mixing/mixing_bg3.png") no-repeat;
    background-size: 100% 100%;
    background-position: center center;
@@ -131,8 +134,8 @@
        .mixing_left{
            display: flex;
            flex-direction: column;
            width: 45%;
            margin-right: 15px;
            flex: 1;
            margin-right: 3rem;
            display: flex;
            flex-direction: column;
            align-items: center;
@@ -146,6 +149,7 @@
                width: 100%;
                background: url("../../assets/mixing/mixing_left_bg.png") no-repeat;
                background-size: 100% 100%;
                >div{
                    display: flex;
                    justify-content: center;
@@ -158,6 +162,7 @@
                    background-color: rgba(37, 129, 255, 0.29);
                }
            }
            .mixing_left_name{
                flex: 1;
                width: 100%;
@@ -168,38 +173,44 @@
                background: linear-gradient(to bottom,#FFFFFF 0%,rgba(140, 186, 255, 0.88) 100%);
                background-clip: text;
                -webkit-background-clip: text;
                text-fill-color: transparent;
                -webkit-text-fill-color: transparent;
                color: #FFFFFF;
                font-size: 9rem;
                font-weight: 500;
            }
        }
        .mixing_right{
            width: calc(55% - 100px);
            flex: 1.2;
            background: linear-gradient(to right,#0D3776 0%,#041A40 100%);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 2rem 4rem;
            .mixing_rows{
                padding: 10px 20px;
                overflow: hidden;
                display: flex;
                .mixing_rows_titles{
                    flex: none;
                    color: #FFFFFF;
                    font-weight: 400;
                    font-size: 5rem;
                }
                .mixing_rows_datas{
                    flex: none;
                    color: #FFFFFF;
                    font-weight: 400;
                    font-size: 5rem;
                }
                .standardStyle{
                    color:#15EF48;
                    font-size:8rem;
                }
                .notStandardStyle{
                    color:rgba(255, 102, 0, 1);
                    font-size:8rem;
web/src/views/SecureManage/RiskGrad/AreaPolling.vue
@@ -7,7 +7,9 @@
                <el-tab-pane label="任务打卡" name="second"></el-tab-pane>
            </el-tabs>
        </div>
        <div class="content">
        <component :is="cpns[activeName]"></component>
        </div>
    </div>
</template>
<script>
@@ -32,4 +34,13 @@
<style lang="scss" scoped>
@import '@/style/layout-main.scss';
.main {
    display: flex;
    .content {
        overflow: hidden;
        flex: 1;
    }
}
</style>
web/src/views/SecureManage/RiskGrad/components/PollingTask.vue
@@ -1,6 +1,6 @@
<!-- 安全管理 ==> 风险分级管控 => 区域巡检(巡检任务)-->
<template>
    <div>
    <div class="wrap">
        <div class="main_header">
            <div class="header_item">
                <span class="header_label">巡检任务:</span>
@@ -385,6 +385,17 @@
<style lang="scss" scoped>
@import '@/style/layout-main.scss';
.wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    .main_content {
        overflow: hidden;
        flex: 1;
    }
}
.divider {
    position: relative;
    margin-bottom: 30px;
web/src/views/SecureManage/RiskGrad/components/TaskPunchcard.vue
@@ -1,6 +1,6 @@
<!-- 安全管理 ==> 风险分级管控 => 区域巡检(任务打卡)-->
<template>
    <div>
    <div class="wrap">
        <div class="main_header">
            <div class="header_item">
                <span class="header_label">巡检人:</span>
@@ -8,7 +8,7 @@
            </div>
            <div class="header_item">
                <span class="header_label">巡检状态:</span>
                <el-select size="mini" v-model="queryInfo.status">
                <el-select size="mini" v-model="queryInfo.status" clearable>
                    <el-option v-for="item in queryStatus" :key="item.value" :label="item.label" :value="item.value"
                        placeholder="请选择巡检状态"></el-option>
                </el-select>
@@ -72,8 +72,6 @@
                    <el-image class="image" v-for="(item, index) in regionInfos.img" :key="index" :src="item" fit="contain"
                        :preview-src-list="regionInfos.img"></el-image>
                </el-form-item>
                <el-form-item label="获取当前位置:">{{ regionInfos.location }}</el-form-item>
            </el-form>
        </el-dialog>
    </div>
@@ -120,7 +118,6 @@
                region: '', // 巡检区域
                res: '', // 巡检结果
                img: '', // 上传的图片
                location: '', // 位置
            }
        }
    },
@@ -230,13 +227,12 @@
                    this.regionInfos.time = res.data.inspectionTime
                    this.regionInfos.region = res.data.region
                    this.regionInfos.res = res.data.result
                    this.regionInfos.location = res.data.location
                    this.regionInfos.img = []
                    if (res.data.imgPaths) {
                        let arr = []
                        res.data.imgPaths.split(',').forEach(item => {
                            arr.push(process.env.VUE_APP_BASE_URL + '/' + item)
                            arr.push('https://szpipe.thhy-tj.com/' + item) // 是生产地址
                        })
                        this.regionInfos.img.push(...arr)
                    }
@@ -265,6 +261,17 @@
<style lang="scss" scoped>
@import '@/style/layout-main.scss';
.wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    .main_content {
        overflow: hidden;
        flex: 1;
    }
}
.rule_form {
    color: #fff;