Преглед изворни кода

Signed-off-by: 1004749546@qq.com <1004749546@qq.com>
考评项接口对接

1004749546@qq.com пре 4 година
родитељ
комит
09bbb7dc95

+ 89 - 0
src/api/evaluationItem.js

@@ -0,0 +1,89 @@
+import { axios } from '@/utils/request'
+
+// 列表分页查询
+export const getItemListByPage = (params) => {
+  const url = `/assess/item/query/${params.pageNo}/${params.pageSize}`
+  delete params.pageNo
+  delete params.pageSize
+  return axios({
+    url: url,
+    data: params,
+    method: 'post'
+  })
+}
+// 列表查询 (不带分页)
+export const getItemList = (params) => {
+  const url = `/assess/item/queryList`
+  return axios({
+    url: url,
+    data: params,
+    method: 'post'
+  })
+}
+// 保存考评项目
+export const itemSave = (params) => {
+  return axios({
+    url: '/assess/item/save',
+    data: params,
+    method: 'post'
+  })
+}
+// 考评项目启删除
+export const itemDelete = (params) => {
+  return axios({
+    url: `/assess/item/delete/${params.id}`,
+    data: {},
+    method: 'get'
+  })
+}
+// 考评项目启禁用
+export const itemEnable = (params) => {
+  return axios({
+    url: `/assess/item/enable/${params.id}/${params.status}`,
+    data: {},
+    method: 'get'
+  })
+}
+// 考评项目详情
+export const itemDetail = (params) => {
+  return axios({
+    url: `/assess/item/find/${params.id}`,
+    data: {},
+    method: 'get'
+  })
+}
+/**
+ * 考评指标管理
+ */
+// 考评指标列表查询
+export const itemIndexQuery = (params) => {
+  return axios({
+    url: `/assess/target/query`,
+    data: params,
+    method: 'post'
+  })
+}
+// 考评指标删除
+export const itemIndexDelete = (params) => {
+  return axios({
+    url: `/assess/target/delete/${params.id}`,
+    data: {},
+    method: 'get'
+  })
+}
+// 考评指标详情
+export const itemIndexDetail = (params) => {
+  return axios({
+    url: `/assess/target/delete/${params.id}`,
+    data: {},
+    method: 'get'
+  })
+}
+// 考评指标保存
+export const itemIndexSave = (params) => {
+  return axios({
+    url: `/assess/target/save`,
+    data: params,
+    method: 'post'
+  })
+}

+ 3 - 3
src/components/Table/index.js

