lion 2 years ago
parent 49be3d4b39
commit 4b5eda6876

@ -15,6 +15,8 @@
},
"dependencies": {
"@riophae/vue-treeselect": "^0.4.0",
"@smallwei/avue": "^2.10.17",
"avue-plugin-map": "^1.0.1",
"axios": "^0.26.1",
"core-js": "3.6.5",
"element-ui": "2.13.2",

@ -6,6 +6,13 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title>
<script>
window._AMapSecurityConfig = {
securityJsCode: 'dbc95be996393c8c69e3958bb945ea08',
}
</script>
<script type="text/javascript" src='https://webapi.amap.com/maps?v=1.4.11&key=53919608dd142b8d4498b43bfdef0792&plugin=AMap.PlaceSearch'></script>
<script src="https://webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>
</head>
<body>
<noscript>

@ -40,6 +40,9 @@ import moment from "moment"
Vue.prototype.$moment = moment;
Vue.prototype.base = base;
import Avue from '@smallwei/avue';
import '@smallwei/avue/lib/index.css';
Vue.use(Avue);
import LxHeader from "@/components/LxHeader/index"
Vue.component('lx-header',LxHeader)
import XyTable from "@/components/XyTable"

@ -18,7 +18,9 @@
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>地址
</div>
<div class="xy-table-item-content">
<el-input v-model="form.address" placeholder="请输入地址" clearable style="width: 300px;"></el-input>
<avue-input-map :params="mapparams" placeholder="请选择地图" v-model="mapform"></avue-input-map>
<!-- <el-input v-model="form.address" placeholder="请输入地址" clearable style="width: 300px;"></el-input> -->
</div>
</div>
</template>
@ -28,7 +30,7 @@
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>经度
</div>
<div class="xy-table-item-content">
<el-input v-model="form.lon" placeholder="请输入经度" clearable style="width: 300px;"></el-input>
<el-input class='maps' v-model="form.lon" disabled placeholder="请输入经度" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
@ -38,7 +40,7 @@
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>纬度
</div>
<div class="xy-table-item-content">
<el-input v-model="form.lat" placeholder="请输入地址" clearable style="width: 300px;"></el-input>
<el-input v-model="form.lat" disabled placeholder="请输入地址" clearable style="width: 300px;"></el-input>
</div>
</div>
</template>
@ -70,7 +72,10 @@
lat: '',
lon: ''
},
mapparams: {
zoom: 11,
},
mapform: [],
rules: {
name:[{
required:true,
@ -95,6 +100,7 @@
lat: res?.lat,
lon: res?.lon,
}
this.mapform = [res.lon, res.lat, res.address]
},
submit() {
if (this.type === 'add') {
@ -133,8 +139,14 @@
}
} else {
this.id = ''
this.mapform=[]
this.$refs['dialog'].reset()
}
},
mapform(newVal, oldVal) {
this.form.lon = newVal[0];
this.form.lat = newVal[1];
this.form.address = newVal[2];
}
}
@ -146,69 +158,9 @@
width: 160px;
}
.img__delete {
transform: scale(0.8, 0.8);
position: absolute;
top: 4px;
right: 4px;
}
::v-deep .avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
::v-deep .avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
::v-deep .el-upload--picture-card {
font-size: 28px;
color: #8c939d;
width: 80px !important;
height: 80px !important;
line-height: 80px !important;
text-align: center;
}
::v-deep .avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 80px !important;
height: 80px !important;
line-height: 80px !important;
text-align: center;
}
::v-deep .avatar {
width: 80px !important;
display: block;
border-radius: 6px;
}
::v-deep .xy-table-item-label {
width: 160px !important;
}
::v-deep .el-date-editor .el-range-separator {
width: auto !important;
}
::v-deep .el-input-number .el-input__inner {
text-align: left !important;
}
.searchCompanys {
display: flex;
justify-content: space-between;
margin-bottom: 16px;
.el-input {
width: 80%
}
}
::v-deep .el-textarea__inner{
width:300px;
height: 40px!important;
line-height: 30px;
}
</style>

