修复bug

This commit is contained in:
weipengfei 2023-08-15 12:34:16 +08:00
parent 92f508ca77
commit 6f68e558cf
4 changed files with 211 additions and 175 deletions

View File

@ -366,9 +366,9 @@
</el-form-item> --> </el-form-item> -->
</el-form> </el-form>
</el-card> </el-card>
<el-card v-if="isshow"> <el-card>
<el-form label> <el-form label-width="100px">
<el-form-item label="合同上传" label-width="100px" prop="field127"> <el-form-item v-if="isshow" label="合同上传" prop="field127">
<el-upload <el-upload
:headers="{ Token: userStore.token }" :headers="{ Token: userStore.token }"
v-model:file-list="fileList" v-model:file-list="fileList"
@ -377,16 +377,30 @@
:on-success="handleAvatarSuccess_four" :on-success="handleAvatarSuccess_four"
multiple multiple
:limit="1" :limit="1"
v-if="+formData?.check_status < 3"
> >
<el-button type="primary">上传</el-button> <el-button type="primary">{{
formData.file ? "重新上传" : "上传"
}}</el-button>
</el-upload> </el-upload>
<a
v-if="formData.file"
style="margin-left: 10px; color: #4a5dff; align-self: flex-start"
:href="formData.file"
target="_blank"
>合同已上传,点击查看</a
>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item v-if="isshow">
<el-button <el-button type="primary" @click="submitContract">确定</el-button>
style="margin-left: 100px" </el-form-item>
type="primary" <el-form-item v-else-if="formData.file">
@click="submitContract" <a
>确定</el-button v-if="formData.file"
style="margin-left: 10px; color: #4a5dff"
:href="formData.file"
target="_blank"
>查看合同</a
> >
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -418,6 +432,7 @@ const formData = reactive({
contract_no: "", contract_no: "",
file: "", file: "",
status: "", status: "",
check_status: "",
party_a: "", party_a: "",
party_a_name: "", party_a_name: "",
party_b: "", party_b: "",
@ -445,6 +460,9 @@ const userStore = useUserStore();
async function render() { async function render() {
// //
const res = await apiContractDetail({ id: query.id }); const res = await apiContractDetail({ id: query.id });
Object.keys(formData).forEach((key: any) => {
if (res[key] != null && res[key] != undefined) formData[key] = res[key];
});
compeny.value = res.party_a_info; compeny.value = res.party_a_info;
basicdata.value = res; basicdata.value = res;
if (basicdata.value.status == 1) { if (basicdata.value.status == 1) {
@ -461,7 +479,6 @@ async function render() {
compenyBimg.value = res.party_b_info.qualification; compenyBimg.value = res.party_b_info.qualification;
} catch (error) {} } catch (error) {}
compenyimg.value = res.party_a_info.qualification; compenyimg.value = res.party_a_info.qualification;
console.log(compenyimg.value);
if (res.type == 2) { if (res.type == 2) {
show.value = false; show.value = false;
res.party_b_info.sex == 1 res.party_b_info.sex == 1

View File

@ -8,6 +8,7 @@
:item-content-height="themeOptions.height" :item-content-height="themeOptions.height"
:item-border-height="themeOptions.border" :item-border-height="themeOptions.border"
@click-item="clickItems" @click-item="clickItems"
@click-date="clickDate"
:items="taskList" :items="taskList"
:current-period-label="'今日'" :current-period-label="'今日'"
> >
@ -63,6 +64,10 @@ const clickItems = (e) => {
emits("clickItem", e.id); emits("clickItem", e.id);
}; };
const clickDate = (e) => {
console.log(e);
};
const themeOptions = computed((): any => { const themeOptions = computed((): any => {
return { return {
top: "2.6em", top: "2.6em",
@ -105,6 +110,11 @@ const themeOptions = computed((): any => {
color: #fff; color: #fff;
cursor: pointer; cursor: pointer;
} }
/* #example-simple .cv-day {
&:hover {
background-color: rgba($color: #000000, $alpha: 0.1);
}
} */
#example-simple .cv-item.custom-date-class-red { #example-simple .cv-item.custom-date-class-red {
background-color: #f66; background-color: #f66;

View File

@ -17,7 +17,7 @@
:model="formData" :model="formData"
label-width="120px" label-width="120px"
> >
<el-form-item v-if="formData.id" required label="任务ID" prop="id"> <el-form-item v-if="formData.id" label="任务ID" prop="id">
<el-input <el-input
:disabled="true" :disabled="true"
v-model="formData.id" v-model="formData.id"
@ -25,7 +25,7 @@
placeholder="请输入任务模板" placeholder="请输入任务模板"
/> />
</el-form-item> </el-form-item>
<el-form-item required label="任务日期" prop="datetime"> <el-form-item label="任务日期" prop="datetime">
<el-date-picker <el-date-picker
:disabled="isDisabled" :disabled="isDisabled"
v-model="formData.datetime" v-model="formData.datetime"
@ -37,7 +37,7 @@
@change="changeDateTime" @change="changeDateTime"
/> />
</el-form-item> </el-form-item>
<el-form-item required label="任务模板" prop="template_id"> <el-form-item label="任务模板" prop="template_id">
<el-input <el-input
:disabled="isDisabled" :disabled="isDisabled"
v-model="formData.template_name" v-model="formData.template_name"
@ -53,145 +53,154 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</popup> </popup>
<el-dialog v-model="isShow" title="选择任务" width="60%"> <el-dialog v-model="isShow" title="选择任务模板" width="60%">
<DialogIndex @customEvent="customEvent" /> <DialogIndex @customEvent="customEvent" />
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script lang="ts" setup name="taskEidt"> <script lang="ts" setup name="taskEidt">
import type { FormInstance, FormRules } from 'element-plus' import type { FormInstance, FormRules } from "element-plus";
import Popup from '@/components/popup/index.vue' import Popup from "@/components/popup/index.vue";
import { apiTaskAdd, apiTaskEdit, apiTaskDelete } from '@/api/task' import { apiTaskAdd, apiTaskEdit, apiTaskDelete } from "@/api/task";
import { reactive, onUpdated, type PropType } from 'vue' import { reactive, onUpdated, type PropType } from "vue";
import DialogIndex from '@/views/task_template/list_two.vue' import DialogIndex from "@/views/task_template/list_two.vue";
import { timeFormat } from '@/utils/util' import { timeFormat } from "@/utils/util";
import feedback from '@/utils/feedback' import feedback from "@/utils/feedback";
const route = useRoute() const route = useRoute();
const emit = defineEmits(['success', 'close']) const emit = defineEmits(["success", "close"]);
const popupRef = shallowRef<InstanceType<typeof Popup>>() const popupRef = shallowRef<InstanceType<typeof Popup>>();
const mode = ref('add') const mode = ref("add");
const detailsdt = ref({}) const detailsdt = ref({});
const isShow = ref(false) const isShow = ref(false);
const title = ref('创建日程安排') const title = ref("创建日程安排");
const changeDateTime = (e: any) => { const changeDateTime = (e: any) => {
formData.start_time = timeFormat(e[0]) formData.start_time = timeFormat(e[0]).split(" ")[0];
formData.end_time = timeFormat(e[1]) formData.end_time = timeFormat(e[1]).split(" ")[0];
} };
// //
const formData = reactive({ const formData = reactive({
id: '', id: "",
create_user_id: '', create_user_id: "",
status: '', status: "",
template_id: '', template_id: "",
scheduling_id: '', scheduling_id: "",
template_name: '', template_name: "",
start_time: '', start_time: "",
end_time: '', end_time: "",
datetime: '' datetime: "",
}) });
interface RuleForm { interface RuleForm {
datetime: Date | string datetime: Date | string;
template_id: string template_id: string;
} }
const rules = reactive<FormRules<RuleForm>>({ const rules = reactive<FormRules<RuleForm>>({
datetime: { required: true, message: '请选择时间范围', trigger: 'blur' }, datetime: { required: true, message: "请选择时间范围", trigger: "blur" },
template_id: { template_id: {
required: true, required: true,
message: '请选择任务模板', message: "请选择任务模板",
trigger: 'change' trigger: "change",
} },
}) });
function customEvent(data: any) { function customEvent(data: any) {
isShow.value = false isShow.value = false;
formData.template_id = data.id formData.template_id = data.id;
formData.template_name = data.title formData.template_name = data.title;
} }
const formRef = ref(null) const formRef = ref(null);
const props = defineProps({ const props = defineProps({
task: { task: {
type: Object, type: Object,
defualt: () => { defualt: () => {
null null;
} },
} },
}) });
const isDisabled = ref(false) const isDisabled = ref(false);
const updatedForm = async () => { const updatedForm = async (task: any = null) => {
if (mode.value == 'show') { try {
title.value = '查看日程安排' formRef.value.clearValidate && formRef.value?.clearValidate();
isDisabled.value = true } catch (error) {
console.log(error);
}
if (mode.value == "show") {
title.value = "查看日程安排";
isDisabled.value = true;
Object.keys(formData).forEach((key: any) => { Object.keys(formData).forEach((key: any) => {
if (props.task[key] != null && props.task[key] != undefined) if (task[key] != null && task[key] != undefined)
formData[key] = props.task[key] formData[key] = task[key];
}) });
formData.datetime = [formData.start_time.split(' ')[0], formData.end_time.split(' ')[0]] formData.datetime = [
formData.start_time.split(" ")[0],
formData.end_time.split(" ")[0],
];
} else { } else {
isDisabled.value = false isDisabled.value = false;
Object.keys(formData).forEach((key: any) => { Object.keys(formData).forEach((key: any) => {
formData[key] = '' formData[key] = "";
}) });
}
await nextTick()
formRef.value.resetFields()
} }
};
const clickUpdate = () => { const clickUpdate = () => {
mode.value = 'edit' mode.value = "edit";
isDisabled.value = false isDisabled.value = false;
} };
// //
const clickDelete = () => { const clickDelete = () => {
feedback.confirm('确定要删除吗?').then(async (e) => { feedback.confirm("确定要删除吗?").then(async (e) => {
if (e == 'confirm') { if (e == "confirm") {
await apiTaskDelete({ id: formData.id }) await apiTaskDelete({ id: formData.id });
popupRef.value?.close() popupRef.value?.close();
emit('success') emit("success");
}
})
} }
});
};
// //
const handleSubmit = () => { const handleSubmit = () => {
if (mode.value == 'show') return popupRef.value?.close() if (mode.value == "show") return popupRef.value?.close();
else else {
formRef.value.validate(async (e: boolean) => { formRef.value.validate(async (e: boolean) => {
if (e) { if (e) {
const data = { ...formData } const data = { ...formData };
if (route.query.id) { if (route.query.id) {
data.scheduling_id = route.query.id.toString() data.scheduling_id = route.query.id.toString();
} }
mode.value == 'edit' ? await apiTaskEdit(data) : await apiTaskAdd(data) data.start_time = data.start_time.split(" ")[0];
popupRef.value?.close() data.end_time = data.end_time.split(" ")[0];
emit('success') mode.value == "edit" ? await apiTaskEdit(data) : await apiTaskAdd(data);
popupRef.value?.close();
emit("success");
} }
}) });
} }
};
// //
const open = (type = 'add') => { const open = (type = "add") => {
mode.value = type mode.value = type;
popupRef.value?.open() popupRef.value?.open();
} };
// //
const handleClose = () => { const handleClose = () => {
emit('close') emit("close");
} };
defineExpose({ defineExpose({
open, open,
updatedForm updatedForm,
}) });
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.formdata { .formdata {

View File

@ -84,7 +84,7 @@ const popupType = ref("add");
const clickTask = (e: any) => { const clickTask = (e: any) => {
popupType.value = "show"; popupType.value = "show";
// task.value = e; // task.value = e;
task.value = taskList.value.find((item: any) => item.id == e); task.value = taskList.value.find((item: any) => item.id == e) || null;
handleSelect(); handleSelect();
}; };
@ -170,7 +170,7 @@ const handleSelect = async () => {
showEditTow.value = true; showEditTow.value = true;
await nextTick(); await nextTick();
editTowRef.value?.open("show"); editTowRef.value?.open("show");
editTowRef.value?.updatedForm(); editTowRef.value?.updatedForm(task.value);
}; };
// //