| | |
| | | |
| | | <script> |
| | | import { getList, remove, update, add, getGridWorkLog } from "@/api/grid/gridWorkLog" |
| | | import { getList as getHouseholdList, getDetatils as getHouseholdDetail } from "@/api/userHouse/list/houseHold" |
| | | import { mapGetters } from "vuex" |
| | | import website from '@/config/website' |
| | | |
| | | export default { |
| | | data () { |
| | | data() { |
| | | return { |
| | | form: {}, |
| | | query: {}, |
| | |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 3, |
| | | menuWidth: 350, |
| | | menuWidth: 280, |
| | | border: false, |
| | | //stripe:true, |
| | | index: true, |
| | |
| | | dialogClickModal: false, |
| | | column: [ |
| | | { |
| | | label: "走访人员姓名", |
| | | prop: "name", |
| | | label: "走访类型", |
| | | prop: "type", |
| | | span: 12, |
| | | labelWidth: 120, |
| | | searchLabelWidth: 120, |
| | | searchSpan: 4, |
| | | search: true, |
| | | type: "select", |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=haveType", |
| | | dataType: "number", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey", |
| | | }, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择走访类型", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "重点人员类型", |
| | | prop: "personType", |
| | | span: 12, |
| | | type: "tree", |
| | | dicUrl: "/api/blade-label/label/getLabelList?parentId=100", |
| | | props: { |
| | | label: "name", |
| | | value: "id" |
| | | }, |
| | | labelWidth: 120, |
| | | searchLabelWidth: 120, |
| | | searchSpan: 5, |
| | |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入走访人员姓名", |
| | | message: "请选择重点人员类型", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "人员姓名", |
| | | // prop: "name", |
| | | // span: 12, |
| | | // labelWidth: 120, |
| | | // searchSpan: 4, |
| | | // search: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入人员姓名", |
| | | // trigger: "blur", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | { |
| | | label: "走访人员电话", |
| | | prop: "phone", |
| | | label: "人员姓名", |
| | | prop: "householdId", |
| | | hide: true, |
| | | type: "table", |
| | | span: 12, |
| | | labelWidth: 120, |
| | | searchLabelWidth: 120, |
| | | searchSpan: 5, |
| | | searchSpan: 4, |
| | | search: true, |
| | | children: { |
| | | border: true, |
| | | height: 400, |
| | | searchShow: true, |
| | | searchMenuSpan: 6, |
| | | submitText: "确定", |
| | | column: [ |
| | | { |
| | | label: "姓名", |
| | | prop: "name", |
| | | search: true, |
| | | searchSpan: 4, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入姓名", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "联系方式", |
| | | prop: "phoneNumber", |
| | | search: true, |
| | | searchSpan: 4, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入联系方式", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "地址", |
| | | search: true, |
| | | searchSpan: 8, |
| | | prop: "currentAddress", |
| | | display: false |
| | | }, |
| | | ], |
| | | }, |
| | | page: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0 |
| | | }, |
| | | formatter: (row) => { |
| | | this.form.phoneNumber = row.phoneNumber |
| | | return row.name |
| | | }, |
| | | onLoad: ({ |
| | | page, |
| | | value, |
| | | data |
| | | }, callback) => { |
| | | //首次加载去查询对应的值 |
| | | if (value) { |
| | | getHouseholdDetail(value).then(res => { |
| | | var resData = res.data.data |
| | | // 查询对应行数据 |
| | | callback(resData) |
| | | return |
| | | }) |
| | | } |
| | | if (page) { |
| | | this.loading = true |
| | | var params = { |
| | | ...data, |
| | | townStreetCode: "361102005" |
| | | } |
| | | getHouseholdList(page.currentPage, page.pageSize, Object.assign(params)).then(res => { |
| | | const resData = res.data.data |
| | | var total = resData.total |
| | | var data = resData.records |
| | | this.loading = false |
| | | this.selectionClear() |
| | | //分页查询信息 |
| | | callback({ |
| | | total: total, |
| | | data: data |
| | | }) |
| | | }) |
| | | } |
| | | }, |
| | | props: { |
| | | label: 'name', |
| | | value: 'id' |
| | | } |
| | | }, |
| | | { |
| | | label: "联系方式", |
| | | prop: "phone", |
| | | span: 12, |
| | | disabled: true, |
| | | labelWidth: 120, |
| | | searchSpan: 4, |
| | | search: true, |
| | | }, |
| | | { |
| | | label: "走访地址", |
| | | prop: "address", |
| | | span: 24, |
| | | labelWidth: 120, |
| | | disabled: true, |
| | | }, |
| | | { |
| | | label: "走访时间", |
| | | prop: "workTime", |
| | | width: 160, |
| | | labelWidth: 120, |
| | | searchLabelWidth: 120, |
| | | type: "date", |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入走访时间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "内容", |
| | |
| | | span: 24, |
| | | }, |
| | | { |
| | | label: "图片", |
| | | label: "走访取证", |
| | | prop: "url", |
| | | type: "upload", |
| | | labelWidth: 120, |
| | |
| | | url: "link", |
| | | }, |
| | | span: 24, |
| | | }, |
| | | { |
| | | label: "走访时间", |
| | | prop: "workTime", |
| | | width: 160, |
| | | type: "date", |
| | | format: "yyyy-MM-dd HH:mm:ss", |
| | | valueFormat: "yyyy-MM-dd HH:mm:ss", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入走访时间", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | } |
| | | ], |
| | | }, |
| | |
| | | } |
| | | }, |
| | | watch: { |
| | | "form.householdId": { |
| | | // form是表单或者表格绑定的数据集,v-model='form' |
| | | handler(val) { |
| | | this.$nextTick(()=>{ |
| | | console.log(this.$refs,66666) |
| | | getHouseholdDetail(val).then(res => { |
| | | const data = res.data.data; |
| | | this.form.phoneNumber = data.phoneNumber |
| | | this.form.currentAddress = data.currentAddress |
| | | }) |
| | | }) |
| | | |
| | | }, |
| | | immediate: true, |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["permission", "userInfo"]), |
| | | permissionList () { |
| | | permissionList() { |
| | | return { |
| | | addBtn: this.vaildData(this.permission.gridWorkLog_add, true), |
| | | viewBtn: this.vaildData(this.permission.gridWorkLog_view, true), |
| | |
| | | editBtn: this.vaildData(this.permission.gridWorkLog_edit, true), |
| | | } |
| | | }, |
| | | ids () { |
| | | ids() { |
| | | let ids = [] |
| | | this.selectionList.forEach((ele) => { |
| | | ids.push(ele.id) |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | rowSave (row, done, loading) { |
| | | rowSave(row, done, loading) { |
| | | if (row.url.length > 0) { |
| | | var urls = [] |
| | | var split = row.url.split(",") |
| | |
| | | } |
| | | ) |
| | | }, |
| | | rowUpdate (row, index, done, loading) { |
| | | rowUpdate(row, index, done, loading) { |
| | | if (row.url.length > 0) { |
| | | var urls = [] |
| | | var split = row.url.split(",") |
| | |
| | | } |
| | | ) |
| | | }, |
| | | rowDel (row) { |
| | | rowDel(row) { |
| | | this.$confirm("确定将选择数据删除?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | |
| | | }) |
| | | }) |
| | | }, |
| | | searchReset () { |
| | | searchReset() { |
| | | this.query = {} |
| | | this.onLoad(this.page) |
| | | }, |
| | | searchChange (params, done) { |
| | | searchChange(params, done) { |
| | | this.query = params |
| | | this.page.currentPage = 1 |
| | | this.onLoad(this.page, params) |
| | | done() |
| | | }, |
| | | selectionChange (list) { |
| | | selectionChange(list) { |
| | | this.selectionList = list |
| | | }, |
| | | selectionClear () { |
| | | selectionClear() { |
| | | this.selectionList = [] |
| | | this.$refs.crud.toggleSelection() |
| | | }, |
| | | handleDelete () { |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | | this.$message.warning("请选择至少一条数据") |
| | | return |
| | |
| | | this.$refs.crud.toggleSelection() |
| | | }) |
| | | }, |
| | | beforeOpen (done, type) { |
| | | beforeOpen(done, type) { |
| | | if (["edit", "view"].includes(type)) { |
| | | getGridWorkLog(this.form.id).then((res) => { |
| | | this.form = res.data.data |
| | |
| | | // con |
| | | done() |
| | | }, |
| | | currentChange (currentPage) { |
| | | currentChange(currentPage) { |
| | | this.page.currentPage = currentPage |
| | | }, |
| | | sizeChange (pageSize) { |
| | | sizeChange(pageSize) { |
| | | this.page.pageSize = pageSize |
| | | }, |
| | | refreshChange () { |
| | | refreshChange() { |
| | | this.onLoad(this.page, this.query) |
| | | }, |
| | | onLoad (page, params = {}) { |
| | | onLoad(page, params = {}) { |
| | | const { dateTime } = this.query |
| | | let values = { |
| | | ...params, |