From cd6c6eb78739cb3d43f0b05018159c5c1018559b Mon Sep 17 00:00:00 2001
From: mkm <727897186@qq.com>
Date: Fri, 18 Aug 2023 14:19:49 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/views/task_template/edit.vue | 502 +++++++++++++++----------------
 1 file changed, 241 insertions(+), 261 deletions(-)

diff --git a/src/views/task_template/edit.vue b/src/views/task_template/edit.vue
index 920b74a..117dd93 100644
--- a/src/views/task_template/edit.vue
+++ b/src/views/task_template/edit.vue
@@ -1,301 +1,281 @@
 <template>
-  <div class="edit-popup">
-    <popup
-      ref="popupRef"
-      :title="popupTitle"
-      :async="true"
-      width="550px"
-      @confirm="handleSubmit"
-      @close="handleClose"
-    >
-      <el-form
-        ref="formRef"
-        :model="formData"
-        label-width="90px"
-        :rules="formRules"
-      >
-        <el-form-item label="任务名称" prop="title">
-          <el-input
-            v-model="formData.title"
-            clearable
-            placeholder="请输入任务名称"
-          />
-        </el-form-item>
-        <el-form-item label="阶段类型" prop="types">
-          <el-select
-            v-model="formData.types"
-            clearable
-            placeholder="请输入阶段类型"
-          >
-            <el-option
-              v-for="item in [
-                { label: 1, name: '循环' },
-                { label: 2, name: '长期' },
-                { label: 3, name: '单次' },
-              ]"
-              :key="item.label"
-              :value="item.label"
-              :label="item.name"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item label="一阶段天数">
-          <el-input
-            v-model="formData.stage_day_one"
-            clearable
-            placeholder="请输入天数"
-            type="number"
-          >
-            <template #append>天</template>
-          </el-input>
-        </el-form-item>
-        <el-form-item label="一阶段金额">
-          <el-input
-            v-model="formData.money"
-            clearable
-            placeholder="请输入金额"
-            type="number"
-          >
-            <template #append>元</template>
-          </el-input>
-        </el-form-item>
-        <el-form-item label="二阶段天数">
-          <el-input
-            v-model="formData.stage_day_two"
-            clearable
-            placeholder="请输入天数"
-            type="number"
-          >
-            <template #append>天</template>
-          </el-input>
-        </el-form-item>
+    <div class="edit-popup">
+        <popup
+            ref="popupRef"
+            :title="popupTitle"
+            :async="true"
+            width="550px"
+            @confirm="handleSubmit"
+            @close="handleClose"
+        >
+            <el-form ref="formRef" :model="formData" label-width="90px" :rules="formRules">
+                <el-form-item label="任务名称" prop="title">
+                    <el-input v-model="formData.title" clearable placeholder="请输入任务名称" />
+                </el-form-item>
+                <el-form-item label="阶段类型" prop="types">
+                    <el-select v-model="formData.types" clearable placeholder="请输入阶段类型">
+                        <el-option
+                            v-for="item in [
+                                { label: 1, name: '循环' },
+                                { label: 2, name: '长期' },
+                                { label: 3, name: '单次' }
+                            ]"
+                            :key="item.label"
+                            :value="item.label"
+                            :label="item.name"
+                        />
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="一阶段天数">
+                    <el-input
+                        v-model="formData.stage_day_one"
+                        clearable
+                        placeholder="请输入天数"
+                        type="number"
+                    >
+                        <template #append>天</template>
+                    </el-input>
+                </el-form-item>
+                <el-form-item label="一阶段金额">
+                    <el-input
+                        v-model="formData.money"
+                        clearable
+                        placeholder="请输入金额"
+                        type="number"
+                    >
+                        <template #append>元</template>
+                    </el-input>
+                </el-form-item>
+                <el-form-item label="二阶段天数">
+                    <el-input
+                        v-model="formData.stage_day_two"
+                        clearable
+                        placeholder="请输入天数"
+                        type="number"
+                    >
+                        <template #append>天</template>
+                    </el-input>
+                </el-form-item>
 
