flat: 合并

This commit is contained in:
Apcallover
2024-05-06 16:28:21 +08:00
parent f2f94d98c9
commit df75e81d36
11 changed files with 397 additions and 31 deletions

View File

@@ -44,5 +44,13 @@ export const getQueryQuestionnaireSurveyUserBySurveyId =
params params
}) })
} }
export const disposeQuestionnaireSurveyInfo =
(params) => {
return request({
url: '/api/jobslink-api/content/questionnaireSurveyInfo/dispose',
method: 'post',
data: params
})
}

View File

@@ -8,3 +8,11 @@ export const getList =
params params
}) })
} }
export const consultMailboxInfoUpdate =
(params) => {
return request({
url: '/api/jobslink-api/content/consultMailboxInfo/update',
method: 'PUT',
data: params
})
}

View File

@@ -18,3 +18,14 @@ export const getInfo =
params, params,
}) })
} }
export const updateSuperviseComplaintInfo =
(params) => {
return request({
url: '/api/jobslink-api/content/superviseComplaintInfo/update',
method: 'PUT',
data: params,
})
}

View File

@@ -52,3 +52,11 @@ export const publishEmploymentSurveyManage =
}) })
} }
export const disposeEmploymentSurveyManage =
(params) => {
return request({
url: '/api/jobslink-api/content/employmentSurveyManage/dispose',
method: 'post',
data: params,
})
}

View File

@@ -0,0 +1,126 @@
<template>
<div class="year-range-picker">
<el-date-picker
v-model="dateList[0]"
type="year"
placeholder="选择开始年"
:size="size"
class="year-picker"
format="yyyy"
:value-format="valueFormat"
:picker-options="startDatePicker"
>
</el-date-picker>
<span class="range-word"> </span>
<el-date-picker
v-model="dateList[1]"
type="year"
placeholder="选择结束年"
:size="size"
class="year-picker"
:value-format="valueFormat"
:picker-options="endDatePicker"
>
</el-date-picker>
</div>
</template>
<script>
export default {
name: "el-year-picker",
// 接收父组件传入的数据
props: {
value: {
// type: Array,
required: true,
},
size: {
type: String, default: 'mini'
},
valueFormat: {
type: String, default: 'yyyy'
},
},
data() {
return {
dateList: [],
startDatePicker: this.beginDate(),
endDatePicker: this.processDate(),
};
},
watch: {
value(v) {
this.dateList = v || []
},
dateList(v) {
this.$emit('input', v)
}
},
mounted() {
},
methods: {
// 选择年份范围选择时开始时间不能大于结束时间,结束时间不能小于开始时间
// 提出开始时间必须小于提出结束时间
beginDate() {
let self = this
return {
disabledDate(time) {
if (self.dateList[1] !== '') {
let fixedTime = new Date(time)
return fixedTime.getFullYear() > self.dateList[1]
}
}
}
},
// 提出结束时间必须大于提出开始时间
processDate() {
let self = this
return {
disabledDate(time) {
// let fixedTime = new Date(self.oldTime).getTime()
// return time.getTime() < fixedTime
let fixedTime = new Date(time)
return fixedTime.getFullYear() < self.dateList[0]
}
}
},
},
};
</script>
<style scoped>
.year-range-picker {
color: black;
text-align: center;
border: 1px solid #dcdfe6;
border-radius: 4px;
line-height: 30px;
overflow: hidden;
display: flex;
}
>>> .el-input__inner {
border: 0;
/*padding: 0;*/
line-height: 28px;
height: 28px;
margin: 0;
}
.range-word {
margin-left: 10px;
margin-right: 10px;
font-size: 12px;
}
.year-range-picker .year-picker {
max-width: 150px;
margin: 0;
}
</style>

View File

