|
@@ -4,12 +4,12 @@
|
|
<a-row :gutter="24">
|
|
<a-row :gutter="24">
|
|
<a-col class="title" :span="20">
|
|
<a-col class="title" :span="20">
|
|
<!-- 考评方案名称 -->
|
|
<!-- 考评方案名称 -->
|
|
- <span>考评方案名称:</span>
|
|
|
|
|
|
+ <span>考评方案名称: {{ itemName }}</span>
|
|
</a-col>
|
|
</a-col>
|
|
</a-row>
|
|
</a-row>
|
|
<a-row :gutter="24">
|
|
<a-row :gutter="24">
|
|
<a-form :form="form" ref="form" @submit="handleSubmit">
|
|
<a-form :form="form" ref="form" @submit="handleSubmit">
|
|
- <a-card>
|
|
|
|
|
|
+ <a-card class="card-content">
|
|
<a-col :span="15">
|
|
<a-col :span="15">
|
|
<p>已选考评项目:</p>
|
|
<p>已选考评项目:</p>
|
|
<!-- 已选考评项列表 -->
|
|
<!-- 已选考评项列表 -->
|
|
@@ -68,6 +68,7 @@
|
|
<s-table
|
|
<s-table
|
|
ref="tableItem"
|
|
ref="tableItem"
|
|
size="default"
|
|
size="default"
|
|
|
|
+ :showPagination="false"
|
|
:row-selection="rowSelection"
|
|
:row-selection="rowSelection"
|
|
:rowKey="(record) => record.id"
|
|
:rowKey="(record) => record.id"
|
|
:columns="itemColumns"
|
|
:columns="itemColumns"
|
|
@@ -101,9 +102,10 @@ import {
|
|
VSelect
|
|
VSelect
|
|
} from '@/components'
|
|
} from '@/components'
|
|
import {
|
|
import {
|
|
- saveAuth,
|
|
|
|
- getTenantsList
|
|
|
|
-} from '@/api/tenants.js'
|
|
|
|
|
|
+ planItemQuery,
|
|
|
|
+ planItemSave
|
|
|
|
+} from '@/api/evaluationPlan.js'
|
|
|
|
+import { getItemList } from '@/api/evaluationItem.js'
|
|
export default {
|
|
export default {
|
|
name: 'AddEvaModal',
|
|
name: 'AddEvaModal',
|
|
components: {
|
|
components: {
|
|
@@ -119,6 +121,11 @@ export default {
|
|
itemId: {
|
|
itemId: {
|
|
type: [String, Number],
|
|
type: [String, Number],
|
|
default: ''
|
|
default: ''
|
|
|
|
+ },
|
|
|
|
+ // 要编辑的方案名字
|
|
|
|
+ itemName: {
|
|
|
|
+ type: String,
|
|
|
|
+ default: ''
|
|
}
|
|
}
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
@@ -129,63 +136,17 @@ export default {
|
|
if (newValue) {
|
|
if (newValue) {
|
|
// 获取已选列表数据
|
|
// 获取已选列表数据
|
|
this.getCheckedList()
|
|
this.getCheckedList()
|
|
- // 刷新考评项列表数据
|
|
|
|
- this.$refs.tableItem.refresh()
|
|
|
|
} else {
|
|
} else {
|
|
this.cancel()
|
|
this.cancel()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- computed: {
|
|
|
|
- // 已选择的复选框
|
|
|
|
- selectedRowKeys () {
|
|
|
|
- const arr = []
|
|
|
|
- this.checkedList.map(item => {
|
|
|
|
- arr.push(item.id)
|
|
|
|
- })
|
|
|
|
- return arr
|
|
|
|
- },
|
|
|
|
- // 列表项是否可选择的配置
|
|
|
|
- rowSelection () {
|
|
|
|
- return {
|
|
|
|
- columnTitle: '选择', // 选择框标题
|
|
|
|
- columnWidth: 80, // 选择框宽度
|
|
|
|
- selectedRowKeys: this.selectedRowKeys, // 指定选中项的 key 数组
|
|
|
|
- // 选中项发生变化时的回调 selectedRowKeys:指定选中项的 key 数组 selectedRows:已选中的数组数据
|
|
|
|
- onChange: (selectedRowKeys, selectedRows) => {
|
|
|
|
- const arr = []
|
|
|
|
- let index = 0
|
|
|
|
- // 根据选择项的顺序展示已选列表
|
|
|
|
- selectedRowKeys.map(item => {
|
|
|
|
- index++
|
|
|
|
- const p = selectedRows.find(row => row.id == item)
|
|
|
|
- if (p) {
|
|
|
|
- p.no = index
|
|
|
|
- arr.push(p)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- this.checkedList = arr
|
|
|
|
- // console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows)
|
|
|
|
- },
|
|
|
|
- getCheckboxProps: record => ({
|
|
|
|
- props: {
|
|
|
|
- disabled: record.status == '0' // 禁用状态不可选
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
data () {
|
|
data () {
|
|
return {
|
|
return {
|
|
isshow: this.visible, // 弹框显示隐藏
|
|
isshow: this.visible, // 弹框显示隐藏
|
|
form: this.$form.createForm(this, {
|
|
form: this.$form.createForm(this, {
|
|
name: 'SetEvaModal'
|
|
name: 'SetEvaModal'
|
|
}),
|
|
}),
|
|
- formData: {
|
|
|
|
- name: '', // 方案名称
|
|
|
|
- scopeType: [], // 适用类型
|
|
|
|
- remarks: '' // 方案说明
|
|
|
|
- },
|
|
|
|
// 已选考评项数据
|
|
// 已选考评项数据
|
|
checkedList: [], // 已选考评项列表
|
|
checkedList: [], // 已选考评项列表
|
|
// 表头
|
|
// 表头
|
|
@@ -197,7 +158,7 @@ export default {
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '考评项目名称',
|
|
title: '考评项目名称',
|
|
- dataIndex: 'name',
|
|
|
|
|
|
+ dataIndex: 'assessItemName',
|
|
align: 'center'
|
|
align: 'center'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
@@ -227,31 +188,66 @@ export default {
|
|
],
|
|
],
|
|
// 加载数据方法 必须为 Promise 对象
|
|
// 加载数据方法 必须为 Promise 对象
|
|
loadItemData: parameter => {
|
|
loadItemData: parameter => {
|
|
- return getTenantsList(Object.assign(parameter, this.itemId)).then(res => {
|
|
|
|
|
|
+ return getItemList().then(res => {
|
|
if (res.status == 200) {
|
|
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'
|
|
|
|
- }
|
|
|
|
|
|
+ // res.data.map((item, index) => {
|
|
|
|
+ // res.data.no = index + 1
|
|
|
|
+ // })
|
|
return res.data
|
|
return res.data
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ computed: {
|
|
|
|
+ // 已选择的复选框
|
|
|
|
+ selectedRowKeys () {
|
|
|
|
+ const arr = []
|
|
|
|
+ this.checkedList.map(item => {
|
|
|
|
+ arr.push(item.assessItemId)
|
|
|
|
+ })
|
|
|
|
+ return arr
|
|
|
|
+ },
|
|
|
|
+ // 列表项是否可选择的配置
|
|
|
|
+ rowSelection () {
|
|
|
|
+ return {
|
|
|
|
+ columnTitle: '选择', // 选择框标题
|
|
|
|
+ columnWidth: 80, // 选择框宽度
|
|
|
|
+ selectedRowKeys: this.selectedRowKeys, // 指定选中项的 key 数组
|
|
|
|
+ // 选中项发生变化时的回调 selectedRowKeys:指定选中项的 key 数组 selectedRows:已选中的数组数据
|
|
|
|
+ onChange: (selectedRowKeys, selectedRows) => {
|
|
|
|
+ const arr = []
|
|
|
|
+ let index = 0
|
|
|
|
+ // 根据选择项的顺序展示已选列表
|
|
|
|
+ selectedRowKeys.map(item => {
|
|
|
|
+ index++
|
|
|
|
+ const p = selectedRows.find(row => row.id == item)
|
|
|
|
+ const row = {}
|
|
|
|
+ if (p) {
|
|
|
|
+ row.no = index
|
|
|
|
+ row.assessItemId = p.id
|
|
|
|
+ row.assessItemName = p.name
|
|
|
|
+ row.assessSchemeId = this.itemId
|
|
|
|
+ arr.push(row)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ this.checkedList = arr
|
|
|
|
+ // console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows)
|
|
|
|
+ },
|
|
|
|
+ getCheckboxProps: record => ({
|
|
|
|
+ props: {
|
|
|
|
+ disabled: record.status == '0' // 禁用状态不可选
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
methods: {
|
|
methods: {
|
|
// 获取已选列表数据
|
|
// 获取已选列表数据
|
|
getCheckedList () {
|
|
getCheckedList () {
|
|
- console.log(111111)
|
|
|
|
- const params = {
|
|
|
|
- pageNo: 1,
|
|
|
|
- pageSize: 10
|
|
|
|
- }
|
|
|
|
- getTenantsList(params).then(res => {
|
|
|
|
|
|
+ planItemQuery({ assessSchemeId: this.itemId }).then(res => {
|
|
if (res.status == 200) {
|
|
if (res.status == 200) {
|
|
- this.checkedList = res.data.list
|
|
|
|
|
|
+ this.checkedList = res.data
|
|
this.checkedList.map((item, index) => {
|
|
this.checkedList.map((item, index) => {
|
|
item.no = index + 1
|
|
item.no = index + 1
|
|
})
|
|
})
|
|
@@ -310,24 +306,21 @@ export default {
|
|
const _this = this
|
|
const _this = this
|
|
this.form.validateFields((err, values) => {
|
|
this.form.validateFields((err, values) => {
|
|
if (!err) {
|
|
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)
|
|
|
|
- // }
|
|
|
|
- // })
|
|
|
|
|
|
+ if (!this.checkedList.length) {
|
|
|
|
+ return this.$message.warning('请先选择考评项目')
|
|
|
|
+ }
|
|
|
|
+ planItemSave(this.checkedList).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)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -365,7 +358,10 @@ export default {
|
|
color: black;
|
|
color: black;
|
|
padding-bottom: 30px;
|
|
padding-bottom: 30px;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ .card-content {
|
|
|
|
+ max-height: 650px;
|
|
|
|
+ overflow-y: scroll;
|
|
|
|
+ }
|
|
.actionBtn {
|
|
.actionBtn {
|
|
font-size: 12px;
|
|
font-size: 12px;
|
|
margin: 0 5px;
|
|
margin: 0 5px;
|