-        <el-form-item label="二阶段金额">
-          <el-input
-            v-model="formData.money_two"
-            clearable
-            placeholder="请输入金额"
-            type="number"
-          >
-            <template #append>元</template>
-          </el-input>
-        </el-form-item>
-        <el-form-item label="长期金额" v-if="+formData.types == 2">
-          <el-input
-            v-model="formData.money_three"
-            clearable
-            placeholder="请输入金额"
-            type="number"
-          >
-            <template #append>元</template>
-          </el-input>
-        </el-form-item>
-        <el-form-item label="任务类型" prop="type">
-          <el-select
-            v-model="formData.type"
-            clearable
-            placeholder="请输入任务类型"
-            @change="changeTaskType"
-          >
-            <el-option
-              v-for="item in datalist"
-              :key="item.label"
-              :value="item.id"
-              :label="item.name"
-            />
-          </el-select>
-        </el-form-item>
-        <el-form-item v-if="formData.type == 32" label="起点">
-          <el-input
-            placeholder="请点击上方地图选择地点"
-            readonly
-            :value="formData.extend[0]?.address"
-          />
-        </el-form-item>
-        <el-form-item v-if="formData.type == 32" label="中转点">
-          <el-input
-            placeholder="请点击上方地图选择地点"
-            readonly
-            :value="formData.extend[1]?.address"
-          />
-        </el-form-item>
-        <el-form-item v-if="formData.type == 32" label="终点">
-          <el-input
-            placeholder="请点击上方地图选择地点"
-            readonly
-            :value="formData.extend[2]?.address"
-          />
-        </el-form-item>
-        <el-form-item label="状态" prop="status">
-          <el-radio-group v-model="formData.status">
-            <el-radio :label="1">显示</el-radio>
-            <el-radio :label="0">隐藏</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="任务描述" prop="content">
-          <el-input
-            v-model="formData.content"
-            clearable
-            placeholder="请输入任务描述"
-          />
-        </el-form-item>
-      </el-form>
-      <taskMap
-        v-if="mapShow"
-        ref="mapRef"
-        @success="setMap"
-        @close="mapShow = false"
-      ></taskMap>
-    </popup>
-  </div>
+                <el-form-item label="二阶段金额">
+                    <el-input
+                        v-model="formData.money_two"
+                        clearable
+                        placeholder="请输入金额"
+                        type="number"
+                    >
+                        <template #append>元</template>
+                    </el-input>
+                </el-form-item>
+                <el-form-item label="长期金额" v-if="+formData.types == 2">
+                    <el-input
+                        v-model="formData.money_three"
+                        clearable
+                        placeholder="请输入金额"
+                        type="number"
+                    >
+                        <template #append>元</template>
+                    </el-input>
+                </el-form-item>
+                <el-form-item label="任务类型" prop="type">
+                    <el-select
+                        v-model="formData.type"
+                        clearable
+                        placeholder="请输入任务类型"
+                        @change="changeTaskType"
+                    >
+                        <el-option
+                            v-for="item in datalist"
+                            :key="item.label"
+                            :value="item.id"
+                            :label="item.name"
+                        />
+                    </el-select>
+                </el-form-item>
+                <el-form-item v-if="formData.type == 32" label="起点">
+                    <el-input
+                        placeholder="请点击上方地图选择地点"
+                        readonly
+                        :value="formData.extend[0]?.address"
+                    />
+                </el-form-item>
+                <el-form-item v-if="formData.type == 32" label="中转点">
+                    <el-input
+                        placeholder="请点击上方地图选择地点"
+                        readonly
+                        :value="formData.extend[1]?.address"
+                    />
+                </el-form-item>
+                <el-form-item v-if="formData.type == 32" label="终点">
+                    <el-input
+                        placeholder="请点击上方地图选择地点"
+                        readonly
+                        :value="formData.extend[2]?.address"
+                    />
+                </el-form-item>
+                <el-form-item label="状态" prop="status">
+                    <el-radio-group v-model="formData.status">
+                        <el-radio :label="1">显示</el-radio>
+                        <el-radio :label="0">隐藏</el-radio>
+                    </el-radio-group>
+                </el-form-item>
+                <el-form-item label="任务描述" prop="content">
+                    <el-input v-model="formData.content" clearable placeholder="请输入任务描述" />
+                </el-form-item>
+            </el-form>
+            <taskMap
+                v-if="mapShow"
+                ref="mapRef"
+                @success="setMap"
+                @close="mapShow = false"
+            ></taskMap>
+        </popup>
+    </div>
 </template>
 
 <script lang="ts" setup name="taskTemplateEdit">
