服务考核部分内容调整
This commit is contained in:
parent
9bac52a1d0
commit
22ea566dbf
|
|
@ -12,6 +12,7 @@ enum Api {
|
|||
importExcel = '/sysconfig/sysConfig/importExcel',
|
||||
exportXls = '/sysconfig/sysConfig/exportXls',
|
||||
queryByKey = '/sysconfig/sysConfig/queryByKey',
|
||||
queryByKeys = '/sysconfig/sysConfig/queryByKeys',
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -38,6 +39,13 @@ export const list = (params) => defHttp.get({ url: Api.list, params });
|
|||
*/
|
||||
export const queryByKey = (params) => defHttp.get({ url: Api.queryByKey, params });
|
||||
|
||||
/**
|
||||
* 根据keys获取数据
|
||||
* @param params keys
|
||||
* @returns
|
||||
*/
|
||||
export const queryByKeys = (params) => defHttp.get({ url: Api.queryByKeys, params });
|
||||
|
||||
/**
|
||||
* 删除单个
|
||||
* @param params
|
||||
|
|
|
|||
|
|
@ -8,7 +8,10 @@ export const columns: BasicColumn[] = [
|
|||
{
|
||||
title: '员工',
|
||||
align: 'center',
|
||||
dataIndex: 'optNames',
|
||||
dataIndex: 'employeeNames',
|
||||
customRender: ({ record }) => {
|
||||
return record.employeeNames || record.employeeName;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '区域名称',
|
||||
|
|
@ -18,7 +21,7 @@ export const columns: BasicColumn[] = [
|
|||
{
|
||||
title: '分类标签',
|
||||
align: 'center',
|
||||
dataIndex: 'instructionTagName',
|
||||
dataIndex: 'instructionName',
|
||||
},
|
||||
{
|
||||
title: '服务类别',
|
||||
|
|
@ -38,36 +41,21 @@ export const columns: BasicColumn[] = [
|
|||
{
|
||||
title: '指令日期',
|
||||
align: 'center',
|
||||
dataIndex: 'startTime',
|
||||
dataIndex: 'servStartTime',
|
||||
customRender: ({ text }) => {
|
||||
text = !text ? '' : text.length > 10 ? text.substr(0, 10) : text;
|
||||
return text;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '执行状态',
|
||||
align: 'center',
|
||||
dataIndex: 'optStatus_dictText',
|
||||
},
|
||||
{
|
||||
title: '审核结果',
|
||||
align: 'center',
|
||||
dataIndex: 'status_dictText',
|
||||
},
|
||||
// {
|
||||
// title: '驳回原因',
|
||||
// align: "center",
|
||||
// dataIndex: 'content'
|
||||
// title: '执行状态',
|
||||
// align: 'center',
|
||||
// dataIndex: 'optStatus_dictText',
|
||||
// },
|
||||
// {
|
||||
// title: '撤回人(汉字)',
|
||||
// align: "center",
|
||||
// dataIndex: 'revocation'
|
||||
// },
|
||||
// {
|
||||
// title: '撤回时间',
|
||||
// align: "center",
|
||||
// dataIndex: 'revocationTime'
|
||||
// title: '审核结果',
|
||||
// align: 'center',
|
||||
// dataIndex: 'status_dictText',
|
||||
// },
|
||||
];
|
||||
|
||||
|
|
@ -81,7 +69,6 @@ export const superQuerySchema = {
|
|||
optType: { title: '执行类型 1单人 2协助 3转单', order: 29, view: 'list', type: 'string', dictCode: 'directive_order_opt_type' },
|
||||
optStatus: { title: '执行状态 1正常 2未执行 3超时', order: 30, view: 'list', type: 'string', dictCode: 'directive_order_opt_status' },
|
||||
optNames: { title: '实际执行人名称(多个); 主要执行人+协助人', order: 31, view: 'text', type: 'string' },
|
||||
status: { title: '审核状态 0待审核 1通过 2未通过', order: 32, view: 'list', type: 'string', dictCode: 'appraisal_status' },
|
||||
content: { title: '驳回原因', order: 33, view: 'textarea', type: 'string' },
|
||||
revocation: { title: '撤回人(汉字)', order: 34, view: 'text', type: 'string' },
|
||||
revocationTime: { title: '撤回时间', order: 35, view: 'datetime', type: 'string' },
|
||||
|
|
|
|||
|
|
@ -6,25 +6,25 @@
|
|||
:wrapper-col="wrapperCol">
|
||||
<a-row :gutter="24">
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="optNames">
|
||||
<a-form-item name="employeeNames">
|
||||
<template #label><span title="员工">员工</span></template>
|
||||
<j-dict-select-tag v-model:value="queryParam.optNames"
|
||||
<j-dict-select-tag v-model:value="queryParam.employeeNames"
|
||||
:dictCode="`nu_biz_employees_info,name,name, 1=1 order by entry_time desc`" placeholder="请选择员工"
|
||||
allowClear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<!-- <a-col :lg="6">
|
||||
<a-form-item name="nuId">
|
||||
<template #label><span title="区域名称">区域名称</span></template>
|
||||
<j-dict-select-tag v-model:value="queryParam.nuId"
|
||||
:dictCode="`nu_base_info,nu_name,nu_id,del_flag = 0 order by area_flag asc`" placeholder="请选择区域名称"
|
||||
allowClear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-col> -->
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="instructionTagId">
|
||||
<a-form-item name="instructionId">
|
||||
<template #label><span title="分类标签">分类标签</span></template>
|
||||
<j-dict-select-tag v-model:value="queryParam.instructionTagId"
|
||||
<j-dict-select-tag v-model:value="queryParam.instructionId"
|
||||
:dictCode="`nu_config_service_instruction_tag,instruction_name,id,del_flag = 0 order by sort asc`"
|
||||
placeholder="请选择分类标签" allowClear />
|
||||
</a-form-item>
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
<a-form-item name="categoryId">
|
||||
<template #label><span title="服务类别">服务类别</span></template>
|
||||
<j-dict-select-tag type="list" v-model:value="queryParam.categoryId"
|
||||
:dictCode="`nu_config_service_category,category_name,id,del_flag = 0 and instruction_id = '${queryParam.instructionTagId || ''}' order by sort asc`"
|
||||
:dictCode="`nu_config_service_category,category_name,id,del_flag = 0 and instruction_id = '${queryParam.instructionId || ''}' order by sort asc`"
|
||||
placeholder="请选择服务类别" allowClear :ignoreDisabled="true" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
|
@ -52,32 +52,26 @@
|
|||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="startTime">
|
||||
<a-form-item name="servStartTime">
|
||||
<template #label><span title="指令日期">指令日期</span></template>
|
||||
<a-range-picker value-format="YYYY-MM-DD" v-model:value="queryParam.startTime" class="query-group-cust" />
|
||||
<a-range-picker value-format="YYYY-MM-DD" v-model:value="queryParam.servStartTime"
|
||||
class="query-group-cust" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!-- <a-col :lg="6">
|
||||
<a-form-item name="optType">
|
||||
<template #label><span title="执行类型 1单人 2协助 3转单">执行类型</span></template>
|
||||
<j-select-multiple placeholder="请选择执行类型 1单人 2协助 3转单" v-model:value="queryParam.optType"
|
||||
dictCode="directive_order_opt_type" allow-clear />
|
||||
</a-form-item>
|
||||
</a-col> -->
|
||||
<a-col :lg="6">
|
||||
<a-form-item name="optStatus">
|
||||
<template #label><span title="执行状态">执行状态</span></template>
|
||||
<j-dict-select-tag v-model:value="queryParam.optStatus" dictCode="directive_order_opt_status"
|
||||
placeholder="请选择执行状态" allowClear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="6">
|
||||
</a-col> -->
|
||||
<!-- <a-col :lg="6">
|
||||
<a-form-item name="status">
|
||||
<template #label><span title="审核状态">审核结果</span></template>
|
||||
<j-dict-select-tag v-model:value="queryParam.status" dictCode="appraisal_status" placeholder="请选择审核结果"
|
||||
allowClear />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-col> -->
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
|
||||
<a-col :lg="6">
|
||||
|
|
@ -103,12 +97,13 @@
|
|||
</template>
|
||||
</BasicTable>
|
||||
<!-- 表单区域 -->
|
||||
<DirectiveAppraisalModal ref="registerModal" @success="handleSuccess"></DirectiveAppraisalModal>
|
||||
<DirectiveAppraisalModal ref="registerModal" @success="handleSuccess" :tplinkUrlPre="tplinkUrlPre">
|
||||
</DirectiveAppraisalModal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" name="appraisal-directiveAppraisal" setup>
|
||||
import { ref, reactive, watch } from 'vue';
|
||||
import { ref, reactive, watch, onMounted } from 'vue';
|
||||
import { BasicTable, useTable, TableAction } from '/@/components/Table';
|
||||
import { useListPage } from '/@/hooks/system/useListPage';
|
||||
import { columns, superQuerySchema } from './DirectiveAppraisal.data';
|
||||
|
|
@ -121,11 +116,12 @@ import JSelectMultiple from '/@/components/Form/src/jeecg/components/JSelectMult
|
|||
import JInput from "/@/components/Form/src/jeecg/components/JInput.vue";
|
||||
import { cloneDeep } from "lodash-es";
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import { queryByKeys } from '/@/views/admin/sysconfig/SysConfig.api'
|
||||
|
||||
const { createMessage } = useMessage();
|
||||
const formRef = ref();
|
||||
const queryParam = reactive<any>({
|
||||
startTime: (() => {
|
||||
servStartTime: (() => {
|
||||
const d = new Date();
|
||||
d.setDate(d.getDate() - 1); // 减一天
|
||||
const dateStr = d.toISOString().split('T')[0];
|
||||
|
|
@ -136,7 +132,7 @@ const toggleSearchStatus = ref<boolean>(false);
|
|||
const registerModal = ref();
|
||||
const userStore = useUserStore();
|
||||
watch(
|
||||
() => queryParam.instructionTagId,
|
||||
() => queryParam.instructionId,
|
||||
() => {
|
||||
queryParam.categoryId = ''
|
||||
queryParam.typeId = ''
|
||||
|
|
@ -232,18 +228,19 @@ function getTableAction(record) {
|
|||
{
|
||||
label: '详情',
|
||||
onClick: handleDetail.bind(null, record),
|
||||
}, {
|
||||
label: '考核',
|
||||
onClick: handleEdit.bind(null, record),
|
||||
ifShow: record.status == '1' || record.status == '4'
|
||||
}, {
|
||||
label: '撤回',
|
||||
ifShow: record.status == '2' || record.status == '3',
|
||||
popConfirm: {
|
||||
title: '是否确认撤回',
|
||||
confirm: handleRevocationFunc.bind(null, record),
|
||||
},
|
||||
},
|
||||
// {
|
||||
// label: '考核',
|
||||
// onClick: handleEdit.bind(null, record),
|
||||
// ifShow: record.status == '1' || record.status == '4'
|
||||
// }, {
|
||||
// label: '撤回',
|
||||
// ifShow: record.status == '2' || record.status == '3',
|
||||
// popConfirm: {
|
||||
// title: '是否确认撤回',
|
||||
// confirm: handleRevocationFunc.bind(null, record),
|
||||
// },
|
||||
// },
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -266,7 +263,7 @@ function searchReset() {
|
|||
|
||||
|
||||
|
||||
let rangeField = 'startTime,'
|
||||
let rangeField = 'servStartTime,'
|
||||
|
||||
/**
|
||||
* 设置范围查询条件
|
||||
|
|
@ -289,6 +286,15 @@ async function setRangeQuery() {
|
|||
}
|
||||
return queryParamClone;
|
||||
}
|
||||
const tplinkUrlPre = ref('')
|
||||
onMounted(async () => {
|
||||
let data = await queryByKeys({ keys: 'enabled_cdn,cos_url,cdn_url' })
|
||||
if (data.enabled_cdn.configValue == 'Y') {
|
||||
tplinkUrlPre.value = data.cdn_url.configValue
|
||||
} else {
|
||||
tplinkUrlPre.value = data.cos_url.configValue
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
<a-form-item label="" id="DirectiveAppraisalForm-tplinkPath"
|
||||
name="tplinkPath">
|
||||
<video v-if="!!formData.tplinkPath" controls style="width: 120%;">
|
||||
<source :src="opeMediaAddress + formData.tplinkPath"
|
||||
<source :src="tplinkUrlPre + formData.tplinkPath"
|
||||
type="video/mp4">
|
||||
您的浏览器不支持视频播放
|
||||
</video>
|
||||
|
|
@ -76,9 +76,9 @@
|
|||
<SectionDivider :title="'基础信息'" />
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="分类标签" v-bind="validateInfos.instructionTagName"
|
||||
id="DirectiveAppraisalForm-instructionTagName" name="instructionTagName">
|
||||
<a-input v-model:value="formData.instructionTagName"></a-input>
|
||||
<a-form-item label="分类标签" v-bind="validateInfos.instructionName"
|
||||
id="DirectiveAppraisalForm-instructionName" name="instructionName">
|
||||
<a-input v-model:value="formData.instructionName"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
|
|
@ -99,18 +99,12 @@
|
|||
<a-input v-model:value="formData.directiveName"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<!-- <a-col :span="12">
|
||||
<a-form-item label="服务指令描述" v-bind="validateInfos.serviceContent"
|
||||
id="DirectiveAppraisalForm-serviceContent" name="serviceContent">
|
||||
<a-input v-model:value="formData.serviceContent"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12" v-show="formData.izPackage == 'Y'">
|
||||
<a-form-item label="服务指令包" v-bind="validateInfos.packageName"
|
||||
id="DirectiveAppraisalForm-packageName" name="packageName">
|
||||
<a-input v-model:value="formData.packageName"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-col> -->
|
||||
</a-row>
|
||||
</a-form>
|
||||
</template>
|
||||
|
|
@ -132,9 +126,9 @@
|
|||
</a-form-item>
|
||||
</a-col> -->
|
||||
<a-col :span="12">
|
||||
<a-form-item label="执行人" v-bind="validateInfos.optNames"
|
||||
id="DirectiveAppraisalForm-optNames" name="optNames">
|
||||
<a-input v-model:value="formData.optNames"></a-input>
|
||||
<a-form-item label="执行人" v-bind="validateInfos.employeeNames"
|
||||
id="DirectiveAppraisalForm-employeeNames" name="employeeNames">
|
||||
<a-input v-model:value="formData.employeeNames"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
|
|
@ -145,37 +139,37 @@
|
|||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="预计开始时间" v-bind="validateInfos.startTime"
|
||||
id="DirectiveAppraisalForm-startTime" name="startTime">
|
||||
<a-date-picker v-model:value="formData.startTime" showTime
|
||||
<a-form-item label="预计开始时间" v-bind="validateInfos.servStartTime"
|
||||
id="DirectiveAppraisalForm-servStartTime" name="servStartTime">
|
||||
<a-date-picker v-model:value="formData.servStartTime" showTime
|
||||
value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="预计结束时间" v-bind="validateInfos.endTime"
|
||||
id="DirectiveAppraisalForm-endTime" name="endTime">
|
||||
<a-date-picker v-model:value="formData.endTime" showTime
|
||||
<a-form-item label="预计结束时间" v-bind="validateInfos.servEndTime"
|
||||
id="DirectiveAppraisalForm-servEndTime" name="servEndTime">
|
||||
<a-date-picker v-model:value="formData.servEndTime" showTime
|
||||
value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="实际开始时间" v-bind="validateInfos.beginTime"
|
||||
id="DirectiveAppraisalForm-beginTime" name="beginTime">
|
||||
<a-date-picker v-model:value="formData.beginTime" showTime
|
||||
<a-form-item label="实际开始时间" v-bind="validateInfos.empStartTime"
|
||||
id="DirectiveAppraisalForm-empStartTime" name="empStartTime">
|
||||
<a-date-picker v-model:value="formData.empStartTime" showTime
|
||||
value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="实际结束时间" v-bind="validateInfos.finishTime"
|
||||
id="DirectiveAppraisalForm-finishTime" name="finishTime">
|
||||
<a-date-picker v-model:value="formData.finishTime" showTime
|
||||
<a-form-item label="实际结束时间" v-bind="validateInfos.empEndTime"
|
||||
id="DirectiveAppraisalForm-empEndTime" name="empEndTime">
|
||||
<a-date-picker v-model:value="formData.empEndTime" showTime
|
||||
value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-item label="执行状态" v-bind="validateInfos.optStatus"
|
||||
id="DirectiveAppraisalForm-optStatus" name="optStatus">
|
||||
<j-dict-select-tag v-model:value="formData.optStatus"
|
||||
<a-form-item label="执行状态" v-bind="validateInfos.orderStatus"
|
||||
id="DirectiveAppraisalForm-orderStatus" name="orderStatus">
|
||||
<j-dict-select-tag v-model:value="formData.orderStatus"
|
||||
dictCode="directive_order_opt_status" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
|
@ -299,7 +293,8 @@ const modalWidth = ref<string>('auto');
|
|||
const props = defineProps({
|
||||
formDisabled: { type: Boolean, default: false },
|
||||
formData: { type: Object, default: () => ({}) },
|
||||
formBpm: { type: Boolean, default: true }
|
||||
formBpm: { type: Boolean, default: true },
|
||||
tplinkUrlPre: { type: String, default: '' },
|
||||
});
|
||||
const activeKey = ref('tplink')
|
||||
const formRef = ref();
|
||||
|
|
@ -309,7 +304,7 @@ const formData = reactive<Record<string, any>>({
|
|||
id: '',
|
||||
nuName: '',
|
||||
employeeName: '',
|
||||
instructionTagName: '',
|
||||
instructionName: '',
|
||||
categoryName: '',
|
||||
serviceAttribute: '',
|
||||
typeName: '',
|
||||
|
|
@ -325,19 +320,19 @@ const formData = reactive<Record<string, any>>({
|
|||
realComPrice: undefined,
|
||||
packageName: '',
|
||||
izPackage: '',
|
||||
startTime: '',
|
||||
endTime: '',
|
||||
beginTime: '',
|
||||
finishTime: '',
|
||||
servStartTime: '',
|
||||
servEndTime: '',
|
||||
empStartTime: '',
|
||||
empEndTime: '',
|
||||
izStart: '',
|
||||
izFinish: '',
|
||||
tplinkPath: '',
|
||||
manuallyPicPath: '',
|
||||
manuallyMp4Path: '',
|
||||
optType: '',
|
||||
optStatus: '',
|
||||
orderStatus: '',
|
||||
optIds: '',
|
||||
optNames: '',
|
||||
employeeNames: '',
|
||||
status: '',
|
||||
content: '',
|
||||
revocation: '',
|
||||
|
|
@ -347,7 +342,7 @@ const formData = reactive<Record<string, any>>({
|
|||
nuId: '',
|
||||
elderId: '',
|
||||
elderName: '',
|
||||
instructionTagId: '',
|
||||
instructionId: '',
|
||||
categoryId: '',
|
||||
typeId: '',
|
||||
directiveId: '',
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<a-drawer :title="title" width="100%" v-model:visible="visible" :closable="true"
|
||||
:footer-style="{ textAlign: 'right' }" @close="handleCancel">
|
||||
<DirectiveAppraisalForm v-if="visible" ref="registerForm" @ok="submitCallback" :formDisabled="disableSubmit"
|
||||
:formBpm="false"></DirectiveAppraisalForm>
|
||||
:formBpm="false" :tplinkUrlPre="tplinkUrlPre"></DirectiveAppraisalForm>
|
||||
<template #footer>
|
||||
<a-button type="primary" style="margin-right: 8px" @click="handleCancel">关闭</a-button>
|
||||
<a-button type="primary" @click="handleOk" v-if="!disableSubmit">确认</a-button>
|
||||
|
|
@ -14,7 +14,11 @@
|
|||
import { ref, nextTick, defineExpose } from 'vue';
|
||||
import DirectiveAppraisalForm from './DirectiveAppraisalForm.vue'
|
||||
import JModal from '/@/components/Modal/src/JModal/JModal.vue';
|
||||
import { string } from 'vue-types';
|
||||
|
||||
const props = defineProps({
|
||||
tplinkUrlPre: { type: String, default: '' },
|
||||
});
|
||||
const title = ref<string>('');
|
||||
const width = ref<number>(800);
|
||||
const visible = ref<boolean>(false);
|
||||
|
|
|
|||
Loading…
Reference in New Issue