@@ -17,7 +17,14 @@
@refresh-change="refreshChange" @refresh-change="refreshChange"
@search-reset="searchReset" @search-reset="searchReset"
> >
<template slot-scope="{ row }" slot="menu">
<el-button
type="text"
size="small"
@click.stop="updateRow(row)"
><i class="el-icon-share"></i>处理
</el-button>
</template>
</avue-crud> </avue-crud>
</el-drawer> </el-drawer>
</template> </template>
@@ -25,6 +32,7 @@
<script> <script>
import { import {
getQueryQuestionnaireSurveyUserBySurveyId, getQueryQuestionnaireSurveyUserBySurveyId,
disposeQuestionnaireSurveyInfo
} from '@/api/help/applicationsRecord/applicationsRecord' } from '@/api/help/applicationsRecord/applicationsRecord'
const initPages = { const initPages = {
@@ -32,6 +40,18 @@ const initPages = {
currentPage: 1, currentPage: 1,
total: 100, total: 100,
} }
const classIsDeleted = {
0: '否',
1: '是',
}
const classStatus = {
0: '未处理',
1: '已处理',
2: '关闭'
}
const classEnumStatus = Object.keys(classStatus).map((item) => ({
label: classStatus[item], value: Number(item)
}))
export default { export default {
props: { props: {
visible: Boolean, visible: Boolean,
@@ -58,7 +78,6 @@ export default {
border: true, border: true,
columnBtn: false, columnBtn: false,
refreshBtn: false, refreshBtn: false,
menu: false,
tip: false, tip: false,
selection: true, selection: true,
searchMenuSpan: 6, searchMenuSpan: 6,
@@ -85,6 +104,17 @@ export default {
}, { }, {
label: '创建时间', label: '创建时间',
prop: 'createTime', prop: 'createTime',
}, {
label: "是否处理",
prop: "status",
type: "select",
dicData: classEnumStatus,
search: true,
},
{
label: "处置情况",
prop: "disposalSituation",
search: true,
}, },
] ]
} }
@@ -136,6 +166,37 @@ export default {
this.page.currentPage = 1 this.page.currentPage = 1
this.onLoad(); this.onLoad();
}, },
updateRow(row) {
const _this = this
let h = this.$createElement;
this.$prompt("回复处理", // "请核对信息后",
{
distinguishCancelAndClose: true,
confirmButtonText: "完 成",
cancelButtonText: "取 消",
center: true,
inputType: "textarea",
inputPlaceholder: "处理内容",
beforeClose: async function (action, instance, done) {
if (action === 'confirm') {
const disposalSituation = instance.inputValue
if (!disposalSituation) {
this.$message({type: "info", message: "请输入处理内容"});
} else {
let resData = await disposeQuestionnaireSurveyInfo({id: row.id, disposalSituation, status: 1})
if (resData.data.code === 200) {
this.$message({type: "success", message: "操作成功"});
done()
_this.onLoad();
}
}
} else {
done()
}
}
}
)
},
onLoad() { onLoad() {
if (!this.rowData) return if (!this.rowData) return
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {

View File

@@ -16,6 +16,14 @@
<!-- <template slot="menu" slot-scope="{row}">--> <!-- <template slot="menu" slot-scope="{row}">-->
<!-- <el-button size="small" type="text" @click="seeDetail(row)">查看</el-button>--> <!-- <el-button size="small" type="text" @click="seeDetail(row)">查看</el-button>-->
<!-- </template>--> <!-- </template>-->
<template slot-scope="{ row }" slot="menu">
<el-button
type="text"
size="small"
@click.stop="updateRow(row)"
><i class="el-icon-share"></i>处理
</el-button>
</template>
</avue-crud> </avue-crud>
<!-- 新增编辑 --> <!-- 新增编辑 -->
<!-- <el-drawer :title="drawerTitle" :visible.sync="viewDrawer" size="60%">--> <!-- <el-drawer :title="drawerTitle" :visible.sync="viewDrawer" size="60%">-->
@@ -39,7 +47,7 @@
<script> <script>
import {dateFormat} from '@/util/date' import {dateFormat} from '@/util/date'
import Tinymce from "@/components/Tinymce"; import Tinymce from "@/components/Tinymce";
import {getList} from '@/api/manage/mailbox' import {getList, consultMailboxInfoUpdate} from '@/api/manage/mailbox'
const classStatus = { const classStatus = {
0: '未处理', 0: '未处理',
@@ -181,6 +189,37 @@ export default {
}, },
methods: { methods: {
dateFormat, dateFormat,
updateRow(row) {
const _this = this
let h = this.$createElement;
this.$prompt("回复信件", // "请核对信息后",
{
distinguishCancelAndClose: true,
confirmButtonText: "完 成",
cancelButtonText: "取 消",
center: true,
inputType: "textarea",
inputPlaceholder: "处理内容",
beforeClose: async function (action, instance, done) {
if (action === 'confirm') {
const disposalSituation = instance.inputValue
if (!disposalSituation) {
this.$message({type: "info", message: "请输入处理内容"});
} else {
let resData = await consultMailboxInfoUpdate({id: row.id, disposalSituation, status: 1})
if (resData.data.code === 200) {
this.$message({type: "success", message: "操作成功"});
done()
_this.onLoad();
}
}
} else {
done()
}
}
}
)
},
look(row) { look(row) {
this.drawerTitle = '查看' this.drawerTitle = '查看'
this.lookData = JSON.parse(JSON.stringify(row)) this.lookData = JSON.parse(JSON.stringify(row))

View File

@@ -19,7 +19,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="日期类型:" v-if="query.type === 2"> <el-form-item label="日期类型:" v-if="query.type === 2">
<el-select v-model="query.timeType" @blur="delete query.stime"> <el-select v-model="query.timeType" @blur="delete query.time">
<el-option <el-option
v-for="(item, index) in times" v-for="(item, index) in times"
:key="index" :key="index"
@@ -30,10 +30,17 @@
</el-form-item> </el-form-item>
<el-form-item label="日期:" v-if="query.type === 2"> <el-form-item label="日期:" v-if="query.type === 2">
<el-date-picker <el-date-picker
v-model="query.stime" v-if="timeEleType[query.timeType] === 'monthrange'"
v-model="query.time"
:type="timeEleType[query.timeType]" :type="timeEleType[query.timeType]"
placeholder="选择日期"> placeholder="选择开始日期"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker> </el-date-picker>
<YearRange
v-else
v-model="query.time"
></YearRange>
</el-form-item> </el-form-item>
<div class="searchBtn"> <div class="searchBtn">
<el-button <el-button
@@ -67,6 +74,7 @@
import { import {
getAllCountWorkCount getAllCountWorkCount
} from "@/api/manage/mission"; } from "@/api/manage/mission";
import YearRange from "@/components/yearRange/index.vue";
import {missionState} from "@/common/dic"; import {missionState} from "@/common/dic";
import {dateFormat} from "@/util/date"; import {dateFormat} from "@/util/date";
@@ -82,11 +90,12 @@ let times = [
] ]
let timeEleType = { let timeEleType = {
3: 'year', 3: 'year',
1: 'month', 1: 'monthrange',
// 3: 'week', // 3: 'week',
} }
export default { export default {
name: 'supplyDemand', name: 'supplyDemand',
components: {YearRange},
data() { data() {
return { return {
types, types,
@@ -153,25 +162,12 @@ export default {
}, },
methods: { methods: {
searchTabs() { searchTabs() {
let date = null
switch (this.query.timeType) {
case 3:
date = new Date(this.query.stime);
date.setFullYear(date.getFullYear() + 1)
this.query.etime = date
break
case 1:
date = new Date(this.query.stime);
date.setMonth(date.getMonth() + 1)
this.query.etime = date
break
}
this.getDetail() this.getDetail()
}, },
searchReset() { searchReset() {
this.query = { this.query = {
type: 0, type: 0,
time: 1 timeType: 1
} }
this.getDetail() this.getDetail()
}, },
@@ -179,12 +175,16 @@ export default {
let params = { let params = {
...this.query, ...this.query,
} }
if (params.stime) { if (params.type === 2 && params.timeType) {
params.stime = dateFormat(params.stime, 'yyyy-MM-dd hh:mm:ss') if (params.time && params.time.length === 2) {
params.stime = dateFormat(typeof params.time[0] === 'string' ? new Date(params.time[0]) : params.time[0], 'yyyy-MM-dd hh:mm:ss')
params.etime = dateFormat(typeof params.time[1] === 'string' ? new Date(params.time[1]) : params.time[1], 'yyyy-MM-dd hh:mm:ss')
delete params.time
} else {
return this.$message({type: "info", message: "请选择日期"});
} }
if (params.etime) {
params.etime = dateFormat(params.etime, 'yyyy-MM-dd hh:mm:ss')
} }
let resData = await getAllCountWorkCount(params) let resData = await getAllCountWorkCount(params)
if (resData.data.code === 200) { if (resData.data.code === 200) {
console.log(resData.data) console.log(resData.data)

View File

@@ -13,6 +13,14 @@
@search-reset="searchReset" @search-reset="searchReset"
@on-load="onLoad" @on-load="onLoad"
> >
<template slot-scope="{ row }" slot="menu">
<el-button
type="text"
size="small"
@click.stop="updateRow(row)"
><i class="el-icon-share"></i>处理
</el-button>
</template>
</avue-crud> </avue-crud>
</basic-container> </basic-container>
</template> </template>
@@ -20,7 +28,7 @@
<script> <script>
import {dateFormat} from '@/util/date' import {dateFormat} from '@/util/date'
import Tinymce from "@/components/Tinymce"; import Tinymce from "@/components/Tinymce";
import {getList, getInfo} from '@/api/manage/superviseComplaintInfo' import {getList, getInfo, updateSuperviseComplaintInfo} from '@/api/manage/superviseComplaintInfo'
const initPages = { const initPages = {
pageSize: 10, pageSize: 10,
@@ -83,6 +91,11 @@ const columnList = [
dicData: classEnumStatus, dicData: classEnumStatus,
search: true, search: true,
}, },
{
label: "处置情况",
prop: "disposalSituation",
search: true,
},
{ {
label: "是否删除", label: "是否删除",
prop: "isDeleted", prop: "isDeleted",
@@ -166,6 +179,37 @@ export default {
}, },
methods: { methods: {
dateFormat, dateFormat,
updateRow(row) {
const _this = this
let h = this.$createElement;
this.$prompt("回复处理", // "请核对信息后",
{
distinguishCancelAndClose: true,
confirmButtonText: "完 成",
cancelButtonText: "取 消",
center: true,
inputType: "textarea",
inputPlaceholder: "处理内容",
beforeClose: async function (action, instance, done) {
if (action === 'confirm') {
const disposalSituation = instance.inputValue
if (!disposalSituation) {
this.$message({type: "info", message: "请输入处理内容"});
} else {
let resData = await updateSuperviseComplaintInfo({id: row.id, disposalSituation, status: 1})
if (resData.data.code === 200) {
this.$message({type: "success", message: "操作成功"});
done()
_this.onLoad();
}
}
} else {
done()
}
}
}
)
},
resetForm(formName) { resetForm(formName) {
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
this.viewDrawer = false this.viewDrawer = false

View File

@@ -17,7 +17,14 @@
@refresh-change="refreshChange" @refresh-change="refreshChange"
@search-reset="searchReset" @search-reset="searchReset"
> >
<template slot-scope="{ row }" slot="menu">
<el-button
type="text"
size="small"
@click.stop="updateRow(row)"
><i class="el-icon-share"></i>处理
</el-button>
</template>
</avue-crud> </avue-crud>
</el-drawer> </el-drawer>
</template> </template>
@@ -25,6 +32,7 @@
<script> <script>
import { import {
getQueryEmploymentSurveyUserBySurveyId, getQueryEmploymentSurveyUserBySurveyId,
disposeEmploymentSurveyManage
} from '@/api/manage/survey' } from '@/api/manage/survey'
const initPages = { const initPages = {
@@ -32,6 +40,18 @@ const initPages = {
currentPage: 1, currentPage: 1,
total: 100, total: 100,
} }
const classIsDeleted = {
0: '否',
1: '是',
}
const classStatus = {
0: '未处理',
1: '已处理',
2: '关闭'
}
const classEnumStatus = Object.keys(classStatus).map((item) => ({
label: classStatus[item], value: Number(item)
}))
export default { export default {
props: { props: {
visible: Boolean, visible: Boolean,
@@ -58,7 +78,6 @@ export default {
border: true, border: true,
columnBtn: false, columnBtn: false,
refreshBtn: false, refreshBtn: false,
menu: false,
tip: false, tip: false,
selection: true, selection: true,
searchMenuSpan: 6, searchMenuSpan: 6,
@@ -85,6 +104,17 @@ export default {
}, { }, {
label: '创建时间', label: '创建时间',
prop: 'createTime', prop: 'createTime',
}, {
label: "是否处理",
prop: "status",
type: "select",
dicData: classEnumStatus,
search: true,
},
{
label: "处置情况",
prop: "disposalSituation",
search: true,
}, },
] ]
} }
@@ -136,6 +166,37 @@ export default {
this.page.currentPage = 1 this.page.currentPage = 1
this.onLoad(); this.onLoad();
}, },
updateRow(row) {
const _this = this
let h = this.$createElement;
this.$prompt("回复处理", // "请核对信息后",
{
distinguishCancelAndClose: true,
confirmButtonText: "完 成",
cancelButtonText: "取 消",
center: true,
inputType: "textarea",
inputPlaceholder: "处理内容",
beforeClose: async function (action, instance, done) {
if (action === 'confirm') {
const disposalSituation = instance.inputValue
if (!disposalSituation) {
this.$message({type: "info", message: "请输入处理内容"});
} else {
let resData = await disposeEmploymentSurveyManage({id: row.id, disposalSituation, status: 1})
if (resData.data.code === 200) {
this.$message({type: "success", message: "操作成功"});
done()
_this.onLoad();
}
}
} else {
done()
}
}
}
)
},
onLoad() { onLoad() {
if (!this.rowData) return if (!this.rowData) return
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {

View File

@@ -23,11 +23,11 @@ module.exports = {
port: 1888, port: 1888,
proxy: { proxy: {
"/api": { "/api": {
target: 'http://localhost:8000', target: 'http://192.168.1.101:8200',
ws: true, ws: true,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/api': '/' '^/api/jobslink-api': '/'
} }
}, },
"/qq/map": { "/qq/map": {