页面xiugai

This commit is contained in:
zmj 2023-12-23 18:04:45 +08:00
parent e67c693c01
commit 408ff1c8b0
9 changed files with 3481 additions and 3421 deletions

View File

@ -1,8 +1,8 @@
NODE_ENV = 'development' NODE_ENV = 'development'
# VITE_APP_BASE_URL = 'http://192.168.1.162:8000' VITE_APP_BASE_URL = 'http://192.168.1.22:8000'
# #
VITE_APP_BASE_URL = 'https://ceshi-worker-task.lihaink.cn' # VITE_APP_BASE_URL = 'https://ceshi-worker-task.lihaink.cn'
# VITE_APP_BASE_URL = 'https://preview-worker-task.lihaink.cn' # VITE_APP_BASE_URL = 'https://preview-worker-task.lihaink.cn'

99
package-lock.json generated
View File

@ -17,7 +17,7 @@
"axios": "^0.27.2", "axios": "^0.27.2",
"css-color-function": "^1.3.3", "css-color-function": "^1.3.3",
"echarts": "^5.3.3", "echarts": "^5.3.3",
"element-plus": "^2.2.9", "element-plus": "^2.4.4",
"highlight.js": "^11.6.0", "highlight.js": "^11.6.0",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinia": "^2.0.14", "pinia": "^2.0.14",
@ -651,9 +651,9 @@
} }
}, },
"node_modules/@element-plus/icons-vue": { "node_modules/@element-plus/icons-vue": {
"version": "2.0.6", "version": "2.3.1",
"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.0.6.tgz", "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
"integrity": "sha512-lPpG8hYkjL/Z97DH5Ei6w6o22Z4YdNglWCNYOPcB33JCF2A4wye6HFgSI7hEt9zdLyxlSpiqtgf9XcYU+m5mew==", "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
"peerDependencies": { "peerDependencies": {
"vue": "^3.2.0" "vue": "^3.2.0"
} }
@ -770,18 +770,27 @@
"dev": true "dev": true
}, },
"node_modules/@floating-ui/core": { "node_modules/@floating-ui/core": {
"version": "0.7.3", "version": "1.5.2",
"resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-0.7.3.tgz", "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.5.2.tgz",
"integrity": "sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==" "integrity": "sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==",
"dependencies": {
"@floating-ui/utils": "^0.1.3"
}
}, },
"node_modules/@floating-ui/dom": { "node_modules/@floating-ui/dom": {
"version": "0.5.4", "version": "1.5.3",
"resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-0.5.4.tgz", "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.5.3.tgz",
"integrity": "sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==", "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==",
"dependencies": { "dependencies": {
"@floating-ui/core": "^0.7.3" "@floating-ui/core": "^1.4.2",
"@floating-ui/utils": "^0.1.3"
} }
}, },
"node_modules/@floating-ui/utils": {
"version": "0.1.6",
"resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.1.6.tgz",
"integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A=="
},
"node_modules/@highlightjs/vue-plugin": { "node_modules/@highlightjs/vue-plugin": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmmirror.com/@highlightjs/vue-plugin/-/vue-plugin-2.1.0.tgz", "resolved": "https://registry.npmmirror.com/@highlightjs/vue-plugin/-/vue-plugin-2.1.0.tgz",
@ -1032,9 +1041,9 @@
} }
}, },
"node_modules/@types/web-bluetooth": { "node_modules/@types/web-bluetooth": {
"version": "0.0.14", "version": "0.0.16",
"resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.14.tgz", "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
"integrity": "sha512-5d2RhCard1nQUC3aHcq/gHzWYO6K0WJmAbjO7mQJgCQKtZpgXxv1rOM6O/dBDhDYYVutk1sciOgNSe+5YyfM8A==" "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
}, },
"node_modules/@typescript-eslint/eslint-plugin": { "node_modules/@typescript-eslint/eslint-plugin": {
"version": "5.62.0", "version": "5.62.0",
@ -1735,51 +1744,27 @@
} }
}, },
"node_modules/@vueuse/core": { "node_modules/@vueuse/core": {
"version": "8.9.4", "version": "9.13.0",
"resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-8.9.4.tgz", "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz",
"integrity": "sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==", "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
"dependencies": { "dependencies": {
"@types/web-bluetooth": "^0.0.14", "@types/web-bluetooth": "^0.0.16",
"@vueuse/metadata": "8.9.4", "@vueuse/metadata": "9.13.0",
"@vueuse/shared": "8.9.4", "@vueuse/shared": "9.13.0",
"vue-demi": "*" "vue-demi": "*"
},
"peerDependencies": {
"@vue/composition-api": "^1.1.0",
"vue": "^2.6.0 || ^3.2.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
},
"vue": {
"optional": true
}
} }
}, },
"node_modules/@vueuse/metadata": { "node_modules/@vueuse/metadata": {
"version": "8.9.4", "version": "9.13.0",
"resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-8.9.4.tgz", "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz",
"integrity": "sha512-IwSfzH80bnJMzqhaapqJl9JRIiyQU0zsRGEgnxN6jhq7992cPUJIRfV+JHRIZXjYqbwt07E1gTEp0R0zPJ1aqw==" "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ=="
}, },
"node_modules/@vueuse/shared": { "node_modules/@vueuse/shared": {
"version": "8.9.4", "version": "9.13.0",
"resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-8.9.4.tgz", "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz",
"integrity": "sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==", "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
"dependencies": { "dependencies": {
"vue-demi": "*" "vue-demi": "*"
},
"peerDependencies": {
"@vue/composition-api": "^1.1.0",
"vue": "^2.6.0 || ^3.2.0"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
},
"vue": {
"optional": true
}
} }
}, },
"node_modules/@wangeditor/basic-modules": { "node_modules/@wangeditor/basic-modules": {
@ -2950,17 +2935,17 @@
"dev": true "dev": true
}, },
"node_modules/element-plus": { "node_modules/element-plus": {
"version": "2.2.9", "version": "2.4.4",
"resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.9.tgz", "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.4.4.tgz",
"integrity": "sha512-jYbL0JkCdv95rkT6trZJjCAizLPySa0qcd2cgq+57SKQnCZAcNDDq4GbTuFRnNavdoeCJnuM3HIficTIUpsMOQ==", "integrity": "sha512-TlKubXJgxwhER0dw+8ULn9hr9kZjraV4R6Q/eidwWUwCKxwXYPBGmMKsZ/85tlxlhMYbcLZd/YZh6G3QkHX4fg==",
"dependencies": { "dependencies": {
"@ctrl/tinycolor": "^3.4.1", "@ctrl/tinycolor": "^3.4.1",
"@element-plus/icons-vue": "^2.0.6", "@element-plus/icons-vue": "^2.3.1",
"@floating-ui/dom": "^0.5.4", "@floating-ui/dom": "^1.0.1",
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
"@types/lodash": "^4.14.182", "@types/lodash": "^4.14.182",
"@types/lodash-es": "^4.17.6", "@types/lodash-es": "^4.17.6",
"@vueuse/core": "^8.7.5", "@vueuse/core": "^9.1.0",
"async-validator": "^4.2.5", "async-validator": "^4.2.5",
"dayjs": "^1.11.3", "dayjs": "^1.11.3",
"escape-html": "^1.0.3", "escape-html": "^1.0.3",
@ -2968,7 +2953,7 @@
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"lodash-unified": "^1.0.2", "lodash-unified": "^1.0.2",
"memoize-one": "^6.0.0", "memoize-one": "^6.0.0",
"normalize-wheel-es": "^1.1.2" "normalize-wheel-es": "^1.2.0"
}, },
"peerDependencies": { "peerDependencies": {
"vue": "^3.2.0" "vue": "^3.2.0"

View File

@ -20,7 +20,7 @@
"axios": "^0.27.2", "axios": "^0.27.2",
"css-color-function": "^1.3.3", "css-color-function": "^1.3.3",
"echarts": "^5.3.3", "echarts": "^5.3.3",
"element-plus": "^2.2.9", "element-plus": "^2.4.4",
"highlight.js": "^11.6.0", "highlight.js": "^11.6.0",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinia": "^2.0.14", "pinia": "^2.0.14",

View File

@ -35,5 +35,5 @@ export function getDayTaskList(params: any) {
//任务日程-详情 //任务日程-详情
export function taskProgress(params: any) { export function taskProgress(params: any) {
return request.get({ url: '/adminapi/task/taskProgress', params }) return request.get({ url: '/task/taskProgress', params })
} }

View File

@ -1,6 +1,10 @@
import { createApp } from 'vue' import { createApp } from 'vue'
import App from './App.vue' import App from './App.vue'
import install from './install' import install from './install'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import './permission' import './permission'
import './styles/index.scss' import './styles/index.scss'
import 'virtual:svg-icons-register' import 'virtual:svg-icons-register'
@ -12,6 +16,7 @@ window._AMapSecurityConfig = {
const app = createApp(App) const app = createApp(App)
app.use(install) app.use(install)
app.use(ElementPlus)
app.provide('base_url', configs.baseUrl+configs.urlPrefix); app.provide('base_url', configs.baseUrl+configs.urlPrefix);
app.mount('#app') app.mount('#app')
app.config.warnHandler = () => null app.config.warnHandler = () => null

View File

@ -1,46 +1,45 @@
<template> <template>
<el-dialog v-model="dialogVisible" title="任务详情" width="30%"> <el-dialog v-model="dialogVisible" title="任务详情" width="30%">
<!-- <span>This is a message</span> --> <!-- <span>This is a message</span> -->
<el-card class="box-card"> <el-card class="box-card" v-loading="loading">
<template #header> <template #header>
<div class="card-header"> <div class="card-header">
<span class="tit">任务名称</span> <span class="tit">任务名称</span>
<span>干到公司倒闭</span> <span>{{ taskDeatil?.detail?.title }}</span>
</div> </div>
</template> </template>
<div style="margin-top: 1vh;display: flex;" class="tit">
<div v-if="taskDeatil?.detail?.task_type_value == 'town_task_type_5'"
<div> <span class="tit">判定条件</span> 飞过的痕迹的咖啡馆很快就会大幅回升的科技孵化的身份可视对讲回复低功耗的付款就更好的付款计划大幅回升的开发</div> style="display: flex; justify-content:space-between;width: 100%; ">
<div style="margin-top: 1vh;" class="tit">任务进度
<el-progress :text-inside="true" color="#67C23A" :stroke-width="20" :percentage="70" />
</div>
<!-- <div v-for="o in 4" :key="o" class="text item">{{ 'List item ' + o }}</div>
<template #footer>Footer content</template> -->
</el-card>
<div> <div>
交易金额剩余池 {{ taskDeatil?.detail?.progress?.done }}
</div> </div>
<div>
目标完成金额 {{ taskDeatil?.detail?.progress?.total }}
</div>
</div>
<div v-else>
任务进度 {{ taskDeatil?.detail?.progress?.done }} / {{ taskDeatil?.detail?.progress?.total }}
</div>
</div>
<div style="margin-top: 1vh;">
<div class="tit"> 完成详情 </div>
<div class='task-card' v-for="(item, index) in taskDeatil?.detail?.done_list">
大师傅似的
</div>
</div>
</el-card>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="dialogVisible = false">取消</el-button> <el-button @click="dialogVisible = false">取消</el-button>
<el-button type="primary" @click="dialogVisible = false">
<!-- 进行中的任务可以结算 -->
<el-button type="primary" @click="settlementFn" v-if="row?.task.status == 2">
结算 结算
</el-button> </el-button>
<!-- <el-button type="primary" @click="dialogVisible = false"> <el-button type="primary" @click="dialogVisible = false" v-else>
确定 确定
</el-button> --> </el-button>
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
@ -51,18 +50,46 @@ import { ref } from 'vue'
import { taskProgress } from "@/api/task" import { taskProgress } from "@/api/task"
const dialogVisible = ref(false) const dialogVisible = ref(false)
const loading = ref(true)
const row = ref("")
const taskDeatil = ref('')
const openDeatl = (item: any) => {
console.log(item)
loading.value = true
const openDeatl = (row) => { row.value = item
console.log(row)
dialogVisible.value = true dialogVisible.value = true
taskProgress({ taskProgress({
task_id:4 task_id: item.task.id
}).then(res => { }).then(res => {
taskDeatil.value = res
loading.value = false
console.log(res) console.log(res)
}) })
}
//
const settlementFn = () => {
dialogVisible.value = false
console.log(row.value.task.id)
} }
defineExpose({ defineExpose({
@ -98,5 +125,16 @@ defineExpose({
.tit { .tit {
font-weight: bold; font-weight: bold;
} }
.task-card {
width: 100%;
height: 100px;
background-color: red;
margin-bottom: 10px;
border-radius: 10px;
}
</style> </style>

View File

@ -42,8 +42,11 @@
</div>--> </div>-->
<el-calendar v-model="value" @click="dateClick"> <el-calendar v-model="value" @click="dateClick">
<template slot="dateCell" slot-scope="{ date, data }"> <template #date-cell="{ data }">
{{ data.day.split('-').slice(1).join('-') }}
<p style="color: #4A5DFF; text-align: center;margin-top: 4vh; ">
查看任务 查看任务
</p>
</template> </template>
</el-calendar> </el-calendar>
@ -52,8 +55,7 @@
<!-- <EditTowPopup ref="editTowRef" :task="task" :type="popupType" :company_id="company_id" @success="loadTask" <!-- <EditTowPopup ref="editTowRef" :task="task" :type="popupType" :company_id="company_id" @success="loadTask"
@close="showEditTow = false" /> --> @close="showEditTow = false" /> -->
<popTaskList ref="popTaskTable" @openDeatl="openTask" <popTaskList ref="popTaskTable" @openDeatl="openTask" @close="showEditTow = false" />
@close="showEditTow = false" />
<popTaskDetail ref="popDeatil" /> <popTaskDetail ref="popDeatil" />
</div> </div>

View File

@ -13,7 +13,7 @@
</el-form-item> </el-form-item>
<el-form-item label="任务类型" prop="type"> <el-form-item label="任务类型" prop="type">
<el-select v-model="formData.type" clearable placeholder="请输入任务类型" @change="changeTaskType" style="width:100%"> <el-select v-model="formData.type" clearable placeholder="请输入任务类型" @change="changeTaskType" style="width:100%">
<el-option v-for="(item, index) in roleTypeList" :key="item" :value="index" :label="item" /> <el-option v-for="(item, index) in roleTypeList" :key="item" :value="item.id" :label="item.name" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="任务下发时间" prop="cron_time"> <el-form-item label="任务下发时间" prop="cron_time">
@ -192,11 +192,13 @@ if (route.query.company_type == 18) {
} }
const roleTypeList = ref('')
// //
// apiTaskTypeList({ type_value: type_value}).then((res) => { apiTaskTypeList({ type_value: type_value}).then((res) => {
// datalist.value = res.lists; datalist.value = res.lists;
// }); roleTypeList.value=res.lists
});
// //
const formRules = reactive<any>({ const formRules = reactive<any>({
@ -309,19 +311,21 @@ const changeTaskTypeFn = () => {
} }
}) })
setFormData(taskTempList[i]) setFormData(taskTempList[i])
formData.type = String(formData.type) formData.type = Number(formData.type)
console.log(formData) console.log(formData)
// console.log(taskTempId.value) // console.log(taskTempId.value)
} }
// //
const roleTypeList = reactive({}) // apiCreatetaskTypeInfo(
apiCreatetaskTypeInfo().then(res => {
// console.log(res)
for (let key in res) { // ).then(res => {
roleTypeList[key] = res[key] // // console.log(res)
} // for (let key in res) {
}) // roleTypeList[key] = res[key]
// }
// })
// //

6642
yarn.lock

File diff suppressed because it is too large Load Diff