Browse Source

reactor:已质检列表新增分数区间查询条件;

zhangchong 1 year ago
parent
commit
1e93b91aea

+ 78 - 0
src/components/NumberRange/index.vue

@@ -0,0 +1,78 @@
+<template>
+    <div class="input-number-range flex">
+        <div class="from">
+          <el-input-number
+            ref="input_from"
+            v-model="userInputForm"
+            :disabled="disabled"
+            placeholder="最小值"
+            @change="handleInputChangeFrom"
+            :min="min"
+            :max="userInputTo-1"
+          />
+        </div>
+        <div class="center">
+          <span>至</span>
+        </div>
+        <div class="to">
+          <el-input-number
+            ref="input_to"
+            v-model="userInputTo"
+            :disabled="disabled"
+            placeholder="最大值"
+            @change="handleInputChangeTo"
+            :min="userInputForm+1"
+            :max="max"
+          ></el-input-number>
+        </div>
+    </div>
+</template>
+
+<script lang="ts" setup name="inputNumberRange">
+import { ref, watch } from "vue";
+
+const props = defineProps({
+  modelValue: {
+    type: Array,
+    default: () => []
+  },
+  disabled: {
+    type: Boolean,
+    default: false
+  },
+  min: {
+    type: Number,
+    default: 0
+  },
+  max: {
+    type: Number,
+    default: 100
+  }
+})
+
+const emit = defineEmits(['update:modelValue'])
+const userInputForm = ref<any>(null);
+const userInputTo = ref<any>(null);
+watch(() => props.modelValue, (value: any) => {
+  userInputForm.value = typeof value[0] === 'number' ? value[0] : null
+  userInputTo.value = typeof value[1] === 'number' ? value[1] : null
+},{immediate: true});
+const handleInputChangeFrom = value => {
+  emit('update:modelValue', [userInputForm.value, userInputTo.value])
+}
+const handleInputChangeTo = value => {
+  emit('update:modelValue', [userInputForm.value, userInputTo.value])
+}
+</script>
+<style lang="scss" scoped>
+.flex {
+  display: flex;
+  width: 100%;
+  justify-content: center;
+  align-items: center;
+  .center {
+    margin: 1px 10px 0 10px;
+  }
+}
+</style>
+

+ 1 - 2
src/views/business/special/components/Special-apply-order.vue

@@ -192,8 +192,7 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 			...state.ruleForm,
       workflowId: state.workflowId,
 			orderId: state.orderDetail.id,
