|
@@ -0,0 +1,129 @@
|
|
|
+<template>
|
|
|
+ <!-- 复制到 -->
|
|
|
+ <n-button @click="showImportModal">复制到</n-button>
|
|
|
+ <n-modal style="width: 40%" v-model:show="showModal" title="复制到:" :mask-closable="false" :show-icon="false" preset="dialog">
|
|
|
+ <n-form ref="formRef" :model="model" :rules="rules" label-placement="left" label-width="80">
|
|
|
+ <n-form-item label="开始时间">
|
|
|
+ <n-date-picker v-model:value="model.StartTime" format="yyyy-MM-dd HH:mm" disabled type="datetime" style="width: 100%;" />
|
|
|
+ </n-form-item>
|
|
|
+ <n-form-item label="结束时间">
|
|
|
+ <n-date-picker v-model:value="model.EndTime" format="yyyy-MM-dd HH:mm" disabled type="datetime" style="width: 100%;" />
|
|
|
+ </n-form-item>
|
|
|
+ <n-form-item label="复制到" path="CopyTime">
|
|
|
+ <n-date-picker v-model:value="model.CopyTime" format="yyyy-MM-dd HH:mm" type="datetime" style="width: 100%;" />
|
|
|
+ </n-form-item>
|
|
|
+ <div style="display: flex; justify-content: flex-end">
|
|
|
+ <n-button @click="showModal = false" style="margin-right: 10px;">取消</n-button>
|
|
|
+ <n-button type="primary" @click="handleValidateButtonClick">立即提交</n-button>
|
|
|
+ </div>
|
|
|
+ </n-form>
|
|
|
+ </n-modal>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+import {TaskCopy } from '@/api';
|
|
|
+
|
|
|
+import { reactive, ref, watch } from 'vue'
|
|
|
+import { useMessage } from 'naive-ui';
|
|
|
+import {TimeDate} from '@/plugin/timeFun.js'
|
|
|
+const message = useMessage();
|
|
|
+
|
|
|
+const props = defineProps({
|
|
|
+ queryObj: {
|
|
|
+ type: Object,
|
|
|
+ default: () => ({}),
|
|
|
+ },
|
|
|
+ checkData:{
|
|
|
+ type:Array,
|
|
|
+ default: () => ([])
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+
|
|
|
+const data = reactive({
|
|
|
+ T_saveT: 60,
|
|
|
+ T_task_id: '',
|
|
|
+ SN_List: ''
|
|
|
+})
|
|
|
+const model = reactive({
|
|
|
+ StartTime:null,
|
|
|
+ EndTime:null,
|
|
|
+ CopyTime: null,
|
|
|
+})
|
|
|
+
|
|
|
+// watch(()=>,(newValue)=>{
|
|
|
+// console.log('时间变化',)
|
|
|
+// })
|
|
|
+
|
|
|
+const rules = reactive({
|
|
|
+ CopyTime: {
|
|
|
+ type: "number",
|
|
|
+ required: true,
|
|
|
+ trigger: ["blur", "change"],
|
|
|
+ message: "请选择结束时间"
|
|
|
+ },
|
|
|
+})
|
|
|
+
|
|
|
+const showModal = ref(false)
|
|
|
+const showImportModal = () => {
|
|
|
+ Object.keys(model).forEach(item=>{
|
|
|
+ console.log(item)
|
|
|
+ model[item] = null
|
|
|
+ })
|
|
|
+ if(props.checkData==null){
|
|
|
+ message.error('请选择需要复制的设备')
|
|
|
+ return
|
|
|
+ }else if(props.queryObj.Time_start=='' && props.queryObj.Time_end==''){
|
|
|
+ message.error('请选择复制时间')
|
|
|
+ return
|
|
|
+ }else{
|
|
|
+ data.T_task_id = props.queryObj.T_task_id
|
|
|
+ model.StartTime = new Date(props.queryObj.Time_start).getTime()
|
|
|
+ model.EndTime = new Date(props.queryObj.Time_end).getTime()
|
|
|
+ console.log(model,props.queryObj,props.checkData)
|
|
|
+ showModal.value = true
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+const formRef = ref(null);
|
|
|
+
|
|
|
+
|
|
|
+//提交
|
|
|
+const handleValidateButtonClick = ()=>{
|
|
|
+ formRef.value?.validate((errors) => {
|
|
|
+ if (!errors) {
|
|
|
+ TaskCopyApi()
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+const TaskCopyApi = async()=>{
|
|
|
+ let resIt = await dataFun()
|
|
|
+ TaskCopy(resIt).then(res=>{
|
|
|
+ if(res.data.Code==200){
|
|
|
+ message.success(res.data.Msg)
|
|
|
+ showModal.value = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+const dataFun = ()=>{
|
|
|
+ return new Promise(resolve=>{
|
|
|
+ let models = {...model}
|
|
|
+ let snList = [...props.checkData]
|
|
|
+ //处理时间戳转时间格式
|
|
|
+ Object.keys(models).forEach(item=>{
|
|
|
+ models[item] = TimeDate(models[item])+':00'
|
|
|
+ })
|
|
|
+
|
|
|
+ //处理sn List
|
|
|
+ const arr1 = snList.map(item => item.T_sn + ',' +item.T_id)
|
|
|
+ data.SN_List = arr1.join('|')+'|'
|
|
|
+ console.log(data,models)
|
|
|
+ resolve({
|
|
|
+ ...data,...models
|
|
|
+ })
|
|
|
+ })
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped></style>
|