@ -81,7 +81,7 @@
<template v-slot:tips>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>整改建议
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>整改建议
</div>
<div class="xy-table-item-content">
<el-input v-model="form.tips" :rows='5' type='textarea' placeholder="请输入整改建议" clearable
@ -153,21 +153,25 @@
},
rules: {
name: [{
mission_id: [{
required: true,
message: '请输入任务名称'
message: '请选择任务专题'
}],
start_date: [{
date: [{
required: true,
message: '请选择开始时间'
message: '请选择上报日期'
}],
end_date: [{
site_id: [{
required: true,
message: '请选择结束时间'
message: '请选择巡查地点'
}],
unit_type: [{
ask_id: [{
required: true,
message: '请选择任务类型'
message: '请选择问题类型'
}],
ask_introduce: [{
required: true,
message: '请输入问题描述'
}]
}
}

@ -1,6 +1,6 @@
<template>
<div>
<xy-dialog ref="dialog" :is-show.sync="isShow" type="form" :title="type === 'add' ? '发起任务' : '查看任务'" :form="form"
<xy-dialog ref="dialog" :is-show.sync="isShow" type="form" :title="type === 'add' ? '发起任务' : '编辑任务'" :form="form"
:rules="rules" @submit="submit">
<template v-slot:name>
<div class="xy-table-item">
@ -213,6 +213,7 @@
name:'提交文字与附件'
}],
form: {
type:'',
name: '',
unit_type: '',
start_date: '',
@ -224,7 +225,7 @@
accept_admin_ids:[],
end_type:'',
end_content:'',
type:1,
type:'',
},
rules: {
@ -249,6 +250,10 @@
},
created() {
this.uploadOther.token = getToken();
if(this.$route.path){
let path = this.$route.path.split("_")
this.form.type = path[1]
}
this.loadDeptOptions()
this.loadUser()
},
@ -324,6 +329,7 @@
async getDetail() {
const res = await get(this.id)
this.form = {
type:res?.type,
name: res?.name,
unit_type: res?.unit_type,
start_date: res?.start_date,
@ -335,7 +341,6 @@
accept_admin_ids:res?.accept_admin_ids,
end_type:res?.end_type,
end_content:res?.end_content,
type:1,
}
for(var f of res.files){
@ -415,6 +420,10 @@
</script>
<style scoped lang="scss">
::v-deep .type{
display: none;
}
.xy-table-item-label {
width: 160px;
}

@ -183,7 +183,7 @@
<!-- 提交整改 -->
<template v-slot:fix_status v-if="type=='reform'||type=='confirm'">
<template v-slot:fix_status v-if="type=='reform'||type=='confirm'||type=='leaderconfirm'">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>整改完成情况
@ -199,7 +199,7 @@
</div>
</div>
</template>
<template v-slot:fix_end_date v-if="type=='reform'||type=='confirm'">
<template v-slot:fix_end_date v-if="type=='reform'||type=='confirm'||type=='leaderconfirm'">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>整改结束时间
@ -214,7 +214,7 @@
</div>
</div>
</template>
<template v-slot:fix_introduce v-if="type=='reform'||type=='confirm'">
<template v-slot:fix_introduce v-if="type=='reform'||type=='confirm'||type=='leaderconfirm'">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;">*</span>整改说明
@ -228,7 +228,7 @@
</div>
</div>
</template>
<template v-slot:fix_file_ids v-if="type=='reform'||type=='confirm'">
<template v-slot:fix_file_ids v-if="type=='reform'||type=='confirm'||type=='leaderconfirm'">
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>整改附件

@ -1,7 +1,7 @@
<template>
<div style="padding: 0 20px">
<div ref="lxHeader">
<lx-header icon="md-apps" text="巡查上报" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<lx-header icon="md-apps" :text="my_name" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<slot>
<div style="display: flex;justify-content: flex-start;flex-wrap: wrap;">
<Input v-model="select.keyword" clearable style="width: 200px;margin-right: 10px;" placeholder="关键字搜索" />
@ -69,11 +69,14 @@
},
data(){
return{
my_name:'',
select:{
keyword:'',
page:1,
page_size:10,
status:'',
myself:0,
// myself_update:0
},
total:0,
statusList:[{
@ -215,6 +218,11 @@
}
},
created(){
if(this.$route.path){
let path = this.$route.path.split("_")
this.select.myself = path[1]
this.my_name = path[1]==1?'我的任务':'巡查上报'
}
this.getList()
},
methods: {

@ -1,7 +1,7 @@
<template>
<div style="padding: 0 20px">
<div ref="lxHeader">
<lx-header icon="md-apps" text="单位专项任务" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<lx-header icon="md-apps" :text="type_name" style="margin-bottom: 10px; border: 0px; margin-top: 15px">
<slot>
<div style="display: flex;justify-content: flex-start;flex-wrap: wrap;">
<Input v-model="select.keyword" style="width: 200px;margin-right: 10px;" placeholder="关键字搜索" />
@ -50,13 +50,27 @@
},
data(){
return{
typeName:[{
type:1,
name:'单位专项任务'
},{
type:2,
name:'文件学习培训'
},{
type:3,
name:'事件隐患任务'
},{
type:4,
name:'科室任务'
}],
type_name:'',
select:{
keyword:'',
page:1,
page_size:10,
myself:0,
myself_department:0,
type:1,
type:'',
unit_type:''
},
total:0,
@ -134,6 +148,15 @@
}
},
created(){
if(this.$route.path){
let path = this.$route.path.split("_")
this.select.type = path[1]
this.typeName.map(item=>{
if(item.type==this.select.type){
this.type_name = item.name
}
})
}
this.getList()
},
watch:{},

Loading…
Cancel
Save