lion 3 years ago
parent d0d799b60a
commit 3d939ae6ba

@ -4,9 +4,13 @@ function customParamsSerializer(params) {
for (let key in params) {
if (params.hasOwnProperty(key)) {
if (Array.isArray(params[key])) {
params[key].forEach((item,index) => {
result += `${key}[${index}][key]=${item.key}&${key}[${index}][op]=${item.op}&${key}[${index}][value]=${item.value}&`;
});
params[key].forEach((item,index) => {
if(typeof item === 'object'){
result += `${key}[${index}][key]=${item.key}&${key}[${index}][op]=${item.op}&${key}[${index}][value]=${item.value}&`;
}else{
result += `${key}[${index}]=${item}&`;
}
});
} else {
result += `${key}=${params[key]}&`;
}

@ -2,7 +2,7 @@
<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="审核管理" 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="搜索" />
@ -105,14 +105,20 @@
align: 'center'
},
{
label: "身份证",
label: "所属街道",
width: 120,
prop: 'street',
align: 'center'
},
{
label: "身份证",
width: 180,
prop: 'idcard',
align: 'center'
},
{
label: "残疾证",
width: 120,
width: 180,
prop: 'number',
align: 'center'
},

@ -42,6 +42,7 @@ export default {
(() => {
let dom = [];
this.formInfo.filter(i => i.form_show).forEach((i, index) => {
console.log("i",i)
dom.push(
h(
"el-form-item",
@ -73,8 +74,9 @@ export default {
...addPropsMap.get(i.edit_input),
...this.extraProps(i),
placeholder: i.help,
value: this.form[i.field],
value: this.form[i.field]
},
// i.select_item && typeof i.select_item === 'object' && (toString.call(i.select_item) !== "[object Array]") ? this.findKey(i.select_item,this.form[i.field]) :
attrs: {
placeholder: i.help || `请填写${i.name}`,
},
@ -197,6 +199,10 @@ export default {
};
},
methods: {
findKey(obj, value, compare = (a, b) => a === b) {
return Object.keys(obj).find(k => compare(parseInt(obj[k]), parseInt(value)))
},
fileRemoveHandler(file, field) {
this.file[field] = this.file[field].filter((item) => item !== file);
this.file = Object.assign({}, this.file);
@ -408,6 +414,10 @@ export default {
{ required: true, message: `请填写${i.name}` },
];
}
if (i.edit_input === "text" && typeof i.select_item === 'object' && Object.prototype.toString.call(i.select_item) !== '[object Array]') {
i.edit_input = 'radio';
}
if (i.edit_input === "files") {
this.form[i.field] = [];
}

@ -276,7 +276,7 @@
></drawer>
<imports
:table-name="customForm.tableName"
:form-info="form"
:form-info="importForm"
ref="imports"
@refresh="$refs['xyTable'].getTableData()"
></imports>
@ -326,6 +326,8 @@ export default {
],
},
form: [],
importForm:[],
exportForm:[],
table: [],
customForm: {
customFormId: "",
@ -351,7 +353,7 @@ export default {
Object.assign(this.select, { page: 1, page_size: 9999 })
);
if (res.data) {
let headers = this.form.map((i) => {
let headers = this.exportForm.map((i) => {
return {
key: i.field,
title: i.name,
@ -444,6 +446,8 @@ export default {
}
});
this.form = fields.sort(this.handle('sort'));
console.log("this.form",this.form)
// if(res.fields && res.fields instanceof Array) {
// res.fields.forEach(i => {
// if (i.field) {
@ -471,11 +475,22 @@ export default {
// })
// }
// this.form = res.fields
this.importForm = this.form
?.filter((i) => i.form_show&&i.list_show)
.map((i)=>{
return i
})
this.exportForm = this.form
?.filter((i) => i.list_show)
.map((i)=>{
return i
})
this.table = this.form
?.filter((i) => i.list_show)
.map((i) => {
let linkOb = {};
if (i.select_item && typeof i.select_item === 'object' && (toString.call(i.select_item) !== "[object Array]")) {
if (i.edit_input==='radio'||i.edit_input==='checkbox' && i.select_item && typeof i.select_item === 'object' && Object.prototype.toString.call(i.select_item) !== '[object Array]') {
console.log("i",i.select_item)
let keys = Object.keys(i.select_item)
linkOb.customFn = row => {
let paramMap = new Map()
@ -531,13 +546,13 @@ export default {
{
prop: i.field,
label: i.name,
width: i.width,
width: i.width==0?120:i.width,
fixed: i.is_fixed,
align: i.width==240?'left':'center'
},
linkOb
);
});
console.log(this.table)
this.table.unshift({
type: "index",
width: 60,

@ -12,7 +12,7 @@
<template v-slot:street>
<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-select v-model="form.street" filterable style="width: 300px;" placeholder="请选择所属街道">
@ -277,7 +277,7 @@
<template v-slot:relationship>
<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-select v-model="form.relationship" filterable style="width: 300px;" placeholder="请选择关系">

@ -37,7 +37,7 @@
</xy-table>
<addRecord ref="addRecord" @refresh="getindex"></addRecord>
<addViewRecord ref="addViewRecord" @refresh="getindex"></addViewRecord>
<imports :table-name="customForm.tableName" :form-info="form" ref="imports" @refresh="getindex"></imports>
<imports :table-name="customForm.tableName" :form-info="importForm" ref="imports" @refresh="getindex"></imports>
</div>
</template>
@ -80,6 +80,8 @@
tableName: "records"
},
form: [],
importForm:[],
exportForm:[],
total: 0,
list: [],
table: [{
@ -109,7 +111,7 @@
},
{
label: "身份证号",
width: 120,
width: 180,
prop: 'idcard',
align: 'center'
},
@ -127,7 +129,7 @@
},
{
label: "残疾证号",
width: 120,
width: 180,
prop: 'number',
align: 'center'
},
@ -173,6 +175,7 @@
page_size: this.select.pageSize,
page: this.select.pageIndex,
table_name: this.customForm.tableName,
show_relation:['admin','department'],
filter: [{
"key": "name",
"op": "like",
@ -262,11 +265,21 @@
})
}
this.form = res.data
this.importForm = this.form
?.filter((i) => i.form_show&&i.list_show)
.map((i)=>{
return i
})
this.exportForm = this.form
?.filter((i) => i.list_show)
.map((i)=>{
return i
})
},
async exportExcel(sheetName) {
const res = await index(Object.assign(this.select,{ page: 1,page_size: 99999,table_name: this.customForm.tableName}))
if(res.data){
let headers = this.form.map(i => {
let headers = this.exportForm.map(i => {
return {
key: i.field,
title: i.name

@ -104,16 +104,25 @@
let names = `<div class="persons">${res.name}</div>`
let contents = `<p>姓名:${res.name}</p><p>性别:${res.sex}</p><p>残疾类别:${res.disabilitytype}</p><p>残疾等级:${res?.disabilitylevel}</p><p>现居住地:${res.reside}</p>`
let views = ''
let workflows = ''
if(res.idcard_viewrecords_idcard_relation.length>0){
for(var k of res.idcard_viewrecords_idcard_relation){
if(k.checkstatus=='通过'){
views+=`<p>${k.viewtime}/${k.viewscene}<p>`
views+=`<p>${k.viewtime?.substring(0,10)}/${k.viewscene}<p>`
}
}
}
if(res.idcard_workflows_idcard_relation.length>0){
for(var k of res.idcard_workflows_idcard_relation){
if(k.work_status=='通过'){
workflows+=`<p>${k.created_at?.substring(0,10)}/${k.guanlianbiaoming}<p>`
}
}
}
this.option['nodeList'][0]['content'] = names
this.option['nodeList'][1]['content'] = contents
this.option['nodeList'][2]['content'] = workflows
this.option['nodeList'][3]['content'] = views
}

@ -58,7 +58,7 @@
<template v-slot:street>
<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-select v-model="form.street" filterable style="width: 300px;" placeholder="请选择所属街道">
@ -102,6 +102,19 @@
</div>
</div>
</template>
<template v-slot:marry>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>婚姻状况
</div>
<div class="xy-table-item-content">
<el-select v-model="form.marry" filterable style="width: 300px;" placeholder="请选择婚姻状况">
<el-option v-for="item in lists.marryList" :key="item.value" :label="item.value" :value="item.value">
</el-option>
</el-select>
</div>
</div>
</template>
<template v-slot:birthday>
<div class="xy-table-item">
<div class="xy-table-item-label">
@ -144,19 +157,7 @@
</div>
</div>
</template>
<template v-slot:marry>
<div class="xy-table-item">
<div class="xy-table-item-label">
<span style="color: red;font-weight: 600;padding-right: 4px;"></span>婚姻状况
</div>
<div class="xy-table-item-content">
<el-select v-model="form.marry" filterable style="width: 300px;" placeholder="请选择婚姻状况">
<el-option v-for="item in lists.marryList" :key="item.value" :label="item.value" :value="item.value">
</el-option>
</el-select>
</div>
</div>
</template>
<template v-slot:education>
<div class="xy-table-item">
<div class="xy-table-item-label">
@ -193,10 +194,11 @@
<template v-slot:reside>
<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.reside" placeholder="请输入现居住地" clearable style="width: 300px;"></el-input>
<avue-input-map :params="mapparams" style="width: 300px;" placeholder="请选择地图" v-model="mapform"></avue-input-map>
<!-- <el-input v-model="form.reside" placeholder="请输入现居住地" clearable style="width: 300px;"></el-input> -->
</div>
</div>
</template>
@ -322,7 +324,7 @@
<template v-slot:relationship>
<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-select v-model="form.relationship" filterable style="width: 300px;" placeholder="请选择关系">
@ -381,7 +383,11 @@
import {
Message
} from 'element-ui'
import AvueMap from 'avue-plugin-map'
export default {
components: {
AvueMap
},
data() {
return {
isShow: false,
@ -389,6 +395,10 @@
person_id: '',
type: 'add',
tableName: 'viewrecords',
mapparams: {
zoom: 11,
},
mapform: [],
form: {
viewtext: '',
viewtime: "",
@ -456,6 +466,13 @@
this.person_id = ''
this.$refs['dialog'].reset()
}
},
mapform(newVal){
if(newVal){
this.form.longitude = newVal[0]
this.form.latitude = newVal[1]
this.form.reside = newVal[2]
}
}
},
methods: {
@ -497,6 +514,8 @@
household: res?.household,
address: res?.address,
reside: res?.reside,
longitude: res?.longitude,
latitude:res?.latitude,
disabilitytext: '',
number: res?.number,
disabilitytype: res?.disabilitytype,
@ -513,6 +532,7 @@
guardian_telephone: res?.guardian_telephone,
remark: res?.remark,
}
this.mapform = [res.longitude,res.latitude,res.reside]
},
async getViewDetail() {
const res = await show({
@ -540,6 +560,8 @@
household: res?.household,
address: res?.address,
reside: res?.reside,
longitude: res?.longitude,
latitude:res?.latitude,
disabilitytext: '',
number: res?.number,
disabilitytype: res?.disabilitytype,
@ -556,6 +578,7 @@
guardian_telephone: res?.guardian_telephone,
remark: res?.remark,
}
this.mapform = [res.longitude,res.latitude,res.reside]
},

@ -35,7 +35,7 @@
<check ref="check" @refresh="getindex"></check>
<addViewRecord ref="addViewRecord" @refresh="getindex"></addViewRecord>
<imports :table-name="customForm.tableName" :form-info="form" ref="imports" @refresh="getindex"></imports>
<imports :table-name="customForm.tableName" :form-info="importForm" ref="imports" @refresh="getindex"></imports>
</div>
</template>
@ -72,11 +72,14 @@
pageIndex: 1,
keyword: ""
},
importForm:[],
rukuType: '',
customForm: {
customFormId: 2,
tableName: "viewrecords"
},
importForm:[],
exportForm:[],
form: [],
total: 0,
list: [],
@ -91,7 +94,10 @@
width: 120,
prop: 'viewtime',
align: 'center',
fixed: 'left'
fixed: 'left',
formatter:(cell,data,value)=>{
return value?value.substring(0,10):''
}
},
{
label: "访视情景",
@ -131,7 +137,7 @@
},
{
label: "身份证号",
width: 120,
width: 180,
prop: 'idcard',
align: 'center'
},
@ -149,7 +155,7 @@
},
{
label: "残疾证号",
width: 120,
width: 180,
prop: 'number',
align: 'center'
},
@ -279,11 +285,22 @@
})
}
this.form = res.data
this.importForm = this.form
?.filter((i) => i.form_show&&i.list_show)
.map((i)=>{
return i
})
this.exportForm = this.form
?.filter((i) => i.list_show)
.map((i)=>{
return i
})
},
async exportExcel(sheetName) {
const res = await index(Object.assign(this.select,{ page: 1,page_size: 99999,table_name: this.customForm.tableName}))
if(res.data){
let headers = this.form.map(i => {
let headers = this.exportForm.map(i => {
return {
key: i.field,
title: i.name

@ -25,7 +25,7 @@ module.exports = {
* Detail: https://cli.vuejs.org/config/#publicpath
*/
publicPath: '/admin/',
outputDir: '/Users/mac/Documents/朗业/2023/j-金坛残联/jintan-canlian-web/public/admin',
outputDir: '/Users/mac/Documents/朗业/2023/j-金坛残联/jintancanlian-test/public/admin',
assetsDir: 'static',
css: {
loaderOptions: { // 向 CSS 相关的 loader 传递选项

Loading…
Cancel
Save