-import type { FormInstance } from "element-plus";
-import Popup from "@/components/popup/index.vue";
-import {
-  apiTaskTemplateAdd,
-  apiTaskTemplateEdit,
-  apiTaskTemplateDetail,
-} from "@/api/task_template";
-import { timeFormat } from "@/utils/util";
-import type { PropType } from "vue";
-import { dictDataLists } from "@/api/setting/dict";
-import taskMap from "./map.vue";
+import type { FormInstance } from 'element-plus'
+import Popup from '@/components/popup/index.vue'
+import { apiTaskTemplateAdd, apiTaskTemplateEdit, apiTaskTemplateDetail } from '@/api/task_template'
+import { timeFormat } from '@/utils/util'
+import type { PropType } from 'vue'
+import { dictDataLists } from '@/api/setting/dict'
+import taskMap from './map.vue'
 defineProps({
-  dictData: {
-    type: Object as PropType<Record<string, any[]>>,
-    default: () => ({}),
-  },
-});
-const emit = defineEmits(["success", "close"]);
-const formRef = shallowRef<FormInstance>();
-const popupRef = shallowRef<InstanceType<typeof Popup>>();
-const mode = ref("add");
-const datalist = ref([]);
-
+    dictData: {
+        type: Object as PropType<Record<string, any[]>>,
+        default: () => ({})
+    }
+})
+const emit = defineEmits(['success', 'close'])
+const formRef = shallowRef<FormInstance>()
+const popupRef = shallowRef<InstanceType<typeof Popup>>()
+const mode = ref('add')
+const datalist = ref([])
+const route = useRoute()
 // 弹窗标题
 const popupTitle = computed(() => {
-  return mode.value == "edit" ? "编辑任务模板" : "新增任务模板";
-});
+    return mode.value == 'edit' ? '编辑任务模板' : '新增任务模板'
+})
 
 // 表单数据
 const formData = reactive({
-  id: "",
-  company_id: "",
-  title: "",
-  admin_id: "",
-  type: "",
-  status: "",
-  content: "",
-  stage_day_one: 0,
-  money: 0, // 一阶段金额
-  stage_day_two: 0,
-  money_two: 0, // 二阶段金额
-  money_three: 0, // 长期金额
-  types: "", //阶段类型
-  extend: {},
-});
-
+    id: '',
+    company_id: '',
+    title: '',
+    admin_id: '',
+    type: '',
+    status: '',
+    content: '',
+    stage_day_one: 0,
+    money: 0, // 一阶段金额
+    stage_day_two: 0,
+    money_two: 0, // 二阶段金额
+    money_three: 0, // 长期金额
+    types: '', //阶段类型
+    extend: {},
+    task_scheduling: 0
+})
+if (route.query.id) {
+    formData.task_scheduling = route.query.id
+}
 //任务类型接口
 dictDataLists({ type_id: 10 }).then((res) => {
-  datalist.value = res.lists;
-});
+    datalist.value = res.lists
+})
 
 // 表单验证
 const formRules = reactive<any>({
-  title: [
-    {
-      required: true,
-      message: "请输入任务名称",
-      trigger: ["blur"],
-    },
-  ],
-  admin_id: [
-    {
-      required: true,
-      message: "请输入创建人",
-      trigger: ["blur"],
-    },
-  ],
-  type: [
-    {
-      required: true,
-      message: "请输入任务类型",
-      trigger: ["blur"],
-    },
-  ],
-  status: [
-    {
-      required: true,
-      message: "请选择状态",
-      trigger: ["blur"],
-    },
-  ],
-});
+    title: [
+        {
+            required: true,
+            message: '请输入任务名称',
+            trigger: ['blur']
+        }
+    ],
+    admin_id: [
+        {
+            required: true,
+            message: '请输入创建人',
+            trigger: ['blur']
+        }
+    ],
+    type: [
+        {
+            required: true,
+            message: '请输入任务类型',
+            trigger: ['blur']
+        }
+    ],
+    status: [
+        {
+            required: true,
+            message: '请选择状态',
+            trigger: ['blur']
+        }
+    ]
+})
 
 // 获取详情
 const setFormData = async (data: Record<any, any>) => {
-  for (const key in formData) {
-    if (data[key] != null && data[key] != undefined) {
-      //@ts-ignore
-      formData[key] = data[key];
+    for (const key in formData) {
+        if (data[key] != null && data[key] != undefined) {
+            //@ts-ignore
+            formData[key] = data[key]
+        }
     }
-  }
-};
+}
 
 const getDetail = async (row: Record<string, any>) => {
-  const data = await apiTaskTemplateDetail({
-    id: row.id,
-  });
-  setFormData(data);
-};
+    const data = await apiTaskTemplateDetail({
+        id: row.id
+    })
+    setFormData(data)
+}
 
 // 地图控件
