Commit 7c10ec2b authored by 姬鋆屾's avatar 姬鋆屾

推更新

parent 0edd87c4
......@@ -4,171 +4,173 @@
<div class="search-form-wapper">
<el-form :inline="true" :model="form" ref="search-form" size="small">
<el-form-item
v-for="(item, i) in search"
:key="i"
v-bind:class="{ search_new_line: item.newLine }"
v-for="(item, i) in search"
:key="i"
v-bind:class="{ search_new_line: item.newLine }"
>
<el-input
v-model="form[item.name]"
v-if="item.type === 'text'"
:placeholder="
v-model="form[item.name]"
v-if="item.type === 'text'"
:placeholder="
item.placeholder ? item.placeholder : '请输入' + item.label
"
></el-input>
<el-checkbox-group
v-model="form[item.name]"
v-if="item.type === 'checkbox'"
v-model="form[item.name]"
v-if="item.type === 'checkbox'"
>
<el-checkbox
v-for="(label, value) in table.dict[item.name]"
:label="value"
:key="value"
>{{ label }}</el-checkbox
v-for="(label, value) in table.dict[item.name]"
:label="value"
:key="value"
>{{ label }}</el-checkbox
>
</el-checkbox-group>
<el-select
v-model="form[item.name]"
:filterable="item.filterable"
:multiple="item.multiple"
clearable="true"
@change="item.change"
@clear="item.clear"
v-if="item.type === 'select'"
v-model="form[item.name]"
:filterable="item.filterable"
:multiple="item.multiple"
clearable="true"
@change="item.change"
@clear="item.clear"
v-if="item.type === 'select'"
:placeholder="'请选择' + item.label"
>
<el-option
label="全部"
value=""
v-if="!item.multiple && !item.notShowAll"
label="全部"
value=""
v-if="!item.multiple && !item.notShowAll"
></el-option>
<el-option
:label="label"
:value="value"
v-for="(label, value) in table.dict[item.name]"
:key="value"
:label="label"
:value="value"
v-for="(label, value) in table.dict[item.name]"
:key="value"
></el-option>
</el-select>
<el-select
v-model="form[item.name]"
clearable
:multiple="item.multiple"
filterable
remote
v-if="item.type === 'remoteSelect'"
placeholder="请输入关键词"
searchType="item.searchType"
:remote-method="
v-model="form[item.name]"
clearable
:multiple="item.multiple"
filterable
remote
v-if="item.type === 'remoteSelect'"
placeholder="请输入关键词"
searchType="item.searchType"
:remote-method="
(query) => {
remoteMethod(query, item.searchType);
}
"
>
<el-option
:label="label"
:value="value"
v-for="(label, value) in remoteOptions[item.searchType]"
:key="value"
:label="label"
:value="value"
v-for="(label, value) in remoteOptions[item.searchType]"
:key="value"
></el-option>
</el-select>
<el-cascader
placeholder="选择区域"
v-if="item.type === 'cascader'"
v-model="selectedTreeID"
:filterable="item.filterable"
clearable="true"
change-on-select
@change="treeSelecteds"
:options="treeDatas"
placeholder="选择区域"
v-if="item.type === 'cascader'"
v-model="selectedTreeID"
:filterable="item.filterable"
clearable="true"
change-on-select
@change="treeSelecteds"
:options="treeDatas"
></el-cascader>
<el-select
v-model="form[item.name]"
:multiple="item.multiple"
:remote-method="userRemoteMethod"
:loading="loading"
@focus="userRemoteMethod"
:reserve-keyword="item.reserve - keyword"
:clearable="item.clearable"
:placeholder="item.placeholder ? item.placeholder : '请输入用户'"
filterable
remote
v-if="item.type === 'userLoginNameRemoteSelect'"
v-model="form[item.name]"
:multiple="item.multiple"
:remote-method="userRemoteMethod"
:loading="loading"
@focus="userRemoteMethod"
:reserve-keyword="item.reserve - keyword"
:clearable="item.clearable"
:placeholder="item.placeholder ? item.placeholder : '请输入用户'"
filterable
remote
v-if="item.type === 'userLoginNameRemoteSelect'"
>
<el-option
v-for="i in userData"
:key="i.loginName"
:label="i.realName"
:value="i.loginName"
v-for="i in userData"
:key="i.loginName"
:label="i.realName"
:value="i.loginName"
></el-option>
</el-select>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'date' && !item.valueFormat"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期"
v-model="form[item.name]"
v-if="item.type === 'date' && !item.valueFormat"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'date' && item.valueFormat"
type="date"
:value-format="item.valueFormat"
placeholder="选择日期"
v-model="form[item.name]"
v-if="item.type === 'date' && item.valueFormat"
type="date"
:value-format="item.valueFormat"
placeholder="选择日期"
>
</el-date-picker>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'month' && !item.valueFormat"
type="month"
value-format="yyyy-MM"
placeholder="选择月份"
v-model="form[item.name]"
v-if="item.type === 'month' && !item.valueFormat"
type="month"
value-format="yyyy-MM"
placeholder="选择月份"
>
</el-date-picker>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'month' && item.valueFormat"
type="month"
:value-format="item.valueFormat"
placeholder="选择月份"
v-model="form[item.name]"
v-if="item.type === 'month' && item.valueFormat"
type="month"
:value-format="item.valueFormat"
placeholder="选择月份"
>
</el-date-picker>
<el-date-picker
v-model="form[item.name]"
v-if="item.type === 'datetime'"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="item.label"
v-model="form[item.name]"
v-if="item.type === 'datetime'"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="item.label"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary" class="addclass"
icon="el-icon-search"
@click="onSubmit"
title="查询"
>查询</el-button
type="primary"
class="addclass"
icon="el-icon-search"
@click="onSubmit"
title="查询"
>查询</el-button
>
<el-button
icon="el-icon-download"
@click="downloadFile"
:loading="isDownload"
v-if="downloadUrl"
>下载</el-button
icon="el-icon-download"
@click="downloadFile"
:loading="isDownload"
v-if="downloadUrl"
>下载</el-button
>
<el-button icon="el-icon-refresh-left" @click="cleanForm" title="清空"
>清空</el-button
>清空</el-button
>
</el-form-item>
</el-form>
......@@ -193,12 +195,12 @@ export default {
},
watch: {
$route(route) {
console.log(222)
console.log(222);
this.initForm(route.query);
},
},
async created() {
console.log("1111")
console.log("1111");
this.initForm(this.$route.query);
},
methods: {
......@@ -220,8 +222,8 @@ export default {
});
this.remoteOptions[searchType] = Object.assign({}, tempOptions);
sessionStorage.setItem(
searchType + "OptionsDict",
JSON.stringify(this.remoteOptions[searchType])
searchType + "OptionsDict",
JSON.stringify(this.remoteOptions[searchType])
);
});
} catch (error) {}
......@@ -276,8 +278,8 @@ export default {
onSubmit() {
let { path, query } = this.$route;
let data = this.decode(this.form);
console.log("data:",data)
console.log("form",this.form)
console.log("data:", data);
console.log("form", this.form);
//delete this.form["deviceStatusList"]
this.$router.push({
path: path,
......@@ -294,10 +296,10 @@ export default {
let key = item.replace(/^query\./, "");
this.search.forEach((obj) => {
if (
obj.name === key &&
obj.fuzzy === true &&
val &&
val.length > 0
obj.name === key &&
obj.fuzzy === true &&
val &&
val.length > 0
) {
//支持模糊查询,首尾去掉百分号
val = val.substring(1, val.length - 1);
......@@ -307,9 +309,9 @@ export default {
let isAreaTemp = ["areaId"];
let isAreaParam = isAreaTemp.includes(key);
newData[key] =
type(val) === "Array"
? val.map(isAreaParam ? Number : String)
: val;
type(val) === "Array"
? val.map(isAreaParam ? Number : String)
: val;
}
});
return newData;
......@@ -322,10 +324,10 @@ export default {
let val = data[item];
this.search.forEach((obj) => {
if (
obj.name === item &&
obj.fuzzy === true &&
val &&
val.length > 0
obj.name === item &&
obj.fuzzy === true &&
val &&
val.length > 0
) {
//支持模糊查询,收尾增加百分号
val = val.trim();
......@@ -342,17 +344,16 @@ export default {
return newData;
},
decodetwo(data) {
let newData = { page: 1 };
Object.keys(data).forEach((item) => {
let val = data[item];
this.search.forEach((obj) => {
if (
obj.name === item &&
obj.fuzzy === true &&
val &&
val.length > 0
obj.name === item &&
obj.fuzzy === true &&
val &&
val.length > 0
) {
//支持模糊查询,收尾增加百分号
val = val.trim();
......@@ -428,4 +429,3 @@ export default {
}
}
</style>
// 表单通用的保存和取消按钮,可以通过默认slot方式替换
<template>
<el-form-item>
<slot name="prepend"></slot>
<slot>
<el-button v-if="!noSaveBtn" type="primary" @click='$emit("submit")' size='small' icon='el-icon-circle-check-outline'>保存</el-button>
<el-button v-if="!noCancelBtn" @click="$router.go(-1)" size='small' icon='el-icon-circle-close-outline'>取消</el-button>
</slot>
<slot name="append"></slot>
</el-form-item>
<el-form-item>
<slot name="prepend"></slot>
<slot>
<el-button
v-if="!noSaveBtn"
type="primary"
@click="$emit('submit')"
size="small"
icon="el-icon-circle-check-outline"
>保存</el-button
>
<el-button
v-if="!noCancelBtn"
@click="$router.go(-1)"
size="small"
icon="el-icon-circle-close-outline"
>取消</el-button
>
</slot>
<slot name="append"></slot>
</el-form-item>
</template>
<script>
export default {
props: {
noSaveBtn: {
type: Boolean,
default: false,
},
noCancelBtn: {
type: Boolean,
default: false,
},
props: {
noSaveBtn: {
type: Boolean,
default: false,
},
methods: {},
data() {
return {};
noCancelBtn: {
type: Boolean,
default: false,
},
},
methods: {},
data() {
return {};
},
};
</script>
......@@ -123,7 +123,7 @@ export default {
// 是否显示弹出层
open: false,
direction: "rtl",
toString: ["leaveType","deptId","approverId"],
toString: ["leaveType", "deptId", "approverId"],
toDate: ["startTime", "endTime"],
// 表单校验
rules: {
......@@ -223,6 +223,7 @@ export default {
if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) {
this.form.duration = getMinu(this.form.startTime, this.form.endTime);
} else {
this.$message.closeAll();
this.$message.error("结束日期需大于请假日期");
}
}
......
......@@ -74,7 +74,7 @@ export default {
created() {},
methods: {
handleCellClick(row, column, event, cell) {
if ((column.label == "图片凭证")) {
if (column.label == "图片凭证") {
const suffix = `(bmp|jpg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp|jpeg)`;
const regular = new RegExp(`.*\.${suffix}`);
regular.test(row.filePaths);
......@@ -172,13 +172,13 @@ export default {
{
name: "checkStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
{
......@@ -249,6 +249,8 @@ export default {
{ label: "说明", prop: "checkDesc" },
{ label: "巡查人员", prop: "createUserId", formatter: this.formatter },
{ label: "核查人员", prop: "checkPerson" },
{
......
......@@ -74,7 +74,7 @@ export default {
created() {},
methods: {
handleCellClick(row, column, event, cell) {
if ((column.label == "图片凭证")) {
if (column.label == "图片凭证") {
const suffix = `(bmp|jpg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp|jpeg)`;
const regular = new RegExp(`.*\.${suffix}`);
regular.test(row.filePaths);
......@@ -173,19 +173,19 @@ export default {
{
name: "checkStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
{
name: "complainSource",
type: "select",
label: "全部来源",
label: "投诉来源",
fuzzy: false,
},
{
......@@ -255,6 +255,11 @@ export default {
{ label: "核查结果", prop: "checkResult", formatter: this.formatter },
{ label: "说明", prop: "checkDesc" },
{
label: "巡查人员",
prop: "createUserId",
formatter: this.formatter,
},
{ label: "核查人员", prop: "checkPerson" },
......
......@@ -74,7 +74,7 @@ export default {
created() {},
methods: {
handleCellClick(row, column, event, cell) {
if ((column.label == "图片凭证")) {
if (column.label == "图片凭证") {
const suffix = `(bmp|jpg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp|jpeg)`;
const regular = new RegExp(`.*\.${suffix}`);
regular.test(row.filePaths);
......@@ -172,13 +172,13 @@ export default {
{
name: "status",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
......@@ -229,7 +229,7 @@ export default {
formatter: this.formatterDate,
},
{
{
label: "图片凭证",
prop: "filePaths",
width: 150,
......@@ -256,6 +256,12 @@ export default {
{ label: "说明", prop: "checkDesc" },
{
label: "巡查人员",
prop: "createUserId",
formatter: this.formatter,
},
{ label: "核查人员", prop: "checkPerson" },
{
......
......@@ -74,7 +74,7 @@ export default {
created() {},
methods: {
handleCellClick(row, column, event, cell) {
if ((column.label == "图片凭证")) {
if (column.label == "图片凭证") {
const suffix = `(bmp|jpg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp|jpeg)`;
const regular = new RegExp(`.*\.${suffix}`);
regular.test(row.filePaths);
......@@ -173,13 +173,13 @@ export default {
{
name: "checkStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
{
......@@ -244,6 +244,12 @@ export default {
{ label: "说明", prop: "checkDesc" },
{
label: "巡查人员",
prop: "createUserId",
formatter: this.formatter,
},
{ label: "核查人员", prop: "checkPerson" },
{
......
......@@ -74,7 +74,7 @@ export default {
created() {},
methods: {
handleCellClick(row, column, event, cell) {
if ((column.label == "图片凭证")) {
if (column.label == "图片凭证") {
const suffix = `(bmp|jpg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp|jpeg)`;
const regular = new RegExp(`.*\.${suffix}`);
regular.test(row.filePaths);
......@@ -172,13 +172,13 @@ export default {
{
name: "checkStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
{
......@@ -225,7 +225,7 @@ export default {
// },
// { label: "绩效规则id", prop: "ruleId", formatter: this.formatter },
{
{
label: "图片凭证",
prop: "filePaths",
width: 150,
......@@ -252,6 +252,12 @@ export default {
{ label: "说明", prop: "checkDesc" },
{
label: "巡查人员",
prop: "createUserId",
formatter: this.formatter,
},
{ label: "核查人员", prop: "checkPerson" },
{
......
......@@ -74,7 +74,7 @@ export default {
created() {},
methods: {
handleCellClick(row, column, event, cell) {
if ((column.label == "图片凭证")) {
if (column.label == "图片凭证") {
const suffix = `(bmp|jpg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp|jpeg)`;
const regular = new RegExp(`.*\.${suffix}`);
regular.test(row.filePaths);
......@@ -172,19 +172,19 @@ export default {
{
name: "checkStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
{
name: "reviewSource",
type: "select",
label: "全部来源",
label: "差评来源",
fuzzy: false,
},
{
......@@ -253,6 +253,12 @@ export default {
{ label: "说明", prop: "checkDesc" },
{
label: "巡查人员",
prop: "createUserId",
formatter: this.formatter,
},
{ label: "核查人员", prop: "checkPerson" },
{
......
......@@ -122,14 +122,40 @@
<span v-if="!form.performAttendAppealFilesList">
--
</span>
<div class="img_content" v-else>
<div
class="imgBox"
v-for="val in form.performAttendAppealFilesList"
:key="val.id"
@click="hanldeDownloadFile(val)"
>
<img src="../../../../assets/images/fileImg.png" alt="" />
<el-image
v-if="
val.filePath.includes(
'.png' || '.jpg' || '.jpeg' || 'bmp'
)
"
style="width: 100px; height: 100px"
:src="
`${
val.filePath.indexOf('http') == -1
? baseUrl + val.filePath
: val.filePath
}`
"
:preview-src-list="
val.filePath.indexOf('http') == -1
? [baseUrl + val.filePath]
: [val.filePath]
"
>
</el-image>
<img
src="../../../../assets/images/fileImg.png"
v-else
alt=""
@click="hanldeDownloadFile(val)"
/>
{{ val.fileName }}
</div>
</div>
......@@ -502,6 +528,7 @@ export default {
"checkTime",
"appealTime",
],
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
// 表单校验
rules: {
staffName: [
......
......@@ -180,13 +180,13 @@ export default {
{
name: "processStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
{
......
......@@ -180,19 +180,19 @@ export default {
{
name: "processStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
{
name: "complainSource",
type: "select",
label: "全部来源",
label: "投诉来源",
fuzzy: false,
},
{
......
......@@ -180,13 +180,13 @@ export default {
{
name: "processStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
......
......@@ -180,13 +180,13 @@ export default {
{
name: "processStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
{
......
......@@ -180,13 +180,13 @@ export default {
{
name: "processStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
{
......
......@@ -82,7 +82,7 @@ export default {
created() {},
methods: {
handleCellClick(row, column, event, cell) {
if ((column.label == "图片凭证")) {
if (column.label == "图片凭证") {
const suffix = `(bmp|jpg|png|tif|gif|pcx|tga|exif|fpx|svg|psd|cdr|pcd|dxf|ufo|eps|ai|raw|WMF|webp|jpeg)`;
const regular = new RegExp(`.*\.${suffix}`);
regular.test(row.filePaths);
......@@ -180,19 +180,19 @@ export default {
{
name: "processStatus",
type: "select",
label: "全部状态",
label: "处理状态",
fuzzy: false,
},
{
name: "deptId",
type: "select",
label: "全部部门",
label: "所属部门",
fuzzy: false,
},
{
name: "reviewSource",
type: "select",
label: "全部来源",
label: "差评来源",
fuzzy: false,
},
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment