Administrator
2021-06-24 78601ae44cf7acc6d3bbf65bcdccdc2fe223cd64
取证上报,新增,修改,删除
2 files modified
138 ■■■■■ changed files
src/api/feedback/feedback.js 24 ●●●●● patch | view | raw | blame | history
src/views/feedbackReport/feedbackReport.vue 114 ●●●● patch | view | raw | blame | history
src/api/feedback/feedback.js
@@ -1,4 +1,5 @@
import request from '@/router/axios';
import qs from 'qs' // axios自带的工具不需要安装npm依赖
export const getList = (current, size, params) => {
  return request({
@@ -62,6 +63,18 @@
  })
}
export const adds = (row) => {
  return request({
    url: '/api/feedback/feedback/saves',
    method: 'post',
    headers: {
      'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
    },
    data: qs.stringify(row)
  })
}
export const update = (row) => {
  return request({
    url: '/api/feedback/feedback/submit',
@@ -70,3 +83,14 @@
  })
}
export const updates = (row) => {
  return request({
    url: '/api/feedback/feedback/updates',
    method: 'post',
    headers: {
      'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
    },
    data: qs.stringify(row)
  })
}
src/views/feedbackReport/feedbackReport.vue
@@ -29,10 +29,12 @@
      </template>
    </avue-crud>
  </basic-container>
</template>
<script>
  import {getListReport, getDetails, 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,6 +55,8 @@
          tip: false,
          searchShow: true,
          searchMenuSpan: 6,
          labelWidth: '125',
          dialogWidth: 1150,
          border: false,
          stripe:true,
          index: true,
@@ -65,14 +69,27 @@
            {
              label: "上报人姓名",
              prop: "sname",
              search:true,
              searchLabelWidth:100,
              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: "上报地址",
@@ -117,7 +134,11 @@
              hide:true,
              viewDisplay:true,
              listType: 'picture-card',
              action: '/imgupload'
              action: "/api/blade-resource/oss/endpoint/put-file",
              propsHttp: {
                res: "data",
                url: "link",
              }
            },
            {
              label: '视频',
@@ -128,21 +149,37 @@
              viewDisplay:true,
              listType: 'picture-img',
              span: 24,
              action: '/imgupload'
              action: "/api/blade-resource/oss/endpoint/put-file",
              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"]),
      permissionList() {
        return {
          addBtn: this.vaildData(this.permission.feedback_add, false),
          addBtn: this.vaildData(this.permission.feedback_add, true),
          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() {
@@ -155,7 +192,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",
@@ -168,7 +230,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",