Pārlūkot izejas kodu

feat:修改新增假勤数据回显问题,设备管理接口联调

luoxu5 4 gadi atpakaļ
vecāks
revīzija
b84df77a3a

+ 45 - 8
security-protection-platform/src/api/system/index.js

@ -20,6 +20,20 @@ const mapping = {
20 20
  maxAbsenceTimes: 'absentAlarmThreshold',
21 21
  depId: 'workOrgRoleId'
22 22
}
23
const mappingDeviceQuest = {
24
  page: 'pageNumber',
25
  limit: 'pageSize',
26
  deviceTypeId: 'typeId',
27
  deviceName: 'nameAsLike',
28
  deviceId: 'code'
29
}
30
const mappingDeviceResponse = {
31
  deviceName: 'resourceToolName',
32
  deviceId: 'resourceToolCode',
33
  deviceType: 'resourceToolTypeName',
34
  deviceTypeId: 'resourceToolType',
35
  imgUrl: 'toolPictureUrl'
36
}
23 37
24 38
const api = {
25 39
  getSchedules () {
@ -52,27 +66,50 @@ const api = {
52 66
      return resp
53 67
    })
54 68
  },
69
  // 获取设备列表数据
55 70
  getDeviceData (data) {
56
    return $http.get('/system/getDeviceData', data).catch((err) => { return err })
71
    // return $http.get('/system/getDeviceData', data).catch((err) => { return err })
72
    data = keysMapping(data, mappingDeviceQuest)
73
    return $default.get('/sp/resourceTool/queryPageResourceTool', data).then(resp => {
74
      resp.data = keysMappingReverse(resp.data.data, mappingDeviceResponse)
75
      return resp
76
    }).catch((err) => { return err })
57 77
  },
78
  // 获取设备类型列表数据
58 79
  getDeviceTypes () {
59
    return $http.get('/system/getDeviceTypes').catch((err) => { return err })
80
    // return $http.get('/system/getDeviceTypes').catch((err) => { return err })
81
    return $default.get('/sp/resourceTool/queryResourceToolType').catch((err) => { return err })
60 82
  },
83
  // 删除设备
61 84
  deleteDeviceData (data) {
62
    if (Array.isArray(data.deviceId)) {
63
      return $http.delete(`/system/deleteDeviceData?deviceId=${data.deviceId.join(',')}`).catch((err) => { return err })
85
    // if (Array.isArray(data.deviceId)) {
86
    //   return $http.delete(`/system/deleteDeviceData?deviceId=${data.deviceId.join(',')}`).catch((err) => { return err })
87
    // } else {
88
    //   return $http.delete(`/system/deleteDeviceData?deviceId=${data.deviceId}`).catch((err) => { return err })
89
    // }
90
    if (Array.isArray(data.resourceToolId)) {
91
      return $default.delete(`/sp/resourceTool/deleteResourceTool?resourceToolId=${data.resourceToolId.join(',')}`).catch((err) => { return err })
64 92
    } else {
65
      return $http.delete(`/system/deleteDeviceData?deviceId=${data.deviceId}`).catch((err) => { return err })
93
      return $default.delete(`/sp/resourceTool/deleteResourceTool?resourceToolId=${data.resourceToolId}`).catch((err) => { return err })
66 94
    }
67 95
  },
96
  // 根据id获取单个设备数据
68 97
  getDeviceInfo (id) {
69
    return $http.get(`/system/getDeviceInfo?deviceId=${id}`).catch((err) => { return err })
98
    // return $http.get(`/system/getDeviceInfo?deviceId=${id}`).catch((err) => { return err })
99
    return $default.get(`/sp/resourceTool/queryOneResourceTool?resourceToolId=${id}`).then(resp => {
100
      resp.data = keysMappingReverse(resp.data.data, mappingDeviceResponse)
101
      return resp
102
    }).catch((err) => { return err })
70 103
  },
71 104
  addDeviceData (data) {
72
    return $http.post('/system/addDeviceData', data).catch((err) => { return err })
105
    // return $http.post('/system/addDeviceData', data).catch((err) => { return err })
106
    data = keysMapping(data, mappingDeviceResponse)
107
    return $default.post('/sp/resourceTool/createResourceTool', data).catch((err) => { return err })
73 108
  },
74 109
  editDeviceData (data) {
75
    return $http.put('/system/editDeviceData', data).catch((err) => { return err })
110
    // return $http.put('/system/editDeviceData', data).catch((err) => { return err })
111
    data = keysMapping(data, mappingDeviceResponse)
112
    return $default.post('/sp/resourceTool/modifyResourceTool', data).catch((err) => { return err })
76 113
  }
77 114
}
78 115

