You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
188 lines
5.5 KiB
188 lines
5.5 KiB
import {
|
|
agencygridtree, commonDemand,
|
|
dictlist, listServerOrg,
|
|
} from "../../utils/statisticsApi";
|
|
|
|
const App = getApp()
|
|
const config = require('../../utils/config')
|
|
Component({
|
|
properties: {
|
|
visible: {
|
|
type: Boolean,
|
|
value: false
|
|
},
|
|
detail: {
|
|
type: Object,
|
|
value: () => {
|
|
},
|
|
},
|
|
id: {
|
|
type: String,
|
|
value: ''
|
|
}
|
|
},
|
|
data: {
|
|
agencyId: '',
|
|
loading: true,
|
|
form: {
|
|
serviceType: "",
|
|
serverId: "",
|
|
noticeApproches: [],
|
|
serviceScopeList: []
|
|
},
|
|
serviceOptions: [],
|
|
serviceIndex: -1,
|
|
serviceOptiondIndex: -1,
|
|
serviceOptiondList: [],
|
|
visible2: false,
|
|
orgField: {text: 'agencyName', value: 'agencyId', children: 'subAgencyList'},
|
|
orgName: "",
|
|
orgOptions: [],
|
|
showService: false,
|
|
fieldValue: '',
|
|
cascaderValue: '',
|
|
showDate: false
|
|
},
|
|
ready: function () {
|
|
|
|
dictlist({
|
|
dictType: "user_demand_service_type",
|
|
}).then((res) => {
|
|
this.setData({
|
|
serviceOptions: res.data
|
|
})
|
|
})
|
|
if (!this.agencyId) {
|
|
this.setData({
|
|
agencyId: App.globalData.user.agencyId
|
|
})
|
|
}
|
|
this.getOrgTreeList()
|
|
},
|
|
|
|
methods: {
|
|
onShowService() {
|
|
this.setData({
|
|
showService: true,
|
|
});
|
|
console.log(111, this.data.showService)
|
|
},
|
|
|
|
onCloseService() {
|
|
this.setData({
|
|
showService: false,
|
|
});
|
|
},
|
|
|
|
onFinishService(e) {
|
|
const {selectedOptions, value} = e.detail;
|
|
const fieldValue = selectedOptions
|
|
.map((option) => option.agencyName || option.agencyName)
|
|
.join('/');
|
|
let serviceScopeList = selectedOptions[selectedOptions.length - 1]
|
|
this.setData({
|
|
fieldValue,
|
|
showService: false,
|
|
cascaderValue: value,
|
|
"form.serviceScopeList": [
|
|
{
|
|
objectId: serviceScopeList.agencyId,
|
|
objectName: serviceScopeList.agencyName,
|
|
objectType: serviceScopeList.level
|
|
}
|
|
]
|
|
})
|
|
},
|
|
getOrgTreeList() {
|
|
let params = {
|
|
agencyId: this.data.agencyId,
|
|
purpose: "query"
|
|
}
|
|
agencygridtree(params).then(res => {
|
|
let org = this.deleteChildren(res.data.subAgencyList)
|
|
this.setData({
|
|
orgOptions: org
|
|
})
|
|
})
|
|
},
|
|
noticeApprochesChange(e) {
|
|
this.setData({
|
|
"form.noticeApproches": e.detail
|
|
})
|
|
},
|
|
onShowDate() {
|
|
this.setData({showDate: true});
|
|
},
|
|
onCloseDate() {
|
|
this.setData({showDate: false});
|
|
},
|
|
formatDate(date) {
|
|
date = new Date(date);
|
|
return `${date.getFullYear()}-${date.getMonth() + 1 > 10 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1)}-${date.getDate() > 10 ? date.getDate() : '0' + date.getDate()}`;
|
|
},
|
|
onConfirmDate(event) {
|
|
const [start, end] = event.detail;
|
|
this.setData({
|
|
showDate: false,
|
|
date: `${this.formatDate(start)} ~ ${this.formatDate(end)}`,
|
|
"form.serviceTimeStart": `${this.formatDate(start)} 00:00:00`,
|
|
"form.serviceTimeEnd": `${this.formatDate(end)} 00:00:00`,
|
|
});
|
|
},
|
|
|
|
serviceOptiondListChange(e) {
|
|
this.setData({
|
|
serviceOptiondIndex: e.detail.value,
|
|
"form.serverOrgId": this.data.serviceOptiondList[e.detail.value].id
|
|
})
|
|
},
|
|
getServiceuserList(e) {
|
|
this.setData({
|
|
serviceIndex: e.detail.value,
|
|
"form.serverOrgType": this.data.serviceOptions[e.detail.value].value
|
|
})
|
|
let params = {
|
|
serviceTypeId: this.data.detail.categoryCode[1],//上级ID
|
|
serverOrgType: this.data.serviceOptions[e.detail.value].value,//选的类型
|
|
businessType: "resi_service",
|
|
};
|
|
|
|
// serviceOptiondIndex
|
|
listServerOrg(params).then((res) => {
|
|
this.setData({
|
|
serviceOptiondList: res.data || []
|
|
})
|
|
})
|
|
},
|
|
deleteChildren(node) {
|
|
node.forEach(item => {
|
|
if ('subAgencyList' in item && !item.subAgencyList) {
|
|
delete item.subAgencyList
|
|
} else if ('subAgencyList' in item && item.subAgencyList.length) {
|
|
this.deleteChildren(item.subAgencyList)
|
|
}
|
|
})
|
|
return node
|
|
},
|
|
|
|
close() {
|
|
this.triggerEvent('close')
|
|
},
|
|
sure() {
|
|
commonDemand({
|
|
...this.data.detail,
|
|
assignFlag: 1,
|
|
assignInfo: {
|
|
...this.data.form,
|
|
}
|
|
// demandRecId: this.data.detail.demandRecId
|
|
}).then(res => {
|
|
wx.showToast({
|
|
icon: 'success',
|
|
title: '操作成功'
|
|
})
|
|
this.close()
|
|
})
|
|
},
|
|
}
|
|
});
|
|
|