tangzy
2021-06-29 6de8b8a3e3790b874045d20b77bb7aa71dcdfb37
src/views/feedbackReport/feedbackReport.vue
@@ -29,10 +29,12 @@
      </template>
    </avue-crud>
  </basic-container>
</template>
<script>
  import {getListReport, getDetail, add, update, remove} from "@/api/feedback/feedback";
  import {getListReport, getDetails, adds, updates, remove} from "@/api/feedback/feedback";
    import {getBaTree} from "@/api/client/client";
  import {mapGetters} from "vuex";
  export default {
@@ -53,24 +55,44 @@
          tip: false,
          searchShow: true,
          searchMenuSpan: 6,
          labelWidth: '125',
          dialogWidth: 1150,
          border: false,
          stripe:true,
          index: true,
          viewBtn: true,
          selection: true,
          dialogClickModal: false,
          images:[],
          videos:[],
          column: [
            {
              label: "上报人姓名",
              prop: "sname",
              search:true,
              searchLabelWidth:100,
              searchSpan: 5,
              searchSpan:5,
              addDisplay:false,
              editDisplay:false
            },
            {
              label: "上报人姓名",
              prop: "snumber",
              type: "tree",
              dicUrl: "/api/catalogs/catalogs/getBigTree",
              props: {
                label: "title"
              },
              width: 72,
              hide: true,
              addDisplay: true,
              editDisplay: true,
              viewDisplay: false,
              rules: [{
                required: true,
                message: "请输入上报人姓名",
                message: "请选择上报人",
                trigger: "blur"
              }]
              }],
            },
            {
              label: "上报地址",
@@ -96,42 +118,75 @@
              type: "datetime",
              format: "yyyy-MM-dd HH:mm:ss",
              valueFormat: "yyyy-MM-dd HH:mm:ss",
            },
            {
              label: "上报时间",
              prop: "dateTime",
              type: "datetime",
              format: "yyyy-MM-dd HH:mm:ss",
              valueFormat: "yyyy-MM-dd HH:mm:ss",
              searchRange: true,
              search:true,
              searchLabelWidth:100,
              searchSpan: 6,
              addDisplay:false,
              viewDisplay:false,
              editDisplay:false,
              hide:true,
              rules: [{
                required: true,
                message: "请输入上报时间",
                message: "请选择上报时间",
                trigger: "blur"
              }]
            },
            {
              label: "视频",
              prop: "feedbackVideo",
              label: '图片',
              prop: 'images',
              dataType: 'array',
              type: 'upload',
              span: 24,
              hide:true,
              viewDisplay:true,
              rules: [{
                required: true,
                message: "请输入视频位置",
                trigger: "blur"
              }]
              listType: 'picture-card',
              action: "/api/blade-resource/oss/endpoint/put-file",
              propsHttp: {
                res: "data",
                url: "link",
              }
            },
            {
              label: "照片",
              prop: "feedbackPhoto",
             {
              label: '视频',
              prop: 'videos',
              dataType: 'array',
              type: 'upload',
              accept:"video/mp4",
              hide:true,
              viewDisplay:true,
              rules: [{
                required: true,
                message: "请输入照片位置",
                trigger: "blur"
              }]
              editDisabled:true,
              listType: 'picture',
              span: 24,
              action: "http://web.byisf.com:82/blade-jfpts/depl/put-depl",
              propsHttp: {
                res: "data",
                url: "link",
              }
            },
          ]
        },
        data: []
      };
    },
    watch:{
      handler(val) {
          var that = this;
          if (val != null && val !=""){
            getBaTree(val).then(res => {
              if (res) {
                that.form.sname = res.data.data.records[0].name;
              }
            });
          }
        },
    },
    computed: {
      ...mapGetters(["permission"]),
@@ -139,8 +194,8 @@
        return {
          addBtn: this.vaildData(this.permission.feedback_add, false),
          viewBtn: this.vaildData(this.permission.feedback_view, true),
          delBtn: this.vaildData(this.permission.feedback_delete, false),
          editBtn: this.vaildData(this.permission.feedback_edit, false)
          delBtn: this.vaildData(this.permission.feedback_delete, true),
          editBtn: this.vaildData(this.permission.feedback_edit, true)
        };
      },
      ids() {
@@ -153,7 +208,32 @@
    },
    methods: {
      rowSave(row, done, loading) {
        add(row).then(() => {
        var data = {
              status:1,
              tpaddress:"",
              spaddress:"",
              sname: row.$snumber,
              snumber: row.snumber,
              stime:row.stime,
              result:row.result,
              place:row.place
          }
        if (row.images.length > 0) {
               var imageArr = row.images;
               imageArr.forEach( image =>{
              data.tpaddress += image + ",";
          })
               data.tpaddress = data.tpaddress.substring(0,data.tpaddress.length-1);
            }
            if (row.videos.length > 0) {
               //var videoArr = row.videos;
               //videoArr.forEach( video =>{
              //data.spaddress += video + ",";
          //})
               //data.spaddress = data.spaddress.substring(0,data.spaddress.length-1);
               data.spaddress = row.videos;
            }
        adds(data).then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
@@ -166,7 +246,33 @@
        });
      },
      rowUpdate(row, index, done, loading) {
        update(row).then(() => {
        var data = {
              id:row.id,
              status:1,
              tpaddress:"",
              spaddress:"",
              sname: row.$snumber,
              snumber: row.snumber,
              stime:row.stime,
              result:row.result,
              place:row.place
          }
        if (row.images.length > 0) {
               var imageArr = row.images;
               imageArr.forEach( image =>{
              data.tpaddress += image + ",";
          })
               data.tpaddress = data.tpaddress.substring(0,data.tpaddress.length-1);
            }
            if (row.videos.length > 0) {
               //var videoArr = row.videos;
               //videoArr.forEach( video =>{
              //data.spaddress += video + ",";
          //})
               //data.spaddress = data.spaddress.substring(0,data.spaddress.length-1);
               data.spaddress = row.videos;
            }
        updates(data).then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
@@ -219,8 +325,10 @@
      },
      beforeOpen(done, type) {
        if (["edit", "view"].includes(type)) {
          getDetail(this.form.id).then(res => {
          getDetails(this.form.id).then(res => {
            this.form = res.data.data;
            this.images = res.data.data.images;
            this.videos = res.data.data.videos;
          });
        }
        done();
@@ -255,8 +363,8 @@
        const { dateTime } = this.query;
        let values = {
          ...params,
          status:1
        };
        if (dateTime) {
          values = {
            ...params,