+ 27 - 14
security-protection-platform/src/modules/system/devicemana/components/modal/addDeviceModal.vue

@ -10,8 +10,11 @@
10 10
      </i>
11 11
    </template>
12 12
    <t-form ref="addDeviceModalForm" :model="addDeviceModalForm" :rules="addDeviceModalFormRules" :label-span="2" label-position="right">
13
      <t-form-item label="设备编号:" prop="deviceId">
14
        <t-input v-model="addDeviceModalForm.deviceId" placeholder="请输入设备编号"></t-input>
15
      </t-form-item>
13 16
      <t-form-item label="设备名称:" prop="deviceName">
14
        <t-input v-model="addDeviceModalForm.deviceName" :maxlength="100" :rows="3" count placeholder="请输入设备名称"></t-input>
17
        <t-input v-model="addDeviceModalForm.deviceName" placeholder="请输入设备名称"></t-input>
15 18
      </t-form-item>
16 19
      <t-form-item label="设备类型:" prop="deviceTypeId">
17 20
        <t-select v-model="addDeviceModalForm.deviceTypeId" placeholder="请选择设备类型">
@ -20,12 +23,12 @@
20 23
      </t-form-item>
21 24
      <t-form-item label="图片上传:">
22 25
        <div style="display:flex;flex-direction:row">
23
          <t-upload ref="uploader" :format="['jpg','jpeg','png']" :show-uploaded="false" :before-upload="$_onUploadBeforeUpload" :action="action" multiple type="drag" style="width:180px;height:180px" @success="$_onUploadSuccess" @remove-file="$_onUploadRemoveFile" @error="$_onUploadError" @file-ext-error="$_onUploadFormatError" @file-exceeded-size="$_onUploadExceededSize">
26
          <t-upload ref="uploader" :format="['jpg','jpeg','png']" :show-uploaded="false" :before-upload="$_onUploadBeforeUpload" :action="action" :data="{pictureUrl:addDeviceModalForm.pictureUrl}" name="picture" multiple type="drag" style="width:180px;height:180px" @success="$_onUploadSuccess" @remove-file="$_onUploadRemoveFile" @error="$_onUploadError" @file-ext-error="$_onUploadFormatError" @file-exceeded-size="$_onUploadExceededSize">
24 27
            <div style="width: 180px;height:180px;line-height: 180px">
25 28
              <t-icon icon="plus-outline" size="40"></t-icon>
26 29
            </div>
27 30
          </t-upload>
28
          <img v-show="addDeviceModalForm.imgUrl?true:false" :src="addDeviceModalForm.imgUrl" style="margin-left:20px;width: 180px;height:180px;">
31
          <img v-show="imgUrl?true:false" :src="imgUrl" style="margin-left:20px;width: 180px;height:180px;">
29 32
        </div>
30 33
      </t-form-item>
31 34
    </t-form>