-const mapShow = ref(false);
-const mapRef = shallowRef<InstanceType<typeof taskMap>>();
+const mapShow = ref(false)
+const mapRef = shallowRef<InstanceType<typeof taskMap>>()
 
 // 选择任务类型
 const changeTaskType = async (e: any) => {
-  if (e == 32) {
-    mapShow.value = true; //为三轮车时
-    await nextTick();
-    console.log(mapRef.value);
-    mapRef.value?.open();
-  }
-};
+    if (e == 32) {
+        mapShow.value = true //为三轮车时
+        await nextTick()
+        console.log(mapRef.value)
+        mapRef.value?.open()
+    }
+}
 
 const setMap = (e: any) => {
-  formData.extend = e;
-  console.log("选择了地区", formData.extend);
-};
+    formData.extend = e
+    console.log('选择了地区', formData.extend)
+}
 
 // 提交按钮
 const handleSubmit = async () => {
-  await formRef.value?.validate();
-  if (formData.extend.length < 3) return ElMessage.error("请先选择三个地点");
-  const data = { ...formData };
-  mode.value == "edit"
-    ? await apiTaskTemplateEdit(data)
-    : await apiTaskTemplateAdd(data);
-  popupRef.value?.close();
-  emit("success");
-};
+    await formRef.value?.validate()
+    if (formData.extend.length < 3) return ElMessage.error('请先选择三个地点')
+    const data = { ...formData }
+    mode.value == 'edit' ? await apiTaskTemplateEdit(data) : await apiTaskTemplateAdd(data)
+    popupRef.value?.close()
+    emit('success')
+}
 
 //打开弹窗
-const open = (type = "add") => {
-  mode.value = type;
-  popupRef.value?.open();
-};
+const open = (type = 'add') => {
+    mode.value = type
+    popupRef.value?.open()
+}
 
 // 关闭回调
 const handleClose = () => {
-  emit("close");
-};
+    emit('close')
+}
 
 defineExpose({
-  open,
-  setFormData,
-  getDetail,
-});
+    open,
+    setFormData,
+    getDetail
+})
 </script>

From 9e0a4daf8874d5706aa611aee632d5bc8f6ba878 Mon Sep 17 00:00:00 2001
From: mkm <727897186@qq.com>
Date: Fri, 18 Aug 2023 14:21:54 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/views/task_template/edit.vue | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/views/task_template/edit.vue b/src/views/task_template/edit.vue
index 10b2bea..75a3e5c 100644
--- a/src/views/task_template/edit.vue
+++ b/src/views/task_template/edit.vue
@@ -156,6 +156,7 @@ const popupTitle = computed(() => {
 // 表单数据
 const formData = reactive({
     id: '',
+    task_scheduling: 0,
     company_id: '',
     title: '',
     admin_id: '',
@@ -174,7 +175,9 @@ const formData = reactive({
         terminus: {} //终点
     }
 })
-
+if (route.query.id) {
+    formData.task_scheduling = route.query.id
+}
 //任务类型接口
 dictDataLists({ type_id: 10 }).then((res) => {
     datalist.value = res.lists