diff --git a/src/views/rule/programme/components/edit.vue b/src/views/rule/programme/components/edit.vue
index 6dbf9ce..7011d3e 100644
--- a/src/views/rule/programme/components/edit.vue
+++ b/src/views/rule/programme/components/edit.vue
@@ -5,6 +5,10 @@
-->
@@ -77,19 +120,28 @@
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
@@ -102,28 +154,32 @@
-
-
+
+
+
+
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
-
+
+
@@ -150,10 +206,12 @@
@@ -161,7 +219,7 @@
-
+
上传
@@ -171,6 +229,8 @@
+
+
diff --git a/src/views/rule/programme/components/edit.vue b/src/views/rule/programme/components/edit.vue
index 6dbf9ce..7011d3e 100644
--- a/src/views/rule/programme/components/edit.vue
+++ b/src/views/rule/programme/components/edit.vue
@@ -5,6 +5,10 @@
-->
@@ -77,19 +120,28 @@
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
@@ -102,28 +154,32 @@
-
-
+
+
+
+
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
-
+
+
@@ -150,10 +206,12 @@
@@ -161,7 +219,7 @@
-
+
上传
@@ -171,6 +229,8 @@
+
+
diff --git a/src/views/rule/programme/components/proxyDialog.vue b/src/views/rule/programme/components/proxyDialog.vue
new file mode 100644
index 0000000..c0ae1e4
--- /dev/null
+++ b/src/views/rule/programme/components/proxyDialog.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/programme/components/edit.vue b/src/views/rule/programme/components/edit.vue
index 6dbf9ce..7011d3e 100644
--- a/src/views/rule/programme/components/edit.vue
+++ b/src/views/rule/programme/components/edit.vue
@@ -5,6 +5,10 @@
-->
@@ -77,19 +120,28 @@
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
@@ -102,28 +154,32 @@
-
-
+
+
+
+
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
-
+
+
@@ -150,10 +206,12 @@
@@ -161,7 +219,7 @@
-
+
上传
@@ -171,6 +229,8 @@
+
+
diff --git a/src/views/rule/programme/components/proxyDialog.vue b/src/views/rule/programme/components/proxyDialog.vue
new file mode 100644
index 0000000..c0ae1e4
--- /dev/null
+++ b/src/views/rule/programme/components/proxyDialog.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/programme/components/proxyTable.vue b/src/views/rule/programme/components/proxyTable.vue
new file mode 100644
index 0000000..c2fd143
--- /dev/null
+++ b/src/views/rule/programme/components/proxyTable.vue
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+ 删除
+
+
+ 增加
+
+
+
+
+
+
+
+ *{{ item.text }}
+
+
+ {{ scope.row[item.value] }}
+
+
+
+
+
+
+
diff --git a/src/views/rule/programme/components/edit.vue b/src/views/rule/programme/components/edit.vue
index 6dbf9ce..7011d3e 100644
--- a/src/views/rule/programme/components/edit.vue
+++ b/src/views/rule/programme/components/edit.vue
@@ -5,6 +5,10 @@
-->
@@ -77,19 +120,28 @@
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
@@ -102,28 +154,32 @@
-
-
+
+
+
+
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
-
+
+
@@ -150,10 +206,12 @@
@@ -161,7 +219,7 @@
-
+
上传
@@ -171,6 +229,8 @@
+
+
diff --git a/src/views/rule/programme/components/proxyDialog.vue b/src/views/rule/programme/components/proxyDialog.vue
new file mode 100644
index 0000000..c0ae1e4
--- /dev/null
+++ b/src/views/rule/programme/components/proxyDialog.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/programme/components/proxyTable.vue b/src/views/rule/programme/components/proxyTable.vue
new file mode 100644
index 0000000..c2fd143
--- /dev/null
+++ b/src/views/rule/programme/components/proxyTable.vue
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+ 删除
+
+
+ 增加
+
+
+
+
+
+
+
+ *{{ item.text }}
+
+
+ {{ scope.row[item.value] }}
+
+
+
+
+
+
+
diff --git a/src/views/rule/programme/index.vue b/src/views/rule/programme/index.vue
index 5059a04..dd485b4 100644
--- a/src/views/rule/programme/index.vue
+++ b/src/views/rule/programme/index.vue
@@ -7,55 +7,59 @@
import { reactive, ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { delProgramme, getListPage } from '@/api/home/rule/programme'
+import { getDictByCode } from '@/api/system/dict'
const { proxy } = getCurrentInstance() as any
const listQuery = reactive({
+ planName: '', // 方案名称
+ isEnable: '', // 是否禁用
+ assObject: '', // 考核对象
offset: 1,
limit: 20,
})
const columns = ref([
{
text: '考核方案名称',
- value: 'groupName',
+ value: 'planName',
align: 'center',
},
{
text: '考核对象',
- value: 'createUserName',
+ value: 'assObjectName',
align: 'center',
},
{
text: '具体考核部门',
- value: 'createTime',
+ value: '',
align: 'center',
},
{
text: '考核周期',
- value: 'remark',
+ value: 'cycleName',
align: 'center',
},
{
text: '是否启用',
- value: 'remark',
+ value: 'isEnableName',
align: 'center',
},
{
text: '考核等级评定',
- value: 'remark',
+ value: 'recoRatingName',
align: 'center',
},
- {
- text: '考核指标项目',
- value: 'remark',
- align: 'center',
- },
- {
- text: '考核指标类型',
- value: 'remark',
- align: 'center',
- },
+ // {
+ // text: '考核指标项目',
+ // value: 'remark',
+ // align: 'center',
+ // },
+ // {
+ // text: '考核指标类型',
+ // value: 'remark',
+ // align: 'center',
+ // },
{
text: '考核方案得分',
- value: 'remark',
+ value: 'score',
align: 'center',
},
])
@@ -83,6 +87,9 @@
}
// 重置
const reset = () => {
+ listQuery.planName = ''
+ listQuery.isEnable = ''
+ listQuery.assObject = ''
listQuery.offset = 1
listQuery.limit = 20
search()
@@ -125,6 +132,20 @@
})
})
}
+// 考核对象下拉列表
+const objectList = ref<{ id: string; value: string; name: string }[]>()
+// 是否禁用下拉列表
+const disableList = ref<{ id: string; value: string; name: string }[]>()
+// 获取字典
+const fetchSelectList = () => {
+ getDictByCode('ass_object').then((res) => {
+ objectList.value = res.data
+ })
+ getDictByCode('is_enable').then((res) => {
+ disableList.value = res.data
+ })
+}
+fetchSelectList()
@@ -132,16 +153,20 @@
-
+
-
+
+
+
-
+
-
+
+
+
diff --git a/src/views/rule/programme/components/edit.vue b/src/views/rule/programme/components/edit.vue
index 6dbf9ce..7011d3e 100644
--- a/src/views/rule/programme/components/edit.vue
+++ b/src/views/rule/programme/components/edit.vue
@@ -5,6 +5,10 @@
-->
@@ -77,19 +120,28 @@
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
+
+
@@ -102,28 +154,32 @@
-
-
+
+
+
+
-
-
+
+
+
+
-
+
-
+
-
-
+
+
-
-
+
+
@@ -150,10 +206,12 @@
@@ -161,7 +219,7 @@
-
+
上传
@@ -171,6 +229,8 @@
+
+
diff --git a/src/views/rule/programme/components/proxyDialog.vue b/src/views/rule/programme/components/proxyDialog.vue
new file mode 100644
index 0000000..c0ae1e4
--- /dev/null
+++ b/src/views/rule/programme/components/proxyDialog.vue
@@ -0,0 +1,203 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/rule/programme/components/proxyTable.vue b/src/views/rule/programme/components/proxyTable.vue
new file mode 100644
index 0000000..c2fd143
--- /dev/null
+++ b/src/views/rule/programme/components/proxyTable.vue
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+ 删除
+
+
+ 增加
+
+
+
+
+
+
+
+ *{{ item.text }}
+
+
+ {{ scope.row[item.value] }}
+
+
+
+
+
+
+
diff --git a/src/views/rule/programme/index.vue b/src/views/rule/programme/index.vue
index 5059a04..dd485b4 100644
--- a/src/views/rule/programme/index.vue
+++ b/src/views/rule/programme/index.vue
@@ -7,55 +7,59 @@
import { reactive, ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { delProgramme, getListPage } from '@/api/home/rule/programme'
+import { getDictByCode } from '@/api/system/dict'
const { proxy } = getCurrentInstance() as any
const listQuery = reactive({
+ planName: '', // 方案名称
+ isEnable: '', // 是否禁用
+ assObject: '', // 考核对象
offset: 1,
limit: 20,
})
const columns = ref([
{
text: '考核方案名称',
- value: 'groupName',
+ value: 'planName',
align: 'center',
},
{
text: '考核对象',
- value: 'createUserName',
+ value: 'assObjectName',
align: 'center',
},
{
text: '具体考核部门',
- value: 'createTime',
+ value: '',
align: 'center',
},
{
text: '考核周期',
- value: 'remark',
+ value: 'cycleName',
align: 'center',
},
{
text: '是否启用',
- value: 'remark',
+ value: 'isEnableName',
align: 'center',
},
{
text: '考核等级评定',
- value: 'remark',
+ value: 'recoRatingName',
align: 'center',
},
- {
- text: '考核指标项目',
- value: 'remark',
- align: 'center',
- },
- {
- text: '考核指标类型',
- value: 'remark',
- align: 'center',
- },
+ // {
+ // text: '考核指标项目',
+ // value: 'remark',
+ // align: 'center',
+ // },
+ // {
+ // text: '考核指标类型',
+ // value: 'remark',
+ // align: 'center',
+ // },
{
text: '考核方案得分',
- value: 'remark',
+ value: 'score',
align: 'center',
},
])
@@ -83,6 +87,9 @@
}
// 重置
const reset = () => {
+ listQuery.planName = ''
+ listQuery.isEnable = ''
+ listQuery.assObject = ''
listQuery.offset = 1
listQuery.limit = 20
search()
@@ -125,6 +132,20 @@
})
})
}
+// 考核对象下拉列表
+const objectList = ref<{ id: string; value: string; name: string }[]>()
+// 是否禁用下拉列表
+const disableList = ref<{ id: string; value: string; name: string }[]>()
+// 获取字典
+const fetchSelectList = () => {
+ getDictByCode('ass_object').then((res) => {
+ objectList.value = res.data
+ })
+ getDictByCode('is_enable').then((res) => {
+ disableList.value = res.data
+ })
+}
+fetchSelectList()
@@ -132,16 +153,20 @@
-
+
-
+
+
+
-
+
-
+
+
+
diff --git a/src/views/rule/proxy/components/edit.vue b/src/views/rule/proxy/components/edit.vue
index f02d0ef..cd2d4ef 100644
--- a/src/views/rule/proxy/components/edit.vue
+++ b/src/views/rule/proxy/components/edit.vue
@@ -21,6 +21,8 @@
create: '新增',
detail: '详情',
}
+// 表单实例对象
+const ruleFormRef = ref()
// 表单对象
const ruleForm = ref({
quotaType: '', // 考核指标类型
@@ -30,10 +32,11 @@
assDept: '', // 指标考核责任人
dataSource: '', // 数据来源
score: '', // 考核分值
- valType: '', // 指标值类型
+ valType: '1', // 指标值类型
remarks: '', // 备注
fileId: '', // 上传文件
id: '',
+ ruleDesc: '',
})
// 表单验证规则
const rules = ref({
@@ -44,9 +47,27 @@
dataSource: [{ required: true, message: '数据来源必选', trigger: ['blur', 'change'] }],
valType: [{ required: true, message: '指标值类型必选', trigger: ['blur', 'change'] }],
score: [{ required: true, message: '考核分值必填', trigger: ['blur', 'change'] }],
+ ruleDesc: [{ required: true, message: '指标计算规则必填', trigger: ['blur', 'change'] }],
})
-// 表单实例对象
-const ruleFormRef = ref()
+// 考核分值区间
+const score1 = ref()
+const score2 = ref()
+watch([score1, score2], (newVal) => {
+ if (newVal[0] && newVal[1]) {
+ ruleFormRef.value?.clearValidate('score')
+ ruleForm.value.score = `${score1.value}-${score2.value}`
+ }
+})
+watch(() => ruleForm.value.valType, (newVal) => {
+ if (newVal === '1' && !ruleForm.value.score.includes('-')) {
+ ruleForm.value.score = ''
+ }
+ else if ((newVal === '2' || newVal === '3') && ruleForm.value.score.includes('-')) {
+ score1.value = ''
+ score2.value = ''
+ ruleForm.value.score = ''
+ }
+})
const fileRef = ref() // 文件上传input
const onFileChange = (event: any) => {
if (event.target.files?.length !== 0) {
@@ -128,6 +149,12 @@
data[i] = String(data[i])
}
ruleForm.value = data
+ // 区间范围
+ if (ruleForm.value.valType === '1') {
+ const score = ruleForm.value.score.split('-')
+ score1.value = score[0]
+ score2.value = score[1]
+ }
}
})
// 指标项目下拉列表
@@ -163,6 +190,7 @@
}
})
}
+fetchDeptTree()
@@ -226,6 +254,13 @@
+
+
+
+
+
+
+
@@ -237,7 +272,20 @@
-
+
+
+ ——
+
+
+
+
+
+
+