浏览代码

线路调整

zhangchong 1 年之前
父节点
当前提交
577b8c12e0

+ 43 - 47
src/views/device/line/component/Line-add.vue

@@ -9,55 +9,31 @@
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-						<el-form-item label="早上开始时间" prop="morningBegin" :rules="[{ required: true, message: '请选择早上开始时间', trigger: 'change' }]">
-							<el-time-select
-								v-model="state.ruleForm.morningBegin"
-								:max-time="state.ruleForm.morningEnd"
-								placeholder="请选择早上开始时间"
-								start="00:00"
-								step="00:30"
-								end="23:30"
-								class="w100"
-							/>
+						<el-form-item label="早上时间" prop="morningTime" :rules="[{ required: true, message: '请选择早上时间', trigger: 'change' }]">
+              <el-time-picker
+                  v-model="state.ruleForm.morningTime"
+                  is-range
+                  range-separator="至"
+                  start-placeholder="早上开始时间"
+                  end-placeholder="早上结束时间"
+                  @change="getMorningTime"
+                  format="HH:mm:ss"
+                  value-format="HH:mm:ss"
+              />
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-						<el-form-item label="早上结束时间" prop="morningEnd" :rules="[{ required: true, message: '请选择早上结束时间', trigger: 'change' }]">
-							<el-time-select
-								v-model="state.ruleForm.morningEnd"
-								:min-time="state.ruleForm.morningBegin"
-								placeholder="请选择早上结束时间"
-								start="00:00"
-								step="00:30"
-								end="23:30"
-								class="w100"
-							/>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-						<el-form-item label="下午开始时间" prop="afterBegin" :rules="[{ required: true, message: '请选择下午开始时间', trigger: 'change' }]">
-							<el-time-select
-								v-model="state.ruleForm.afterBegin"
-								:max-time="state.ruleForm.afterEnd"
-								placeholder="请选择下午开始时间"
-								start="00:00"
-								step="00:30"
-								end="23:30"
-								class="w100"
-							/>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-						<el-form-item label="下午结束时间" prop="afterEnd" :rules="[{ required: true, message: '请选择下午结束时间', trigger: 'change' }]">
-							<el-time-select
-								v-model="state.ruleForm.afterEnd"
-								:min-time="state.ruleForm.afterBegin"
-								placeholder="请选择下午结束时间"
-								start="00:00"
-								step="00:30"
-								end="23:30"
-								class="w100"
-							/>
+						<el-form-item label="下午时间" prop="afternoonTime" :rules="[{ required: true, message: '请选择下午时间', trigger: 'change' }]">
+              <el-time-picker
+                  v-model="state.ruleForm.afternoonTime"
+                  is-range
+                  range-separator="至"
+                  start-placeholder="下午开始时间"
+                  end-placeholder="下午结束时间"
+                  @change="getAfternoonTime"
+                  format="HH:mm:ss"
+                  value-format="HH:mm:ss"
+              />
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
@@ -125,12 +101,15 @@ import { reactive, ref } from 'vue';
 import { ElMessage, FormInstance } from 'element-plus';
 import { auth } from '/@/utils/authFunction';
 import { addLine, baseInfo } from '/@/api/device/line';
