|
@@ -5,7 +5,8 @@
|
|
|
<el-tab-pane :name="item.name" v-for="item in state.tabPaneList" :key="item.name" :label="item.label"></el-tab-pane>
|
|
|
</el-tabs>
|
|
|
</template>
|
|
|
- <el-form :model="state.ruleForm" label-width="110px" ref="ruleFormRef">
|
|
|
+ <el-form :model="state.ruleForm" label-width="110px" ref="ruleFormRef" :disabled="loading">
|
|
|
+ <!-- 参数配置 -->
|
|
|
<el-row :gutter="10" v-show="state.activeName === '0'">
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="行业名称" prop="name" :rules="[{ required: true, message: '请填写行业名称', trigger: 'blur' }]">
|
|
@@ -36,7 +37,14 @@
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="审批部门" prop="approveOrgId" :rules="[{ required: false, message: '请选择审批部门', trigger: 'change' }]">
|
|
|
- <el-select v-model="state.ruleForm.approveOrgId" placeholder="请选择审批部门" class="w100" clearable @change="selectDepartment" filterable>
|
|
|
+ <el-select
|
|
|
+ v-model="state.ruleForm.approveOrgId"
|
|
|
+ placeholder="请选择审批部门"
|
|
|
+ class="w100"
|
|
|
+ clearable
|
|
|
+ @change="selectDepartment"
|
|
|
+ filterable
|
|
|
+ >
|
|
|
<el-option v-for="item in department" :key="item.key" :label="item.value" :value="item.key" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -47,8 +55,15 @@
|
|
|
prop="bulletinTypePublicityId"
|
|
|
:rules="[{ required: false, message: '请选择关联宣传学习', trigger: 'change' }]"
|
|
|
>
|
|
|
- <el-select v-model="state.ruleForm.bulletinTypePublicityId" placeholder="请选择关联宣传学习" class="w100" clearable @change="selectxc" filterable>
|
|
|
- <el-option v-for="item in bulletinType" :key="item.dicDataValue" :label="item.dicDataName" :value="item.dicDataValue"/>
|
|
|
+ <el-select
|
|
|
+ v-model="state.ruleForm.bulletinTypePublicityId"
|
|
|
+ placeholder="请选择关联宣传学习"
|
|
|
+ class="w100"
|
|
|
+ clearable
|
|
|
+ @change="selectxc"
|
|
|
+ filterable
|
|
|
+ >
|
|
|
+ <el-option v-for="item in bulletinType" :key="item.dicDataValue" :label="item.dicDataName" :value="item.dicDataValue" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -58,14 +73,28 @@
|
|
|
prop="bulletinTypeGuideId"
|
|
|
:rules="[{ required: false, message: '请选择关联操作指引', trigger: 'change' }]"
|
|
|
>
|
|
|
- <el-select v-model="state.ruleForm.bulletinTypeGuideId" placeholder="请选择关联操作指引" class="w100" clearable @change="selectzy" filterable>
|
|
|
+ <el-select
|
|
|
+ v-model="state.ruleForm.bulletinTypeGuideId"
|
|
|
+ placeholder="请选择关联操作指引"
|
|
|
+ class="w100"
|
|
|
+ clearable
|
|
|
+ @change="selectzy"
|
|
|
+ filterable
|
|
|
+ >
|
|
|
<el-option v-for="item in bulletinType" :key="item.dicDataValue" :label="item.dicDataName" :value="item.dicDataValue" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="关联受理类型" prop="acceptTypeCode" :rules="[{ required: false, message: '请选择关联受理类型', trigger: 'change' }]">
|
|
|
- <el-select v-model="state.ruleForm.acceptTypeCode" placeholder="请选择关联受理类型" class="w100" clearable @change="selectAcceptType" filterable>
|
|
|
+ <el-select
|
|
|
+ v-model="state.ruleForm.acceptTypeCode"
|
|
|
+ placeholder="请选择关联受理类型"
|
|
|
+ class="w100"
|
|
|
+ clearable
|
|
|
+ @change="selectAcceptType"
|
|
|
+ filterable
|
|
|
+ >
|
|
|
<el-option v-for="item in acceptType" :key="item.dicDataValue" :label="item.dicDataName" :value="item.dicDataValue" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -134,6 +163,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
+ <!-- 图片配置 -->
|
|
|
<el-row v-show="state.activeName === '1'">
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="背景图片">
|
|
@@ -205,7 +235,37 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-row v-show="state.activeName === '2'"> </el-row>
|
|
|
+ <!-- 积分配置 -->
|
|
|
+ <el-row v-show="state.activeName === '2'">
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
+ <el-form-item label="上报积分" prop="reportPoints" :rules="[{ required: true, message: '请填写上报积分', trigger: 'blur' }]">
|
|
|
+ <el-input-number v-model="state.ruleForm.reportPoints" :min="0" :precision="2" class="w100" placeholder="请填写上报积分" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
+ <el-form-item label="审核同意积分" prop="argeePoints" :rules="[{ required: true, message: '请填写审核同意积分', trigger: 'blur' }]">
|
|
|
+ <el-input-number v-model="state.ruleForm.argeePoints" :min="0" :precision="2" class="w100" placeholder="请填写审核同意积分" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
+ <el-form-item
|
|
|
+ label="审核不同意扣除积分"
|
|
|
+ label-width="150px"
|
|
|
+ prop="refusePoints"
|
|
|
+ :rules="[{ required: true, message: '请填写审核不同意扣除积分', trigger: 'blur' }]"
|
|
|
+ >
|
|
|
+ <el-input-number v-model="state.ruleForm.refusePoints" :min="0" :precision="2" class="w100" placeholder="请填写审核不同意扣除积分" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
+ <el-form-item label="额外扣除积分" prop="extraDeductedPoints" :rules="[{ required: true, message: '请填写额外扣除积分', trigger: 'blur' }]">
|
|
|
+ <el-input-number v-model="state.ruleForm.extraDeductedPoints" :min="0" :precision="2" class="w100" placeholder="请填写额外扣除积分" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col>
|
|
|
+ <el-text type="danger">注:额外扣除积分是指当积分审核时,发现市民存在虚假举报,恶意刷积分等情况时,可扣除的分数。</el-text>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<span class="dialog-footer">
|
|
@@ -217,7 +277,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
-import { computed, defineAsyncComponent, onMounted, reactive, ref } from 'vue';
|
|
|
+import { computed, defineAsyncComponent, reactive, ref } from 'vue';
|
|
|
import { ElMessage, FormInstance, UploadFile, UploadFiles } from 'element-plus';
|
|
|
import { throttle } from '@/utils/tools';
|
|
|
import { addIndustry, baseIndustry } from '@/api/snapshot/config';
|
|
@@ -245,7 +305,7 @@ const state = reactive<any>({
|
|
|
acceptType: null, // 关联受理类型名称
|
|
|
titleSuffix: null, // 标题追加信息
|
|
|
isEnable: true, // 系统状态
|
|
|
- isAppEnable:true, // 小程序状态
|
|
|
+ isAppEnable: true, // 小程序状态
|
|
|
displayOrder: 1, // 排序
|
|
|
pageUrl: null, // 页面Url
|
|
|
pageCareUrl: null, //Care页面Url
|
|
@@ -256,6 +316,10 @@ const state = reactive<any>({
|
|
|
bannerImgUrl: null, // banner图片
|
|
|
cellImgUrl: null, // 宫格图片
|
|
|
careCellImgUrl: null, //Care宫格图片
|
|
|
+ reportPoints: null, // 上报积分
|
|
|
+ argeePoints: null, // 审核同意积分
|
|
|
+ refusePoints: null, // 审核不同意扣除积分
|
|
|
+ extraDeductedPoints: null, // 额外扣除积分
|
|
|
},
|
|
|
activeName: '0',
|
|
|
tabPaneList: [
|
|
@@ -267,59 +331,60 @@ const state = reactive<any>({
|
|
|
label: '图片配置',
|
|
|
name: '1',
|
|
|
},
|
|
|
- /* {
|
|
|
+ {
|
|
|
+ label: '积分配置',
|
|
|
+ name: '2',
|
|
|
+ },
|
|
|
+ /* {
|
|
|
label: '操作权限',
|
|
|
name: '3',
|
|
|
},*/
|
|
|
],
|
|
|
});
|
|
|
|
|
|
-let loading = ref<boolean>(false); // 加载状态
|
|
|
+const loading = ref<boolean>(false); // 加载状态
|
|
|
// 打开弹窗
|
|
|
const ruleFormRef = ref<RefType>();
|
|
|
-const openDialog = async () => {
|
|
|
- try {
|
|
|
- state.dialogVisible = true;
|
|
|
- } catch (error) {
|
|
|
- console.log(error);
|
|
|
- }
|
|
|
+const openDialog = () => {
|
|
|
+ state.dialogVisible = true;
|
|
|
+ getBaseData();
|
|
|
};
|
|
|
// 审批部门
|
|
|
-const selectDepartment = (val: any)=>{
|
|
|
- if(val){
|
|
|
- const item = department.value.find((item:any)=>item.dicDataValue === val);
|
|
|
+const selectDepartment = (val: any) => {
|
|
|
+ if (val) {
|
|
|
+ const item = department.value.find((item: any) => item.dicDataValue === val);
|
|
|
state.ruleForm.approveOrgName = item?.value;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
state.ruleForm.approveOrgName = null;
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
// 关联宣传学习
|
|
|
-const selectxc = (val:any)=>{
|
|
|
- if(val){
|
|
|
- const item = bulletinType.value.find((item:any)=>item.dicDataValue === val);
|
|
|
+const selectxc = (val: any) => {
|
|
|
+ if (val) {
|
|
|
+ const item = bulletinType.value.find((item: any) => item.dicDataValue === val);
|
|
|
state.ruleForm.bulletinTypePublicityName = item?.dicDataName;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
state.ruleForm.bulletinTypePublicityName = null;
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
// 关联操作指引
|
|
|
-const selectzy = (val:any)=>{
|
|
|
- if(val){
|
|
|
- const item = bulletinType.value.find((item:any)=>item.dicDataValue === val);
|
|
|
+const selectzy = (val: any) => {
|
|
|
+ if (val) {
|
|
|
+ const item = bulletinType.value.find((item: any) => item.dicDataValue === val);
|
|
|
state.ruleForm.bulletinTypeGuideName = item?.dicDataName;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
state.ruleForm.bulletinTypeGuideName = null;
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
// 受理类型
|
|
|
-const selectAcceptType = (val:any)=>{
|
|
|
- if(val){
|
|
|
- const item = acceptType.value.find((item:any)=>item.dicDataValue === val);
|
|
|
+const selectAcceptType = (val: any) => {
|
|
|
+ if (val) {
|
|
|
+ const item = acceptType.value.find((item: any) => item.dicDataValue === val);
|
|
|
state.ruleForm.acceptType = item?.dicDataName;
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
state.ruleForm.acceptType = null;
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
// 上传地址
|
|
|
const action = computed(() => {
|
|
|
return import.meta.env.VITE_API_UPLOAD_URL + '/file/upload?source=hotline';
|
|
@@ -435,18 +500,18 @@ const acceptType = ref<EmptyArrayType>([]); // 受理类型
|
|
|
const bulletinType = ref<EmptyArrayType>([]); // 公告类型
|
|
|
const department = ref<EmptyArrayType>([]); // 审批部门
|
|
|
const getBaseData = async () => {
|
|
|
+ loading.value = true;
|
|
|
try {
|
|
|
const { result } = await baseIndustry();
|
|
|
acceptType.value = result.acceptType;
|
|
|
bulletinType.value = result.bulletinType;
|
|
|
department.value = result.department;
|
|
|
+ loading.value = false;
|
|
|
} catch (e) {
|
|
|
console.log(e);
|
|
|
+ loading.value = false;
|
|
|
}
|
|
|
};
|
|
|
-onMounted(() => {
|
|
|
- getBaseData();
|
|
|
-});
|
|
|
// 暴露变量
|
|
|
defineExpose({
|
|
|
openDialog,
|