-			files: filesFormat.value,
-			audit: true, // 是否需要审批
+			files: filesFormat.value
 		};
 		specialApply(request)
 			.then(() => {

+ 2 - 6
src/views/business/special/components/Special-apply.vue

@@ -104,13 +104,10 @@ const stepsItems = ref<EmptyArrayType>([]); // 处理对象
 /**
  * @description 打开弹窗
  * @param {object} val 工单详情
- * @param {boolean} audit 是否是审核
  */
-const isAudit = ref<boolean>(false);
-const openDialog = async (val: any, audit = false) => {
+const openDialog = async (val: any) => {
 	state.orderDetail = val;
 	state.workflowId = val.workflowId;
-	isAudit.value = audit;
 	state.loading = true;
 	state.dialogVisible = true;
 	try {
@@ -159,8 +156,7 @@ const onSubmit = (formEl: FormInstance | undefined) => {
 			...state.ruleForm,
 			workflowId: state.workflowId,
 			orderId: state.orderDetail.id,
-			files: filesFormat.value,
-			audit: isAudit.value, // 是否需要审批
+			files: filesFormat.value
 		};
 		specialApply(request)
 			.then(() => {

+ 1 - 1
src/views/business/special/index.vue

@@ -149,7 +149,7 @@ const onSpecialApply = (row: any) => {
     ElMessage.warning('工单会签中,无法进行特提!');
     return;
   }
-	specialApplyRef.value.openDialog(row, true); // 需要审核
+	specialApplyRef.value.openDialog(row); // 需要审核
 };
 onMounted(() => {
 	queryList();

+ 15 - 10
src/views/quality/done/index.vue

@@ -10,6 +10,9 @@
 				<el-form-item label="关键词" prop="Keyword">
 					<el-input v-model="state.queryParams.Keyword" placeholder="关键词" clearable @keyup.enter="queryList" class="keyword-input" />
 				</el-form-item>
+        <el-form-item label="分数区间" prop="value">
+            <input-number-range v-model="state.queryParams.value"/>
+        </el-form-item>
 				<el-form-item label="创建时间" prop="exTime">
 					<el-date-picker
 						v-model="state.queryParams.exTime"
@@ -47,7 +50,7 @@
               <order-detail :order="row.order">{{ row.order?.title }}</order-detail>
 						</template>
 					</el-table-column>
-					<el-table-column prop="order.hotspotName" label="热点分类" show-overflow-tooltip></el-table-column>
+					<el-table-column prop="order.hotspotName" label="热点分类" show-overflow-tooltip min-width="120"></el-table-column>
 					<el-table-column prop="employeeName" label="受理人" show-overflow-tooltip width="120">
 						<template #default="{ row }">
 							<span
@@ -73,7 +76,7 @@
 							<span class="color-primary">{{ row.order?.title }}</span>
 						</template>
 					</el-table-column>
-					<el-table-column prop="order.hotspotName" label="热点分类" show-overflow-tooltip></el-table-column>
+					<el-table-column prop="order.hotspotName" label="热点分类" show-overflow-tooltip min-width="120"></el-table-column>
 					<el-table-column prop="employeeName" label="受理人" show-overflow-tooltip width="120">
 						<template #default="{ row }">
 							<span
@@ -100,7 +103,7 @@
 					<el-table-column prop="visit.visitStateText" label="回访状态" show-overflow-tooltip></el-table-column>
 					<el-table-column prop="visit.visitTypeText" label="回访方式" show-overflow-tooltip width="100"></el-table-column>
 					<el-table-column prop="order.acceptType" label="受理类型" show-overflow-tooltip></el-table-column>
-					<el-table-column prop="order.hotspotName" label="热点分类" show-overflow-tooltip width="120"></el-table-column>
+					<el-table-column prop="order.hotspotName" label="热点分类" show-overflow-tooltip min-width="120"></el-table-column>
 					<el-table-column prop="employeeName" label="受理人" show-overflow-tooltip width="120">
 						<template #default="{ row }">
 							<span
@@ -177,6 +180,7 @@ import { shortcuts } from '@/utils/constants';
 // 引入组件
 const QualityInspection = defineAsyncComponent(() => import('@/views/quality/done/components/Quality-inspection.vue')); // 质检
 const OrderDetail = defineAsyncComponent(() => import('@/components/OrderDetail/index.vue')); // 工单详情
+const InputNumberRange  = defineAsyncComponent(() => import('@/components/NumberRange/index.vue')); // 数字区间
 
 // 定义变量内容
 const state = reactive<any>({
@@ -191,6 +195,7 @@ const state = reactive<any>({
 		exTime: [], // 办理期限
 		State: 1, // 待质检
 		Keyword: null,
+    value:[0, 100]
 	},
 	total: 0, // 总条数
 	tableData: [], // 表格数据
@@ -223,7 +228,12 @@ const timeStartChangeCr = (val: string[]) => {
 // 获取参数列表
 const queryList = () => {
 	state.loading = true;
-	qualityList(state.queryParams)
+  const request = {
+    ...state.queryParams,
+    MaxGrade: state.queryParams.value[1],
+    MinGrade: state.queryParams.value[0],
+  }
+	qualityList(request)
 		.then((res) => {
 			state.loading = false;
 			state.tableData = res.result.items ?? [];
@@ -261,9 +271,4 @@ onMounted(() => {
 	getBaseData();
 	queryList();
 });
-</script>
-
-<style lang="scss" scoped>
-.quality-done-container {
-}
-</style>
+</script>

+ 29 - 33
src/views/system/parameter/index.vue

@@ -1,19 +1,19 @@
 <template>
 	<div class="system-parameter-container layout-pd">
-    <el-card shadow="never">
-      <el-form :model="state.queryParams" ref="ruleFormRef" inline @submit.native.prevent>
-        <el-form-item label="参数名称" prop="settingName">
-          <el-input v-model="state.queryParams.settingName" placeholder="请输入参数名称" clearable @keyup.enter="queryList" class="keyword-input" />
-        </el-form-item>
-        <el-form-item label="参数" prop="code">
-          <el-input v-model="state.queryParams.code" placeholder="请输入参数" clearable @keyup.enter="queryList" class="keyword-input" />
-        </el-form-item>
-        <el-form-item>
-          <el-button type="primary" @click="queryList" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
-          <el-button @click="resetQuery(ruleFormRef)" v-waves class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
-        </el-form-item>
-      </el-form>
-    </el-card>
+		<el-card shadow="never">
+			<el-form :model="state.queryParams" ref="ruleFormRef" inline @submit.native.prevent>
+				<el-form-item label="参数名称" prop="settingName">
+					<el-input v-model="state.queryParams.settingName" placeholder="请输入参数名称" clearable @keyup.enter="queryList" class="keyword-input" />
+				</el-form-item>
+				<el-form-item label="参数" prop="code">
+					<el-input v-model="state.queryParams.code" placeholder="请输入参数" clearable @keyup.enter="queryList" class="keyword-input" />
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" @click="queryList" :loading="state.loading"> <SvgIcon name="ele-Search" class="mr5" />查询 </el-button>
+					<el-button @click="resetQuery(ruleFormRef)" v-waves class="default-button"> <SvgIcon name="ele-Refresh" class="mr5" />重置 </el-button>
+				</el-form-item>
+			</el-form>
+		</el-card>
 		<el-card shadow="never">
 			<div class="mb20">
 				<el-button type="primary" @click="addParameter" v-waves v-auth="'system:parameter:add'">
@@ -64,12 +64,12 @@
 </template>
 
 <script lang="ts" setup name="systemParameter">
-import {defineAsyncComponent, onMounted, reactive, ref} from 'vue';
-import {getSystemSettings} from '@/api/system/parameter';
-import {ElMessage, ElMessageBox, FormInstance} from 'element-plus';
-import {throttle} from '@/utils/tools';
-import {formatDate} from '@/utils/formatTime';
-import {auth} from "@/utils/authFunction";
+import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
+import { getSystemSettings } from '@/api/system/parameter';
+import { ElMessage, ElMessageBox, FormInstance } from 'element-plus';
+import { throttle } from '@/utils/tools';
+import { formatDate } from '@/utils/formatTime';
+import { auth } from '@/utils/authFunction';
 
 // 引入组件
 const ParameterAdd = defineAsyncComponent(() => import('@/views/system/parameter/component/Parameter-add.vue')); // 参数新增
@@ -92,18 +92,15 @@ const ruleFormRef = ref<any>(null); // 表单ref
 // 获取参数列表
 const queryList = throttle(() => {
 	state.loading = true;
-  if (!auth('system:parameter:query')) ElMessage.error('抱歉,您没有权限获取系统参数列表!');
-  else {
-    getSystemSettings(state.queryParams)
-        .then((res) => {
-          state.loading = false;
-          state.tableData = res.result.items ?? [];
-          state.total = res.result.total ?? 0;
-        })
-        .finally(() => {
-          state.loading = false;
-        });
-  }
+	getSystemSettings(state.queryParams)
+		.then((res) => {
+			state.loading = false;
+			state.tableData = res.result.items ?? [];
+			state.total = res.result.total ?? 0;
+		})
+		.finally(() => {
+			state.loading = false;
+		});
 }, 1000);
 // 重置表单
 const resetQuery = (formEl: FormInstance | undefined) => {
@@ -151,6 +148,5 @@ onMounted(() => {
 
 <style lang="scss" scoped>
 .system-parameter-container {
-
 }
 </style>