+import other from "/@/utils/other";
 
 // 定义接口来定义对象的类型
 interface OrgFormState {
 	isShowDialog: boolean;
 	ruleForm: {
 		trunkId: string; // 线路号
+    morningTime:EmptyArrayType; // 上午时间
+    afternoonTime:EmptyArrayType; // 下午时间
 		morningBegin: string; //早上开始时间
 		morningEnd: string; // 早上结束时间
 		afterBegin: string; // 下午开始时间
@@ -159,6 +138,8 @@ const state = reactive<OrgFormState>({
 	isShowDialog: false,
 	ruleForm: {
 		trunkId: '',
+    morningTime:[],
+    afternoonTime:[],
 		morningBegin: '',
 		morningEnd: '',
 		afterBegin: '',
@@ -177,6 +158,16 @@ const state = reactive<OrgFormState>({
 	restToGroupList: [],
 	loading: false,
 });
+// 获取上午时间
+const getMorningTime = (val: string[]) => {
+  state.ruleForm.morningBegin = val[0];
+  state.ruleForm.morningEnd = val[1];
+};
+// 获取下午时间
+const getAfternoonTime = (val: string[]) => {
+  state.ruleForm.afterBegin = val[0];
+  state.ruleForm.afterEnd = val[1];
+};
 // 打开弹窗
 const openDialog = () => {
 	ruleFormRef.value?.clearValidate();
@@ -210,7 +201,12 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	await formEl.validate((valid, fields) => {
 		if (valid) {
-			addLine(state.ruleForm).then(() => {
+     let requestData = other.deepClone(state.ruleForm);
+     // 移除无用的参数
+      delete requestData.morningTime;
+      delete requestData.afternoonTime;
+      // 调用新增接口,传入requestData
+			addLine(requestData).then(() => {
 				emit('updateList');
 				closeDialog(); // 关闭弹窗
 				ElMessage.success('新增成功');

+ 51 - 53
src/views/device/line/component/Line-edit.vue

@@ -8,58 +8,34 @@
 							<el-input v-model="state.ruleForm.trunkId" placeholder="请输入线路号" clearable></el-input>
 						</el-form-item>
 					</el-col>
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-						<el-form-item label="早上开始时间" prop="morningBegin" :rules="[{ required: true, message: '请选择早上开始时间', trigger: 'change' }]">
-							<el-time-select
-								v-model="state.ruleForm.morningBegin"
-								:max-time="state.ruleForm.morningEnd"
-								placeholder="请选择早上开始时间"
-								start="00:00"
-								step="00:30"
-								end="23:30"
-								class="w100"
-							/>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-						<el-form-item label="早上结束时间" prop="morningEnd" :rules="[{ required: true, message: '请选择早上结束时间', trigger: 'change' }]">
-							<el-time-select
-								v-model="state.ruleForm.morningEnd"
-								:min-time="state.ruleForm.morningBegin"
-								placeholder="请选择早上结束时间"
-								start="00:00"
-								step="00:30"
-								end="23:30"
-								class="w100"
-							/>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-						<el-form-item label="下午开始时间" prop="afterBegin" :rules="[{ required: true, message: '请选择下午开始时间', trigger: 'change' }]">
-							<el-time-select
-								v-model="state.ruleForm.afterBegin"
-								:max-time="state.ruleForm.afterEnd"
-								placeholder="请选择下午开始时间"
-								start="00:00"
-								step="00:30"
-								end="23:30"
-								class="w100"
-							/>
-						</el-form-item>
-					</el-col>
-					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
-						<el-form-item label="下午结束时间" prop="afterEnd" :rules="[{ required: true, message: '请选择下午结束时间', trigger: 'change' }]">
-							<el-time-select
-								v-model="state.ruleForm.afterEnd"
-								:min-time="state.ruleForm.afterBegin"
-								placeholder="请选择下午结束时间"
-								start="00:00"
-								step="00:30"
-								end="23:30"
-								class="w100"
-							/>
-						</el-form-item>
-					</el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+            <el-form-item label="早上时间" prop="morningTime" :rules="[{ required: true, message: '请选择早上时间', trigger: 'change' }]">
+              <el-time-picker
+                  v-model="state.ruleForm.morningTime"
+                  is-range
+                  range-separator="至"
+                  start-placeholder="早上开始时间"
+                  end-placeholder="早上结束时间"
+                  @change="getMorningTime"
+                  format="HH:mm:ss"
+                  value-format="HH:mm:ss"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
+            <el-form-item label="下午时间" prop="afternoonTime" :rules="[{ required: true, message: '请选择下午时间', trigger: 'change' }]">
+              <el-time-picker
+                  v-model="state.ruleForm.afternoonTime"
+                  is-range
+                  range-separator="至"
+                  start-placeholder="下午开始时间"
+                  end-placeholder="下午结束时间"
+                  @change="getAfternoonTime"
+                  format="HH:mm:ss"
+                  value-format="HH:mm:ss"
+              />
+            </el-form-item>
+          </el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
 						<el-form-item label="工作日" prop="workDay" :rules="[{ required: true, message: '请选择工作日', trigger: 'change' }]">
 							<el-select v-model="state.ruleForm.workDay" placeholder="请选择工作日" value-key="weekValue" class="w100" multiple>
@@ -125,12 +101,15 @@ import { reactive, ref } from 'vue';
 import { ElMessage, FormInstance } from 'element-plus';
 import { authAll } from '/@/utils/authFunction';
 import { updateLine, getLineDetail, baseInfo } from '/@/api/device/line';
+import other from "/@/utils/other";
 
 // 定义接口来定义对象的类型
 interface OrgFormState {
 	isShowDialog: boolean;
 	ruleForm: {
 		trunkId: string; // 线路号
+    morningTime:EmptyArrayType; // 上午时间
+    afternoonTime:EmptyArrayType; // 下午时间
 		morningBegin: string; //早上开始时间
 		morningEnd: string; // 早上结束时间
 		afterBegin: string; // 下午开始时间
@@ -159,6 +138,8 @@ const state = reactive<OrgFormState>({
 	isShowDialog: false,
 	ruleForm: {
 		trunkId: '',
+    morningTime:[],
+    afternoonTime:[],
 		morningBegin: '',
 		morningEnd: '',
 		afterBegin: '',
@@ -177,6 +158,16 @@ const state = reactive<OrgFormState>({
 	restToGroupList: [],
 	loading: false,
 });
+// 获取上午时间
+const getMorningTime = (val: string[]) => {
+  state.ruleForm.morningBegin = val[0];
+  state.ruleForm.morningEnd = val[1];
+};
+// 获取下午时间
+const getAfternoonTime = (val: string[]) => {
+  state.ruleForm.afterBegin = val[0];
+  state.ruleForm.afterEnd = val[1];
+};
 // 打开弹窗
 const openDialog = async (row: any) => {
 	ruleFormRef.value?.clearValidate();
@@ -187,6 +178,8 @@ const openDialog = async (row: any) => {
 		try {
 			const res: any = await Promise.all([getLineDetail(row.id), baseInfo()]);
 			state.ruleForm = res[0].result;
+      state.ruleForm.morningTime = [res[0].result.morningBegin,res[0].result.morningEnd];
+      state.ruleForm.afternoonTime = [res[0].result.afterBegin,res[0].result.afterEnd];
 			const { workDay, restCategory, workCategorys, workToGroup, restToGroup } = res[1].result;
 			state.workDayList = workDay;
 			state.workCategoryList = workCategorys;
@@ -212,7 +205,12 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
 	if (!formEl) return;
 	await formEl.validate((valid, fields) => {
 		if (valid) {
-			updateLine(state.ruleForm).then(() => {
+      let requestData = other.deepClone(state.ruleForm);
+      // 移除无用的参数
+      delete requestData.morningTime;
+      delete requestData.afternoonTime;
+      // 调用新增接口,传入requestData
+			updateLine(requestData).then(() => {
 				emit('updateList');
 				closeDialog(); // 关闭弹窗
 				ElMessage.success('操作成功');

+ 0 - 1
src/views/device/phoneGroup/index.vue

@@ -121,7 +121,6 @@ import { ElMessage } from 'element-plus';
 import { formatDate } from '/@/utils/formatTime';
 import { authAll } from '/@/utils/authFunction';
 import other from '/@/utils/other';
-// 引入需要的api
 import { getTelsGroupList, addTelsGroup, updateTelsGroup, baseInfoTelsGroup } from '/@/api/device/phoneGroup';
 import { getTelsList } from '/@/api/device/phone';
 import { voiceQueryList } from '/@/api/device/ivr';