@ -39,6 +42,12 @@
39 42
40 43
<script>
41 44
import sysapi from '@/api/system'
45
const defaultAddDeviceModalForm = {
46
  deviceId: '', // 设备id
47
  deviceName: '', // 设备名称
48
  deviceTypeId: '', // 设备类型id
49
  pictureUrl: '' // 图片标识
50
}
42 51
export default {
43 52
  props: {
44 53
    // 显示 / 隐藏新增设备对话框
@ -60,13 +69,13 @@ export default {
60 69
  data () {
61 70
    return {
62 71
      // 新增设备对话框表单
63
      addDeviceModalForm: {
64
        deviceName: '', // 设备名称
65
        deviceTypeId: '', // 设备类型id
66
        imgUrl: ''
67
      },
72
      addDeviceModalForm: JSON.parse(JSON.stringify(defaultAddDeviceModalForm)),
73
      imgUrl: '',
68 74
      // 请假对话框表单验证规则
69 75
      addDeviceModalFormRules: {
76
        deviceId: [
77
          { required: true, message: '设备编号不能为空', trigger: 'blur' }
78
        ],
70 79
        deviceName: [
71 80
          { required: true, message: '设备名称不能为空', trigger: 'blur' }
72 81
        ],
@ -76,7 +85,7 @@ export default {
76 85
      },
77 86
      // 提交表单是否显示loading
78 87
      loadingSubmit: false,
79
      action: '',
88
      action: 'http://10.19.90.34:8018/sp/resourceTool/uploadResourceToolPicture',
80 89
      uploadList: () => []
81 90
    }
82 91
  },
@ -93,7 +102,7 @@ export default {
93 102
    // 是否为编辑状态
94 103
    isEdit: {
95 104
      get () {
96
        return this.addDeviceModalForm.deviceId != null
105
        return this.addDeviceModalForm.resourceToolId != null
97 106
      }
98 107
    }
99 108
  },
@ -101,6 +110,7 @@ export default {
101 110
    // 当前编辑设备
102 111
    currentEditDevice (val) {
103 112
      this.addDeviceModalForm = val
113
      this.imgUrl = val.toolPictureUrl
104 114
    }
105 115
  },
106 116
  mounted () {
@ -109,9 +119,8 @@ export default {
109 119
  methods: {
110 120
    // 重置表单数据
111 121
    resetModalData () {
112
      this.$refs.addDeviceModalForm.resetFields()
113
      this.addDeviceModalForm.deviceId = null
114
      this.addDeviceModalForm.imgUrl = ''
122
      this.addDeviceModalForm = JSON.parse(JSON.stringify(defaultAddDeviceModalForm))
123
      this.imgUrl = ''
115 124
      this.visibled = false
116 125
    },
117 126
    // 提交表单数据
@ -124,7 +133,6 @@ export default {
124 133
          } else {
125 134
            this.addDeviceData()
126 135
          }
127
          this.$emit('refresh-data')
128 136
        } else {
129 137
          console.log('error--------->请输入完整的表单信息!')
130 138
          this.loadingSubmit = false
@ -140,6 +148,7 @@ export default {
140 148
        if (res.data.fail) {
141 149
          this.$Message.warning(res.data.fail)
142 150
        } else {
151
          this.$emit('refresh-data')
143 152
          this.$Message.success('提交成功!')
144 153
        }
145 154
      } else {
@ -156,6 +165,7 @@ export default {
156 165
        if (res.data.fail) {
157 166
          this.$Message.warning(res.data.fail)
158 167
        } else {
168
          this.$emit('refresh-data')
159 169
          this.$Message.success('修改成功!')
160 170
        }
161 171
      } else {
@ -177,6 +187,8 @@ export default {
177 187
      console.log(file)
178 188
    },
179 189
    $_onUploadSuccess (res, file) {
190
      this.imgUrl = res.data.data.toolPictureUrl
191
      this.addDeviceModalForm.pictureUrl = res.data.data.pictureUrl
180 192
      // 因为演示用的上传服务器返回数据格式的原因,这里模拟添加 url
181 193
      console.log(file)
182 194
      this.uploadList.push(file)
@ -184,6 +196,7 @@ export default {
184 196
    $_onUploadRemoveFile () { },
185 197
    $_onUploadExceededSize () { },
186 198
    $_onUploadError (errMsg, response, file) {
199
      console.log(file)
187 200
      console.log(errMsg.message)
188 201
      this.$Notice.warning({
189 202
        title: `文件${file.name}上传失败`,

+ 11 - 11
security-protection-platform/src/modules/system/devicemana/index.vue

@ -32,8 +32,8 @@
32 32
          <t-table-column prop="deviceType" label="设备类型" width="280"></t-table-column>
33 33
          <t-table-column label="操作">
34 34
            <template v-slot="{row}">
35
              <a href="javascript:;" style="color:#0089D4;" @click="getDeviceInfo(row.deviceId)">详情</a>
36
              <a href="javascript:;" style="color:#0089D4;" @click="editDeviceData(row.deviceId)">编辑</a>
35
              <a href="javascript:;" style="color:#0089D4;" @click="getDeviceInfo(row.resourceToolId)">详情</a>
36
              <a href="javascript:;" style="color:#0089D4;" @click="editDeviceData(row.resourceToolId)">编辑</a>
37 37
              <a href="javascript:;" style="color:#0089D4;" @click="deleteDeviceData(row)">删除</a>
38 38
            </template>
39 39
          </t-table-column>
@ -92,7 +92,7 @@ export default {
92 92
      // 数据总数
93 93
      total: 100,
94 94
      // 批量删除的设备id
95
      deleteDeviceId: [],
95
      deleteResourceToolId: [],
96 96
      // 当前设备数据
97 97
      currentDeviceData: {},
98 98
      // 显示/隐藏新增设备对话框
@ -110,7 +110,7 @@ export default {
110 110
      const res = await sysapi.getDeviceData({ params: { page: this.page, limit: this.limit, deviceTypeId: this.deviceTypeId, deviceName: this.deviceName, deviceId: this.deviceId } }
111 111
      )
112 112
      if (res.status === 200) {
113
        this.deviceDataList = res.data.data.data
113
        this.deviceDataList = res.data.data
114 114
        this.total = res.data.total
115 115
      } else {
116 116
        this.$Message.danger('设备数据列表获取失败!')
@ -154,7 +154,7 @@ export default {
154 154
        title: '正在准备删除...',
155 155
        content: '<p>确定要删除?</p><p>删除后将无法还原!</p>',
156 156
        ok: async () => {
157
          const res = await sysapi.deleteDeviceData({ deviceId: row.deviceId })
157
          const res = await sysapi.deleteDeviceData({ resourceToolId: row.resourceToolId })
158 158
          if (res.status === 200) {
159 159
            this.getDeviceData()
160 160
            this.$Message.success('删除成功!')
@ -170,19 +170,19 @@ export default {
170 170
    // 当复选框发生改变时 触发事件
171 171
    selectChange (data) {
172 172
      const arr = []
173
      data.forEach(item => arr.push(item.deviceId))
174
      this.deleteDeviceId = arr
173
      data.forEach(item => arr.push(item.resourceToolId))
174
      this.deleteResourceToolId = arr
175 175
    },
176 176
    // 批量删除数据
177 177
    multDeleteDeviceData () {
178
      if (this.deleteDeviceId.length === 0) {
178
      if (this.deleteResourceToolId.length === 0) {
179 179
        return this.$Message.warning('请选择要删除的数据!')
180 180
      }
181 181
      this.$Confirm.confirm({
182 182
        title: '正在准备删除...',
183 183
        content: '<p>确定要删除?</p><p>删除后将无法还原!</p>',
184 184
        ok: async () => {
185
          const res = await sysapi.deleteDeviceData({ deviceId: this.deleteDeviceId })
185
          const res = await sysapi.deleteDeviceData({ resourceToolId: this.deleteResourceToolId })
186 186
          if (res.status === 200) {
187 187
            this.getDeviceData()
188 188
            this.$Message.success('删除成功!')
@ -199,7 +199,7 @@ export default {
199 199
    async getDeviceInfo (id) {
200 200
      const res = await sysapi.getDeviceInfo(id)
201 201
      if (res.status === 200) {
202
        this.currentDeviceData = res.data.data
202
        this.currentDeviceData = res.data
203 203
      } else {
204 204
        this.$Message.danger('设备详情数据获取失败!')
205 205
      }
@ -211,7 +211,7 @@ export default {
211 211
    async editDeviceData (id) {
212 212
      const res = await sysapi.getDeviceInfo(id)
213 213
      if (res.status === 200) {
214
        this.currentEditDevice = res.data.data
214
        this.currentEditDevice = res.data
215 215
      } else {
216 216
        this.$Message.danger('设备数据获取失败!')
217 217
      }

+ 1 - 1
security-protection-platform/src/modules/workorder/components/modal/approvalmodal.vue

@ -98,7 +98,6 @@ export default {
98 98
      this.$refs['approvalModalForm'].validate((valid) => {
99 99
        if (valid) {
100 100
          this.addApprovalData()
101
          this.$emit('refresh-all-data')
102 101
        } else {
103 102
          this.loadingSubmit = false
104 103
          console.log('error--------->请输入完整的表单信息!')
@ -111,6 +110,7 @@ export default {
111 110
      const res = await workOrderApi.addApprovalData(this.approvalModalForm)
112 111
      if (res.status === 200) {
113 112
        this.resetModalData()
113
        this.$emit('refresh-all-data')
114 114
        this.$Message.success('操作成功!')
115 115
      } else {
116 116
        this.$Message.danger('操作失败!')

+ 1 - 1
security-protection-platform/src/modules/workorder/components/modal/cardreplacementmodal.vue

@ -92,7 +92,6 @@ export default {
92 92
      this.$refs['cardReplacementModalForm'].validate((valid) => {
93 93
        if (valid) {
94 94
          this.addCardReplacementData()
95
          this.$emit('refresh-data')
96 95
        } else {
97 96
          console.log('error--------->请输入完整的表单信息!')
98 97
          this.loadingSubmit = false
@ -112,6 +111,7 @@ export default {
112 111
        if (res.data.fail) {
113 112
          this.$Message.warning(res.data.fail)
114 113
        } else {
114
          this.$emit('refresh-data')
115 115
          this.$Message.success('提交成功!')
116 116
        }
117 117
      } else {

+ 1 - 1
security-protection-platform/src/modules/workorder/components/modal/fieldservicemodal.vue

@ -115,7 +115,6 @@ export default {
115 115
      this.$refs['fieldServiceModalForm'].validate((valid) => {
116 116
        if (valid) {
117 117
          this.addFieldServiceData()
118
          this.$emit('refresh-data')
119 118
        } else {
120 119
          console.log('error--------->请输入完整的表单信息!')
121 120
          this.loadingSubmit = false
@ -143,6 +142,7 @@ export default {
143 142
        if (res.data.fail) {
144 143
          this.$Message.warning(res.data.fail)
145 144
        } else {
145
          this.$emit('refresh-data')
146 146
          this.$Message.success('提交成功!')
147 147
        }
148 148
      } else {

+ 1 - 1
security-protection-platform/src/modules/workorder/components/modal/leavemodal.vue

@ -113,7 +113,6 @@ export default {
113 113
      this.$refs['leaveModalForm'].validate((valid) => {
114 114
        if (valid) {
115 115
          this.addLeaveData()
116
          this.$emit('refresh-data')
117 116
        } else {
118 117
          console.log('error--------->请输入完整的表单信息!')
119 118
          this.loadingSubmit = false
@ -141,6 +140,7 @@ export default {
141 140
        if (res.data.fail) {
142 141
          this.$Message.warning(res.data.fail)
143 142
        } else {
143
          this.$emit('refresh-data')
144 144
          this.$Message.success('提交成功!')
145 145
        }
146 146
      } else {

+ 1 - 1
security-protection-platform/src/modules/workorder/components/modal/overtimemodal.vue

@ -102,7 +102,6 @@ export default {
102 102
      this.$refs['overtimeModalForm'].validate((valid) => {
103 103
        if (valid) {
104 104
          this.addWorkOverTimeData()
105
          this.$emit('refresh-data')
106 105
        } else {
107 106
          console.log('error--------->请输入完整的表单信息!')
108 107
          this.loadingSubmit = false
@ -130,6 +129,7 @@ export default {
130 129
        if (res.data.fail) {
131 130
          this.$Message.warning(res.data.fail)
132 131
        } else {
132
          this.$emit('refresh-data')
133 133
          this.$Message.success('提交成功!')
134 134
        }
135 135
      } else {