@@ -155,11 +155,11 @@ export default {
       // eslint-disable-next-line
       if ((typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function') {
         result.then(r => {
-          let list = r.list || r.data || r
-          console.log(r,'rrrrrrrrrr')
+          const list = r.list || r.data || r
+          console.log(r, 'rrrrrrrrrr')
           this.localPagination = this.showPagination && Object.assign({}, this.localPagination, {
             current: r.pageNo, // 返回结果中的当前分页数
-            total: r.count, // 返回结果中的总记录数
+            total: Number(r.count), // 返回结果中的总记录数
             showSizeChanger: this.showSizeChanger,
             pageSize: (pagination && pagination.pageSize) ||
               this.localPagination.pageSize

+ 1 - 1
src/permission.js

@@ -10,7 +10,7 @@ import { ACCESS_TOKEN } from '@/store/mutation-types'
 
 NProgress.configure({ showSpinner: false }) // NProgress Configuration
 
-const whiteList = ['login', 'register', 'registerResult'] // no redirect whitelist
+const whiteList = ['login', 'register', 'registerResult', 'EvaluationItem'] // no redirect whitelist
 const defaultRoutePath = '/home'
 
 router.beforeEach((to, from, next) => {

+ 37 - 30
src/views/evaluation/evaluationItem/AddEvaIndexModal.vue

@@ -34,27 +34,25 @@
 
 <script>
 import {
-  STable,
-  VSelect
-} from '@/components'
-import {
-  saveAuth
-} from '@/api/tenants.js'
+  itemIndexSave,
+  itemIndexDetail
+} from '@/api/evaluationItem.js'
 export default {
-  name: 'AddEvaItemModal',
-  components: {
-    STable,
-    VSelect
-  },
+  name: 'AddEvaIndexModal',
   props: {
     visible: {
       type: Boolean,
       default: false
     },
-    // 要编辑的考评指标id
+    // 关联的考评项id
     itemId: {
       type: [String, Number],
       default: ''
+    },
+    // 要编辑的考评指标id
+    itemIndexId: {
+	  type: [String, Number],
+	  default: ''
     }
   },
   watch: {
@@ -63,7 +61,10 @@ export default {
     },
     isshow (newValue, oldValue) {
       if (newValue) {
-
+		  // 编辑 查数据
+        if (this.itemIndexId) {
+          this.getData(this.itemIndexId)
+        }
       } else {
         this.cancel()
       }
@@ -93,29 +94,35 @@ export default {
       this.clear()
       this.$emit('close')
     },
+    // 编辑时,获取数据详情
+    getData (id) {
+      itemIndexDetail({ id: id }).then(res => {
+        if (res.status == 200) {
+          console.log(res, 'rrrrrrrrrr')
+		  this.form.setFieldsValue({ 'formData.name': res.data.name })
+        }
+      })
+    },
     // 保存提交
     handleSubmit () {
       const _this = this
       this.form.validateFields((err, values) => {
         if (!err) {
           console.log(values.formData, ' formData.type222222222')
-          // const params = Object.assign({
-          //   id: this.itemData.id
-          // }, values.formData)
-          // params.expireDate = moment(params.expireDate).format('YYYY-MM-DD')
-          // console.log(params, 'ppppppppppppp')
-          // saveAuth(params).then(res => {
-          //   console.log(res, 'res--save')
-          //   if (res.status + '' === '200') {
-          //     this.$message.success(res.message ? res.message : '保存成功')
-          //     this.$emit('refresh')
-          //     setTimeout(function () {
-          //       _this.cancel()
-          //     }, 300)
-          //   } else {
-          //     // this.$message.warning(res.message)
-          //   }
-          // })
+          const params = this.itemIndexId ? Object.assign({ assessItemId: this.itemId, id: this.itemIndexId }, values.formData) : Object.assign({ assessItemId: this.itemId }, values.formData)
+          console.log(params, 'ppppppppppppp')
+          itemIndexSave(params).then(res => {
+            console.log(res, 'res--save')
+            if (res.status + '' === '200') {
+              this.$message.success(res.message ? res.message : '保存成功')
+              this.$emit('refresh')
+              setTimeout(function () {
+                _this.cancel()
+              }, 300)
+            } else {
+              // this.$message.warning(res.message)
+            }
+          })
         }
       })
     },

+ 19 - 25
src/views/evaluation/evaluationItem/AddEvaItemModal.vue

@@ -28,8 +28,8 @@
                 Input.TextArea
                 :autoSize="{minRows:5}"
                 v-decorator="[
-                  'formData.remarks',
-                  { initialValue: formData.remarks },
+                  'formData.desc',
+                  { initialValue: formData.desc },
                 ]"
                 placeholder="请输入考评项目说明" />
             </a-form-item>
@@ -55,8 +55,8 @@ import {
   VSelect
 } from '@/components'
 import {
-  saveAuth
-} from '@/api/tenants.js'
+  itemSave
+} from '@/api/evaluationItem.js'
 export default {
   name: 'AddEvaItemModal',
   components: {
@@ -94,8 +94,7 @@ export default {
       }),
       formData: {
         name: '', // 方案名称
-        scopeType: [], // 适用类型
-        remarks: '' // 方案说明
+        desc: '' // 方案说明
       }
 
     }
@@ -114,27 +113,22 @@ export default {
     },
     // 保存提交
     handleSubmit () {
-      const _this = this
       this.form.validateFields((err, values) => {
         if (!err) {
-          console.log(values.formData, ' formData.type222222222')
-          // const params = Object.assign({
-          //   id: this.itemData.id
-          // }, values.formData)
-          // params.expireDate = moment(params.expireDate).format('YYYY-MM-DD')
-          // console.log(params, 'ppppppppppppp')
-          // saveAuth(params).then(res => {
-          //   console.log(res, 'res--save')
-          //   if (res.status + '' === '200') {
-          //     this.$message.success(res.message ? res.message : '保存成功')
-          //     this.$emit('refresh')
-          //     setTimeout(function () {
-          //       _this.cancel()
-          //     }, 300)
-          //   } else {
-          //     // this.$message.warning(res.message)
-          //   }
-          // })
+		  const params = this.itemId ? Object.assign({id: this.itemId }, values.formData) : values.formData
+          console.log(params, 'ppppppppppppp')
+          itemSave(params).then(res => {
+            console.log(res, 'res--save')
+            if (res.status + '' === '200') {
+              this.$message.success(res.message ? res.message : '保存成功')
+              this.$emit('refresh')
+              setTimeout( () => {
+                this.cancel()
+              }, 300)
+            } else {
+              // this.$message.warning(res.message)
+            }
+          })
         }
       })
     },

+ 30 - 40
src/views/evaluation/evaluationItem/EvaluationItem.vue

@@ -39,7 +39,7 @@
       </template>
       <!-- 启用禁用 -->
       <template slot="enable" slot-scope="text, row">
-        <a-switch checkedChildren="已启用" unCheckedChildren="已禁用" v-model="row.status" @change="changeFlagHandle(text, row)"/>
+        <a-switch checkedChildren="已启用" unCheckedChildren="已禁用" v-model="row.status" @change="changeFlagHandle(row)"/>
       </template>
     </s-table>
     <!-- 新增/编辑 弹窗 -->
@@ -56,9 +56,10 @@ import {
   VSelect
 } from '@/components'
 import {
-  getTenantsList,
-  enable
-} from '@/api/tenants.js'
+  getItemListByPage,
+  itemDelete,
+  itemEnable
+} from '@/api/evaluationItem.js'
 import addEvaItemModal from './AddEvaItemModal.vue'
 import setEvaItemModal from './SetEvaItemModal.vue'
 import moment from 'moment'
@@ -81,8 +82,7 @@ export default {
       itemName: '', // 要编辑的考评项名称
       // 查询参数
       queryParam: {
-        name: '',
-        contactPhone: '',
+        name: '', // 项目名称
         status: '' // 状态
       },
       // 表头
@@ -93,22 +93,16 @@ export default {
         align: 'center'
       },
       {
-        title: '考评方案名称',
+        title: '考评项目名称',
         dataIndex: 'name',
         align: 'center'
       },
       {
-        title: '考评方案说明',
-        dataIndex: 'orgType',
+        title: '考评项目说明',
+        dataIndex: 'desc',
         width: '120',
         align: 'center'
       },
-      {
-        title: '适用模式',
-        width: '120',
-        align: 'center',
-        dataIndex: 'contactPhone'
-      },
       {
         title: '状态',
         width: '200',
@@ -129,7 +123,7 @@ export default {
       ],
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
-        return getTenantsList(Object.assign(parameter, this.queryParam)).then(res => {
+        return getItemListByPage(Object.assign(parameter, this.queryParam)).then(res => {
           if (res.status == 200) {
             const no = (res.data.pageNo - 1) * res.data.pageSize
             for (let i = 0; i < res.data.list.length; i++) {
@@ -137,6 +131,7 @@ export default {
               _item.no = no + i + 1
               _item.status = _item.status + '' === '1'
             }
+            res.data.count = Number(res.data.count)
             return res.data
           }
         })
@@ -150,25 +145,21 @@ export default {
   },
   methods: {
     // 修改状态
-    changeFlagHandle (text, record) {
+    changeFlagHandle (record) {
+      console.log(record, '222222222')
       const _data = {
         id: record.id,
         status: record.status ? '1' : '0'
       }
-      if (!record.expireDate && _data.status == '1') {
-        this.$message.success('请确认授权设置无误并点击【确定】后,再进行启用!')
-        record.status = !record.status
-      } else {
-        enable(_data).then(res => {
-          console.log(res.status)
-          if (res.status == '200') {
-            this.$message.success('修改成功')
-            this.$refs.table.refresh()
-          } else {
-            record.status = !record.status
-          }
-        })
-      }
+      itemEnable(_data).then(res => {
+        console.log(res.status)
+        if (res.status == '200') {
+          this.$message.success(res.message)
+          this.$refs.table.refresh()
+        } else {
+          record.status = !record.status
+        }
+      })
     },
     // 打开新增弹窗
     openModal (row) {
@@ -184,14 +175,14 @@ export default {
         okText: '确定',
         cancelText: '取消',
         onOk () {
-          // deleteItem({
-          // 	id: row.id
-          // }).then(res => {
-          // 	if (res.status == 200) {
-          // 		_this.$message.success('删除成功')
-          // 		_this.$refs.table.refresh()
-          // 	}
-          // })
+          itemDelete({
+          	id: row.id
+          }).then(res => {
+          	if (res.status == 200) {
+          		_this.$message.success(res.message)
+          		_this.$refs.table.refresh()
+          	}
+          })
         }
       })
     },
@@ -206,7 +197,6 @@ export default {
     reset () {
       this.queryParam = {
         name: '',
-        contactPhone: '',
         status: '' // 状态
       }
       this.$refs.table.refresh()

+ 33 - 35
src/views/evaluation/evaluationItem/SetEvaItemModal.vue

@@ -5,39 +5,35 @@
         <span>请给考评项目为【{{ itemName }}】设置考评指标</span>
         <a-button type="primary" @click="openModal">新增</a-button>
       </a-row>
-      <s-table
+      <a-table
         ref="table"
         size="default"
+        :pagination="false"
         :rowKey="(record) => record.id"
         :columns="columns"
-        :data="loadData"
+        :dataSource="list"
         bordered>
         <!-- 操作 -->
         <template slot="action" slot-scope="text, record">
           <a-icon type="edit" class="actionBtn blue" @click="openModal(record)" />
           <a-icon type="delete" class="actionBtn red" @click="delect(record)" />
         </template>
-      </s-table>
+      </a-table>
       <!-- 新增/编辑 弹窗 -->
-      <add-evaIndexModal :itemId="itemIndexId" :visible="openAddModal" @refresh="$refs.table.refresh()" @close="openAddModal=false"></add-evaIndexModal>
+      <add-evaIndexModal :itemId="itemId" :itemIndexId="itemIndexId" :visible="openAddModal" @refresh="getList" @close="openAddModal=false"></add-evaIndexModal>
     </a-modal>
   </div>
 </template>
 
 <script>
 import {
-  STable,
-  VSelect
-} from '@/components'
-import {
-  getTenantsList
-} from '@/api/tenants.js'
+  itemIndexQuery,
+  itemIndexDelete
+} from '@/api/evaluationItem.js'
 import addEvaIndexModal from './AddEvaIndexModal.vue'
 export default {
   name: 'SetEvaItemModal',
   components: {
-    STable,
-    VSelect,
     addEvaIndexModal
   },
   props: {
@@ -62,7 +58,7 @@ export default {
     },
     isshow (newValue, oldValue) {
       if (newValue) {
-        // this.$refs.table.refresh()
+        this.getList()
       } else {
         this.cancel()
       }
@@ -94,24 +90,26 @@ export default {
         }
       }
       ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        return getTenantsList(Object.assign(parameter, this.queryParam)).then(res => {
-          if (res.status == 200) {
-            const no = (res.data.pageNo - 1) * res.data.pageSize
-            for (let i = 0; i < res.data.list.length; i++) {
-              const _item = res.data.list[i]
-              _item.no = no + i + 1
-              _item.status = _item.status + '' === '1'
-            }
-            return res.data
-          }
-        })
-      }
+      list: []
     }
   },
   computed: {},
   methods: {
+    // 获取列表数据
+    getList () {
+      itemIndexQuery({
+        assessItemId: this.itemId
+      }).then(res => {
+        if (res.status == 200) {
+          res.data.map((item, index) => {
+            item.no = index + 1
+          })
+          this.list = res.data
+        } else {
+          this.list = []
+        }
+      })
+    },
     // 点击弹框x号触发事件
     cancel (e) {
       this.$emit('close')
@@ -130,14 +128,14 @@ export default {
         okText: '确定',
         cancelText: '取消',
         onOk () {
-          // deleteItem({
-          // 	id: row.id
-          // }).then(res => {
-          // 	if (res.status == 200) {
-          // 		_this.$message.success('删除成功')
-          // 		_this.$refs.table.refresh()
-          // 	}
-          // })
+          itemIndexDelete({
+            id: row.id
+          }).then(res => {
+            if (res.status == 200) {
+              _this.$message.success(res.message)
+              _this.getList()
+            }
+          })
         }
       })
     }

+ 8 - 0
src/views/user/Login.vue

@@ -184,6 +184,14 @@ export default {
     },
     handleSubmit (e) {
       e.preventDefault()
+      this.$router.push({ name: 'EvaluationItem' }, () => {
+			  console.log('onComplete')
+			  this.$notification.success({
+			    message: '欢迎',
+			    description: `${timeFix()},欢迎回来`
+			  })
+      })
+      return
       const {
         form: { validateFields },
         state,