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
})
}
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
})
}
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,
})
}
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"
@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>
</el-drawer>
</template>
@@ -25,6 +32,7 @@
<script>
import {
getQueryQuestionnaireSurveyUserBySurveyId,
disposeQuestionnaireSurveyInfo
} from '@/api/help/applicationsRecord/applicationsRecord'
const initPages = {
@@ -32,6 +40,18 @@ const initPages = {
currentPage: 1,
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 {
props: {
visible: Boolean,
@@ -58,7 +78,6 @@ export default {
border: true,
columnBtn: false,
refreshBtn: false,
menu: false,
tip: false,
selection: true,
searchMenuSpan: 6,
@@ -85,6 +104,17 @@ export default {
}, {
label: '创建时间',
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.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() {
if (!this.rowData) return
return new Promise(async (resolve, reject) => {

View File

@@ -16,6 +16,14 @@
<!-- <template slot="menu" slot-scope="{row}">-->
<!-- <el-button size="small" type="text" @click="seeDetail(row)">查看</el-button>-->
<!-- </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>
<!-- 新增编辑 -->
<!-- <el-drawer :title="drawerTitle" :visible.sync="viewDrawer" size="60%">-->
@@ -39,7 +47,7 @@
<script>
import {dateFormat} from '@/util/date'
import Tinymce from "@/components/Tinymce";
import {getList} from '@/api/manage/mailbox'
import {getList, consultMailboxInfoUpdate} from '@/api/manage/mailbox'
const classStatus = {
0: '未处理',
@@ -181,6 +189,37 @@ export default {
},
methods: {
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) {
this.drawerTitle = '查看'
this.lookData = JSON.parse(JSON.stringify(row))

View File

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

View File

@@ -13,6 +13,14 @@
@search-reset="searchReset"
@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>
</basic-container>
</template>
@@ -20,7 +28,7 @@
<script>
import {dateFormat} from '@/util/date'
import Tinymce from "@/components/Tinymce";
import {getList, getInfo} from '@/api/manage/superviseComplaintInfo'
import {getList, getInfo, updateSuperviseComplaintInfo} from '@/api/manage/superviseComplaintInfo'
const initPages = {
pageSize: 10,
@@ -83,6 +91,11 @@ const columnList = [
dicData: classEnumStatus,
search: true,
},
{
label: "处置情况",
prop: "disposalSituation",
search: true,
},
{
label: "是否删除",
prop: "isDeleted",
@@ -166,6 +179,37 @@ export default {
},
methods: {
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) {
this.$refs[formName].resetFields();
this.viewDrawer = false

View File

@@ -17,7 +17,14 @@
@refresh-change="refreshChange"
@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>
</el-drawer>
</template>
@@ -25,6 +32,7 @@
<script>
import {
getQueryEmploymentSurveyUserBySurveyId,
disposeEmploymentSurveyManage
} from '@/api/manage/survey'
const initPages = {
@@ -32,6 +40,18 @@ const initPages = {
currentPage: 1,
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 {
props: {
visible: Boolean,
@@ -58,7 +78,6 @@ export default {
border: true,
columnBtn: false,
refreshBtn: false,
menu: false,
tip: false,
selection: true,
searchMenuSpan: 6,
@@ -85,6 +104,17 @@ export default {
}, {
label: '创建时间',
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.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() {
if (!this.rowData) return
return new Promise(async (resolve, reject) => {

View File

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